ttrss/plugins/note/note.js

42 lines
951 B
JavaScript

/* global dojo, Plugins, xhr, App, Notify, fox, __ */
Plugins.Note = {
edit: function(id) {
const dialog = new fox.SingleUseDialog({
title: __("Edit article note"),
execute: function () {
if (this.validate()) {
Notify.progress("Saving article note...", true);
xhr.json("backend.php", this.attr('value'), (reply) => {
Notify.close();
dialog.hide();
if (reply) {
App.findAll(`div[data-note-for="${reply.id}"]`).forEach((elem) => {
elem.querySelector(".body").innerHTML = reply.note;
if (reply.note)
elem.show();
else
elem.hide();
});
}
});
}
},
content: __("Loading, please wait...")
});
const tmph = dojo.connect(dialog, 'onShow', function () {
dojo.disconnect(tmph);
xhr.post("backend.php", App.getPhArgs("note", "edit", {id: id}), (reply) => {
dialog.attr('content', reply);
});
});
dialog.show();
}
};