+ var trPageLang
+ = $.TR({},
+ $.TH({}, "Page language"),
+ $.TD({}, selPageLang));
+
+ var trOtherLangs = (function () {
+ var options = [];
+
+ $.each(Rakka.getSystemConfig().languages, function (tag, name) {
+ options.push(
+ $.OPTION({value: tag}, name));
+ });
+
+ var selLang = $.SELECT({}, options);
+ var fldLink = $.INPUT({type: "text", className: "smallField"});
+
+ $(selLang).change(function () {
+ var pageName = otherLangs[$(selLang).val()];
+ $(fldLink).val(
+ pageName == null ? "" : pageName
+ );
+ }).trigger("change");
+
+ var onLinkChanged = function () {
+ isDirty = true;
+
+ var lang = $(selLang).val();
+ var pageName = $(this).val();
+
+ if (pageName == "") {
+ delete otherLangs[lang];
+ }
+ else {
+ otherLangs[lang] = pageName;
+ }
+ };
+ $(fldLink).change(onLinkChanged).keyup(onLinkChanged);
+
+ return $.TR({},
+ $.TH({}, "Language links"),
+ $.TD({}, selLang, fldLink));
+ })();
+
+ var fldSummary
+ = $.TEXTAREA({className: "summary"}, summary);
+
+ $(fldSummary).change(makeDirty);
+
+ var trSummary
+ = $.TR({},
+ $.TH({}, "Summary"),
+ $.TD({}, fldSummary));
+
+ var fldRakkaSource
+ = $.TEXTAREA({className: "source"},
+ (defaultType == "rakka" && source != null ? source : ""));
+
+ $(fldRakkaSource).change(makeDirty);
+
+ var fldCSSSource
+ = $.TEXTAREA({className: "source"},
+ (defaultType == "css" && source != null ? source : ""));
+
+ $(fldCSSSource).change(makeDirty);
+
+ var fldJSSource
+ = $.TEXTAREA({className: "source"},
+ (defaultType == "js" && source != null ? source : ""));
+
+ $(fldJSSource).change(makeDirty);
+
+ var uploadFileBin
+ = (defaultType == "binary" && source != null ? source : "");
+ var fldUploadFile
+ = $.TEXTAREA({className: "hexDump", disabled: true}, Rakka.hexDump(uploadFileBin, 128));
+ var btnSelectFile
+ = $.INPUT({type: "button", value: "Select file..."});
+
+ $(btnSelectFile).click(function () {
+ var path = Rakka.selectFile("Select a binary file to upload", "open");
+ if (path != null) {
+ uploadFileBin = Rakka.loadLocalBinaryFile(path);
+ fldUploadFile.value = Rakka.hexDump(uploadFileBin, 128);
+ makeDirty();
+ }
+ });
+
+ var fldRedirect
+ = $.INPUT({type: "text", value: (defaultType == "redirect" ? source : "")});
+
+ $(fldRedirect).change(makeDirty);
+
+ var trContent
+ = $.TR({},
+ $.TH({}),
+ $.TD({})
+ );
+
+ var btnPreview
+ = $.INPUT({type: "button", value: "Preview page"});
+
+ $(btnPreview).click(function () {
+ if (btnTypeRakka.checked) {
+ previewRakkaPage(
+ fldPageName.value, fldRakkaSource.value);
+ }
+ else if (btnTypeBinary.checked) {
+ if (uploadFileBin != "") {
+ previewBinaryPage(
+ fldPageName.value, uploadFileBin);
+ }
+ }
+ });
+
+ var btnSubmit
+ = $.INPUT({type: "button", value: "Submit page"});
+
+ $(btnSubmit).click(function () {
+ if (btnTypeRakka.checked) {
+ submitTextPage(
+ pageName,
+ oldRevision,
+ fldPageName.value,
+ chkIsLocked.checked,
+ "text/x-rakka",
+ $(selPageLang).val(),
+ otherLangs,
+ fldSummary.value,
+ fldRakkaSource.value);
+ }
+ else if (btnTypeCSS.checked) {
+ submitTextPage(
+ pageName,
+ oldRevision,
+ fldPageName.value,
+ chkIsLocked.checked,
+ "text/css",
+ $(selPageLang).val(),
+ otherLangs,
+ fldSummary.value,
+ fldCSSSource.value);
+ }
+ else if (btnTypeJS.checked) {
+ submitTextPage(
+ pageName,
+ oldRevision,
+ fldPageName.value,
+ chkIsLocked.checked,
+ "text/javascript",
+ $(selPageLang).val(),
+ otherLangs,
+ fldSummary.value,
+ fldJSSource.value);
+ }
+ else if (btnTypeBinary.checked) {
+ if (fldUploadFile.value != "") {
+ submitBinaryPage(
+ pageName,
+ oldRevision,
+ fldPageName.value,
+ chkIsLocked.checked,
+ $(selPageLang).val(),
+ otherLangs,
+ fldSummary.value,
+ uploadFileBin);
+ }
+ }
+ else if (btnTypeRedirect.checked) {
+ submitRedirection(
+ pageName,
+ oldRevision,
+ fldPageName.value,
+ chkIsLocked.checked,
+ fldRedirect.value);
+ }
+ });