summaryrefslogtreecommitdiff
path: root/js/Article.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-15 14:50:40 +0300
committerAndrew Dolgov <[email protected]>2021-02-15 14:50:40 +0300
commitecb36b6354cf693f8120884fdb9ef4068cb1d03f (patch)
tree3dd24dcf4607c3cbac028f73ff9b15b672394a54 /js/Article.js
parent82adb01307e108e8a2b4eeb900552160d730d0b7 (diff)
edit tags: use client dialog
Diffstat (limited to 'js/Article.js')
-rw-r--r--js/Article.js35
1 files changed, 30 insertions, 5 deletions
diff --git a/js/Article.js b/js/Article.js
index efe33bc99..210427892 100644
--- a/js/Article.js
+++ b/js/Article.js
@@ -310,9 +310,31 @@ const Article = {
},
editTags: function (id) {
const dialog = new fox.SingleUseDialog({
- id: "editTagsDlg",
title: __("Edit article Tags"),
- content: __("Loading, please wait..."),
+ content: `
+ ${App.FormFields.hidden("id", id.toString())}
+ ${App.FormFields.hidden("op", "article")}
+ ${App.FormFields.hidden("method", "setArticleTags")}
+
+ <header class='horizontal'>
+ ${__("Tags for this article (separated by commas):")}
+ </header>
+
+ <section>
+ <textarea dojoType='dijit.form.SimpleTextarea' rows='4' disabled='true'
+ id='tags_str' name='tags_str'></textarea>
+ <div class='autocomplete' id='tags_choices' style='display:none'></div>
+ </section>
+
+ <footer>
+ <button dojoType='dijit.form.Button' type='submit' class='alt-primary'>
+ ${__('Save')}
+ </button>
+ <button dojoType='dijit.form.Button' onclick='App.dialogOf(this).hide()'>
+ ${__('Cancel')}
+ </button>
+ </footer>
+ `,
execute: function () {
if (this.validate()) {
Notify.progress("Saving article tags...", true);
@@ -344,10 +366,13 @@ const Article = {
const tmph = dojo.connect(dialog, 'onShow', function () {
dojo.disconnect(tmph);
- xhrPost("backend.php", {op: "article", method: "editarticletags", param: id}, (transport) => {
- dialog.attr('content', transport.responseText);
+ xhrJson("backend.php", {op: "article", method: "printArticleTags", id: id}, (reply) => {
- new Ajax.Autocompleter('tags_str', 'tags_choices',
+ dijit.getEnclosingWidget($("tags_str"))
+ .attr('value', reply.tags.join(", "))
+ .attr('disabled', false);
+
+ new Ajax.Autocompleter("tags_str", "tags_choices",
"backend.php?op=article&method=completeTags",
{tokens: ',', paramName: "search"});
});