summaryrefslogtreecommitdiff
path: root/plugins/note/note.js
blob: a46acb355662650a272569bb0a810b5d3eddf1eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* 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();
	}
};