summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/pref-feeds.php30
-rw-r--r--prefs.js103
2 files changed, 71 insertions, 62 deletions
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index d0bc194a4..1b3e451fc 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -1021,11 +1021,6 @@
}
- header("Content-Type: text/xml");
- print "<dlg id=\"$subop\">";
- print "<title>".__('Category editor')."</title>";
- print "<content><![CDATA[";
-
if ($action == "add") {
$feed_cat = db_escape_string(trim($_REQUEST["cat"]));
@@ -1045,11 +1040,9 @@
}
print "<div dojoType=\"dijit.Toolbar\">
- <input id=\"fadd_cat\"
- onkeypress=\"return filterCR(event, addFeedCat)\"
- size=\"40\">
- <button onclick=\"addFeedCat()\">".
- __('Create category')."</button></div>";
+ <input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"newcat\">
+ <button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedCatEditDlg').addCategory()\">".
+ __('Create category')."</button></div>";
$result = db_query($link, "SELECT title,id FROM ttrss_feed_categories
WHERE owner_uid = ".$_SESSION["uid"]."
@@ -1059,13 +1052,9 @@
if (db_num_rows($result) != 0) {
-# print __('Select:')."
-# <a href=\"#\" onclick=\"selectTableRows('prefFeedCatList', 'all')\">".__('All')."</a>,
-# <a href=\"#\" onclick=\"selectTableRows('prefFeedCatList', 'none')\">".__('None')."</a>";
-#
print "<div class=\"prefFeedCatHolder\">";
- print "<form id=\"feed_cat_edit_form\" onsubmit=\"return false\">";
+# print "<form id=\"feed_cat_edit_form\" onsubmit=\"return false\">";
print "<table width=\"100%\" class=\"prefFeedCatList\"
cellspacing=\"0\" id=\"prefFeedCatList\">";
@@ -1105,6 +1094,7 @@
cid: this.srcNodeRef.getAttribute('cat-id')},
load: function(response) {
elem.attr('value', response);
+ updateFeedList();
}
});
</script>
@@ -1117,7 +1107,7 @@
print "</table>";
- print "</form>";
+# print "</form>";
print "</div>";
@@ -1127,15 +1117,13 @@
print "<div class='dlgButtons'>
<div style='float : left'>
- <button onclick=\"return removeSelectedFeedCats()\">".
- __('Remove')."</button>
+ <button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedCatEditDlg').removeSelected()\">".
+ __('Remove selected categories')."</button>
</div>";
- print "<button onclick=\"selectTab('feedConfig')\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedCatEditDlg').hide()\">".
__('Close this window')."</button></div>";
- print "]]></content></dlg>";
-
return;
}
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);
}