]> git.wh0rd.org - tt-rss.git/blobdiff - js/functions.js
help cleanup, use dijit dialog
[tt-rss.git] / js / functions.js
index f2c5e3bf5f9cd1c7902bc7e7a4860099479d443c..ec533faae75fc1477fd0e651249c9ec0534a8dda 100644 (file)
@@ -346,10 +346,6 @@ function toggleSelectListRow2(sender) {
        return toggleSelectRow(sender, row);
 }
 
-function tSR(sender, row) {
-       return toggleSelectRow(sender, row);
-}
-
 /* this is for dijit Checkbox */
 function toggleSelectRow2(sender, row) {
 
@@ -838,8 +834,9 @@ function quickAddFeed() {
        try {
                var query = "backend.php?op=dlg&method=quickAddFeed";
 
-               if (dijit.byId("feedAddDlg"))
-                       dijit.byId("feedAddDlg").destroyRecursive();
+               // overlapping widgets
+               if (dijit.byId("batchSubDlg")) dijit.byId("batchSubDlg").destroyRecursive();
+               if (dijit.byId("feedAddDlg"))   dijit.byId("feedAddDlg").destroyRecursive();
 
                var dialog = new dijit.Dialog({
                        id: "feedAddDlg",
@@ -881,7 +878,7 @@ function quickAddFeed() {
                                                                        alert(__("Specified URL doesn't seem to contain any feeds."));
                                                                        break;
                                                                case 4:
-                                                                       notify_progress("Searching for feed urls...", true);
+                                                                       /* notify_progress("Searching for feed urls...", true);
 
                                                                        new Ajax.Request("backend.php", {
                                                                                parameters: 'op=rpc&method=extractfeedurls&url=' + param_escape(feed_url),
@@ -912,6 +909,23 @@ function quickAddFeed() {
                                                                                        Effect.Appear('feedDlg_feedsContainer', {duration : 0.5});
                                                                                }
                                                                        });
+                                                                       break; */
+
+                                                                       feeds = rc['feeds'];
+
+                                                                       var select = dijit.byId("feedDlg_feedContainerSelect");
+
+                                                                       while (select.getOptions().length > 0)
+                                                                               select.removeOption(0);
+
+                                                                       var count = 0;
+                                                                       for (var feedUrl in feeds) {
+                                                                               select.addOption({value: feedUrl, label: feeds[feedUrl]});
+                                                                               count++;
+                                                                       }
+
+                                                                       Effect.Appear('feedDlg_feedsContainer', {duration : 0.5});
+
                                                                        break;
                                                                case 5:
                                                                        alert(__("Couldn't download the specified URL: %s").
@@ -953,9 +967,12 @@ function createNewRuleElement(parentNode, replaceNode) {
                                try {
                                        var li = dojo.create("li");
 
-                                       dojo.create("input", { type: "checkbox",
-                                               onclick: function() { toggleSelectListRow(this) },
-                                       }, li);
+                                       var cb = dojo.create("input", { type: "checkbox" }, li);
+
+                                       new dijit.form.CheckBox({
+                                               onChange: function() {
+                                                       toggleSelectListRow2(this) },
+                                       }, cb);
 
                                        dojo.create("input", { type: "hidden",
                                                name: "rule[]",
@@ -1000,9 +1017,12 @@ function createNewActionElement(parentNode, replaceNode) {
                                try {
                                        var li = dojo.create("li");
 
-                                       dojo.create("input", { type: "checkbox",
-                                               onclick: function() { toggleSelectListRow(this) },
-                                       }, li);
+                                       var cb = dojo.create("input", { type: "checkbox" }, li);
+
+                                       new dijit.form.CheckBox({
+                                               onChange: function() {
+                                                       toggleSelectListRow2(this) },
+                                       }, cb);
 
                                        dojo.create("input", { type: "hidden",
                                                name: "action[]",
@@ -1105,6 +1125,40 @@ function quickAddFilter() {
                        id: "filterEditDlg",
                        title: __("Create Filter"),
                        style: "width: 600px",
+                       test: function() {
+                               var query = "backend.php?" + dojo.formToQuery("filter_new_form") + "&savemode=test";
+
+                               if (dijit.byId("filterTestDlg"))
+                                       dijit.byId("filterTestDlg").destroyRecursive();
+
+                               var test_dlg = new dijit.Dialog({
+                                       id: "filterTestDlg",
+                                       title: "Test Filter",
+                                       style: "width: 600px",
+                                       href: query});
+
+                               test_dlg.show();
+                       },
+                       selectRules: function(select) {
+                               $$("#filterDlg_Matches input[type=checkbox]").each(function(e) {
+                                       e.checked = select;
+                                       if (select)
+                                               e.parentNode.addClassName("Selected");
+                                       else
+                                               e.parentNode.removeClassName("Selected");
+                               });
+                       },
+                       selectActions: function(select) {
+                               $$("#filterDlg_Actions input[type=checkbox]").each(function(e) {
+                                       e.checked = select;
+
+                                       if (select)
+                                               e.parentNode.addClassName("Selected");
+                                       else
+                                               e.parentNode.removeClassName("Selected");
+
+                               });
+                       },
                        editRule: function(e) {
                                var li = e.parentNode;
                                var rule = li.getElementsByTagName("INPUT")[1].value;
@@ -1143,6 +1197,27 @@ function quickAddFilter() {
                        },
                        href: query});
 
+               if (!inPreferences()) {
+                       var lh = dojo.connect(dialog, "onLoad", function(){
+                               dojo.disconnect(lh);
+
+                               var title = $("PTITLE-FULL-" + active_post_id);
+
+                               if (title || getActiveFeedId() || activeFeedIsCat()) {
+                                       if (title) title = title.innerHTML;
+
+                                       console.log(title + " " + getActiveFeedId());
+
+                                       var feed_id = activeFeedIsCat() ? 'CAT:' + parseInt(getActiveFeedId()) :
+                                               getActiveFeedId();
+
+                                       var rule = { reg_exp: title, feed_id: feed_id, filter_type: 1 };
+
+                                       addFilterRule(null, dojo.toJson(rule));
+                               }
+                       });
+               }
+
                dialog.show();
 
        } catch (e) {
@@ -1690,7 +1765,7 @@ function feedBrowser() {
 
 function showFeedsWithErrors() {
        try {
-               var query = "backend.php?op=dlg&method=feedsWithErrors";
+               var query = "backend.php?op=pref-feeds&method=feedsWithErrors";
 
                if (dijit.byId("errorFeedsDlg"))
                        dijit.byId("errorFeedsDlg").destroyRecursive();
@@ -1799,3 +1874,25 @@ function get_timestamp() {
        var date = new Date();
        return Math.round(date.getTime() / 1000);
 }
+
+function helpDialog(topic) {
+       try {
+               var query = "backend.php?op=backend&method=help&topic=" + param_escape(topic);
+
+               if (dijit.byId("helpDlg"))
+                       dijit.byId("helpDlg").destroyRecursive();
+
+               dialog = new dijit.Dialog({
+                       id: "helpDlg",
+                       title: __("Help"),
+                       style: "width: 600px",
+                       href: query,
+               });
+
+               dialog.show();
+
+       } catch (e) {
+               exception_error("helpDialog", e);
+       }
+}
+