summaryrefslogtreecommitdiff
path: root/prefs.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-20 21:29:19 +0300
committerAndrew Dolgov <[email protected]>2010-11-20 21:29:19 +0300
commitda1f74c9c4e94a7093281daad268aa44ebe5f6c7 (patch)
tree945543b546e68a560c040c80846ec116edddff56 /prefs.js
parente43399b79b54ee22446e22c5cbe7123b0f42d703 (diff)
refactor category editor
Diffstat (limited to 'prefs.js')
-rw-r--r--prefs.js103
1 files changed, 62 insertions, 41 deletions
diff --git a/prefs.js b/prefs.js
index fdedbd861..b613aec36 100644
--- a/prefs.js
+++ b/prefs.js
@@ -356,10 +356,9 @@ function getSelectedFilters() {
}
-function getSelectedFeedCats() {
+/* function getSelectedFeedCats() {
return getSelectedTableRowIds("prefFeedCatList");
-}
-
+} */
function removeSelectedLabels() {
@@ -583,37 +582,6 @@ function removeSelectedPrefProfiles() {
return false;
}
-function removeSelectedFeedCats() {
-
- var sel_rows = getSelectedFeedCats();
-
- if (sel_rows.length > 0) {
-
- var ok = confirm(__("Remove selected categories?"));
-
- if (ok) {
- notify_progress("Removing selected categories...");
-
- var query = "?op=pref-feeds&subop=editCats&action=remove&ids="+
- param_escape(sel_rows.toString());
-
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- infobox_callback2(transport);
- } });
-
- }
-
- } else {
-
- alert(__("No categories are selected."));
-
- }
-
- return false;
-}
-
function userEditCancel() {
closeInfoBox();
return false;
@@ -1245,15 +1213,68 @@ function pref_hotkey_handler(e) {
function editFeedCats() {
try {
- var query = "?op=pref-feeds&subop=editCats";
+ var query = "backend.php?op=pref-feeds&subop=editCats";
- notify_progress("Loading, please wait...");
+ if (dijit.byId("feedCatEditDlg"))
+ dijit.byId("feedCatEditDlg").destroyRecursive();
+
+ dialog = new dijit.Dialog({
+ id: "feedCatEditDlg",
+ title: __("Feed Categories"),
+ style: "width: 600px",
+ getSelectedCategories: function() {
+ return getSelectedTableRowIds("prefFeedCatList");
+ },
+ removeSelected: function() {
+ var sel_rows = this.getSelectedCategories();
+
+ if (sel_rows.length > 0) {
+ var ok = confirm(__("Remove selected categories?"));
+
+ if (ok) {
+ notify_progress("Removing selected categories...", true);
+
+ var query = "?op=pref-feeds&subop=editCats&action=remove&ids="+
+ param_escape(sel_rows.toString());
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ notify('');
+ dialog.attr('content', transport.responseText);
+ updateFeedList();
+ } });
+
+ }
+
+ } else {
+ alert(__("No categories are selected."));
+ }
+ },
+ addCategory: function() {
+ if (this.validate()) {
+ notify_progress("Creating category...");
+
+ var query = "?op=pref-feeds&subop=editCats&action=add&cat=" +
+ param_escape(this.attr('value').newcat);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ notify('');
+ dialog.attr('content', transport.responseText);
+ updateFeedList();
+ } });
+ }
+ },
+ execute: function() {
+ if (this.validate()) {
+ }
+ },
+ href: query});
+
+ dialog.show();
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- infobox_callback2(transport);
- } });
} catch (e) {
exception_error("editFeedCats", e);
}