summaryrefslogtreecommitdiff
path: root/js/PrefLabelTree.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-12-02 11:34:57 +0300
committerAndrew Dolgov <[email protected]>2018-12-02 11:34:57 +0300
commit2e985d173352487f96984577ac512a3639267edf (patch)
treec2ca993754b0c8cee1fc5491920871f3773ea8c8 /js/PrefLabelTree.js
parente23b6e397dbbbba90f9a15a6fe2d45eb862efdc5 (diff)
move some label helper functions to prefLabelTree
Diffstat (limited to 'js/PrefLabelTree.js')
-rw-r--r--js/PrefLabelTree.js55
1 files changed, 54 insertions, 1 deletions
diff --git a/js/PrefLabelTree.js b/js/PrefLabelTree.js
index 7321b80d8..c4c3ea103 100644
--- a/js/PrefLabelTree.js
+++ b/js/PrefLabelTree.js
@@ -37,7 +37,60 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
getIconClass: function (item, opened) {
return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible";
},
- });
+ getSelectedLabels: function() {
+ const tree = dijit.byId("labelTree");
+ const items = tree.model.getCheckedItems();
+ const rv = [];
+
+ items.each(function(item) {
+ rv.push(tree.model.store.getValue(item, 'bare_id'));
+ });
+
+ return rv;
+ },
+ resetColors: function() {
+ const labels = this.getSelectedLabels();
+
+ if (labels.length > 0) {
+ if (confirm(__("Reset selected labels to default colors?"))) {
+
+ const query = {
+ op: "pref-labels", method: "colorreset",
+ ids: labels.toString()
+ };
+
+ xhrPost("backend.php", query, () => {
+ updateLabelList();
+ });
+ }
+
+ } else {
+ alert(__("No labels are selected."));
+ }
+ },
+ removeSelected: function() {
+ const sel_rows = this.getSelectedLabels();
+
+ if (sel_rows.length > 0) {
+ if (confirm(__("Remove selected labels?"))) {
+ notify_progress("Removing selected labels...");
+
+ const query = {
+ op: "pref-labels", method: "remove",
+ ids: sel_rows.toString()
+ };
+
+ xhrPost("backend.php", query, () => {
+ updateLabelList();
+ });
+ }
+ } else {
+ alert(__("No labels are selected."));
+ }
+
+ return false;
+ }
+});
});