summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/pref/labels.php4
-rw-r--r--js/PrefLabelTree.js55
-rwxr-xr-xjs/prefs.js54
3 files changed, 56 insertions, 57 deletions
diff --git a/classes/pref/labels.php b/classes/pref/labels.php
index 1dbe3e18c..ae68a6eb7 100644
--- a/classes/pref/labels.php
+++ b/classes/pref/labels.php
@@ -278,10 +278,10 @@ class Pref_Labels extends Handler_Protected {
print"<button dojoType=\"dijit.form.Button\" onclick=\"return addLabel()\">".
__('Create label')."</button dojoType=\"dijit.form.Button\"> ";
- print "<button dojoType=\"dijit.form.Button\" onclick=\"removeSelectedLabels()\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('labelTree').removeSelected()\">".
__('Remove')."</button dojoType=\"dijit.form.Button\"> ";
- print "<button dojoType=\"dijit.form.Button\" onclick=\"labelColorReset()\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('labelTree').resetColors()\">".
__('Clear colors')."</button dojoType=\"dijit.form.Button\">";
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;
+ }
+});
});
diff --git a/js/prefs.js b/js/prefs.js
index c2ff01d47..05023b053 100755
--- a/js/prefs.js
+++ b/js/prefs.js
@@ -316,19 +316,6 @@ function editFilter(id) {
dialog.show();
}
-
-function getSelectedLabels() {
- 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;
-}
-
function getSelectedUsers() {
return Tables.getSelected("prefUserList");
}
@@ -372,28 +359,6 @@ function getSelectedFilters() {
}
-function removeSelectedLabels() {
-
- const sel_rows = 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;
-}
-
function removeSelectedUsers() {
const sel_rows = getSelectedUsers();
@@ -906,25 +871,6 @@ function opmlRegenKey() {
return false;
}
-function labelColorReset() {
- const labels = 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."));
- }
-}
-
function editProfiles() {
if (dijit.byId("profileEditDlg"))