diff options
-rw-r--r-- | modules/pref-feeds.php | 30 | ||||
-rw-r--r-- | prefs.js | 103 |
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; } @@ -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); } |