show user css editor before xhr is completed

This commit is contained in:
Andrew Dolgov 2021-03-08 16:54:11 +03:00
parent bfeaf4d6a4
commit 28dd255c30
2 changed files with 56 additions and 46 deletions

View File

@ -322,7 +322,7 @@ const Article = {
},
editTags: function (id) {
const dialog = new fox.SingleUseDialog({
title: __("Edit article Tags"),
title: __("Article tags"),
content: `
${App.FormFields.hidden_tag("id", id.toString())}
${App.FormFields.hidden_tag("op", "article")}
@ -334,7 +334,7 @@ const Article = {
<section>
<textarea dojoType='dijit.form.SimpleTextarea' rows='4' disabled='true'
id='tags_str' name='tags_str'></textarea>
id='tags_str' name='tags_str'>${__("Loading, please wait...")}</textarea>
<div class='autocomplete' id='tags_choices' style='display:none'></div>
</section>

View File

@ -239,8 +239,6 @@ const Helpers = {
},
Prefs: {
customizeCSS: function() {
xhr.json("backend.php", {op: "pref-prefs", method: "customizeCSS"}, (reply) => {
const dialog = new fox.SingleUseDialog({
title: __("Customize stylesheet"),
apply: function() {
@ -271,8 +269,8 @@ const Helpers = {
</div>
</div>
<textarea class='panel user-css-editor' dojoType='dijit.form.SimpleTextarea'
style='font-size : 12px;' name='value'>${reply.value}</textarea>
<textarea class='panel user-css-editor' disabled='true' dojoType='dijit.form.SimpleTextarea'
style='font-size : 12px;' name='value'>${__("Loading, please wait...")}</textarea>
<footer>
<button dojoType='dijit.form.Button' class='alt-success' onclick="App.dialogOf(this).apply()">
@ -290,9 +288,21 @@ const Helpers = {
`
});
dialog.show();
const tmph = dojo.connect(dialog, 'onShow', function () {
dojo.disconnect(tmph);
xhr.json("backend.php", {op: "pref-prefs", method: "customizeCSS"}, (reply) => {
const editor = dijit.getEnclosingWidget(dialog.domNode.querySelector(".user-css-editor"));
editor.attr('value', reply.value);
editor.attr('disabled', false);
});
});
dialog.show();
},
confirmReset: function() {
if (confirm(__("Reset to defaults?"))) {