CreatePageFromTemplate

  • O conteúdo desta página não pôde ser carregado.
  • O conteúdo desta página não pôde ser carregado.
Conteúdo
sem cabeçalhos
/***

    CreatePageFromTemplate(templateName, buttonName)

***/

dekiapi();
jquery.ui('smoothness');

var templatename = ($templatename ?? $0);
var buttonname = ($buttonname ?? $1);
var buttontext = "Enter " .. string.tolower(buttonname) .. " name";

<div id="newpagediv">
    <table id="newpagetable" style="width:100%;" class="table">
        <tr>
            <th id="nptth">
                "Create " .. buttonname;
            </th>
        </tr>
        <tr>
            <td>
                <div id="waitdiv">
                    template("MindTouch/Controls/WaitingIcon32x32");
                    <br />
                    "Please wait...";
                </div>
                <div id="creatediv">
                    template("MindTouch/Controls/TextBox", { 
                        id: "pname", 
                        text: buttontext, 
                        class: ""
                    });
                    <input type="hidden" value=(page.path) id="ppath"/>
                    <input type="hidden" value=('Template:' .. templatename) id="tp"/>
                    <input type="hidden" value=(site.uri) id="siteuri"/>
                    <br />
                    <br />
                    <input type="button" value=(buttonname) ctor="
                        var working = false;
                        when($this.click) {
                            if (working == false) {
                                working = true;
                                #creatediv.hide();
                                #waitdiv.show();
                                @newpage({
                                    siteuri: #siteuri.val(), 
                                    pname: #pname.val(), 
                                    ppath: #ppath.val(), 
                                    tpath: #tp.val() 
                                });
                            };
                        }
                        
                        when(@newpage) {
                            var page_path = @newpage.ppath + '/' + @newpage.pname;
                            var page_api = MindTouch.Deki.GetPageApi(Deki.Env.SiteApi, page_path);
                            MindTouch.Web.Get(page_api, null, function(xhr) {
                                if(xhr.status == '200') {
                                    alert('That page already exists. Please choose a different name.');
                                    #creatediv.show();
                                    #waitdiv.hide();
                                    #pname.val('Enter ' + {{ string.tolower(buttonname) }} + ' name');
                                    working = false;
                                } else if(xhr.status == '404') { 
                                    var template_api = MindTouch.Deki.GetPageApi(Deki.Env.SiteApi, @newpage.tpath);
                                    MindTouch.Deki.CreatePageFromTemplate(page_api, template_api, function() {
                                        @loadnewpage({ 
                                            siteuri: @newpage.siteuri, 
                                            ppath: @newpage.ppath, 
                                            pname: @newpage.pname
                                        }); 
                                    }, function() {
                                        alert('Page create failed. Please try again.');
                                        working = false;
                                    });
                                }
                            });
                        };
            
                        when(@loadnewpage) {
                            var newpath = (@loadnewpage.siteuri + @loadnewpage.ppath + '/' + @loadnewpage.pname);
                            window.location = newpath;
                        };
                    " /> 
                </div>
            </td>
        </tr>
    </table>
</div>


<div><style type="text/css">"
#pname {
font-style: italic; 
color: #778899;
}

#newpagetable {
    width: 100% !important;
}

#newpagetable #nptth {
    text-align: center !important;
}

#waitdiv {
    display: none;
    text-align: center;
}

#creatediv {
    text-align: center;
}

"</style></div>
Marcadores (Editar marcadores)
  • No tags
Estatísticas da página
1127 view(s), 1 edit(s) and 4701 character(s)

Comentários

Faça o login para escrever um comentário.

Anexar arquivo

Anexos