]> git.wh0rd.org - tt-rss.git/blobdiff - js/functions.js
update translations
[tt-rss.git] / js / functions.js
index 284b2cc563cd733e593348b3299b07873b74327d..72f72ddaa405dab23439e223cf8c433349cc9fd8 100644 (file)
@@ -292,6 +292,10 @@ function gotoPreferences() {
        document.location.href = "prefs.php";
 }
 
+function gotoLogout() {
+       document.location.href = "backend.php?op=logout";
+}
+
 function gotoMain() {
        document.location.href = "index.php";
 }
@@ -346,14 +350,14 @@ function toggleSelectListRow2(sender) {
        return toggleSelectRow(sender, row);
 }
 
-function tSR(sender, row) {
-       return toggleSelectRow(sender, row);
-}
-
 /* this is for dijit Checkbox */
-function toggleSelectRow2(sender, row) {
+function toggleSelectRow2(sender, row, is_cdm) {
 
-       if (!row) row = sender.domNode.parentNode.parentNode;
+       if (!row)
+               if (!is_cdm)
+                       row = sender.domNode.parentNode.parentNode;
+               else
+                       row = sender.domNode.parentNode.parentNode.parentNode; // oh ffs
 
        if (sender.checked && !row.hasClassName('Selected'))
                row.addClassName('Selected');
@@ -838,8 +842,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 +886,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 +917,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 +975,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 +1025,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 +1133,20 @@ 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;
@@ -1163,6 +1205,27 @@ function quickAddFilter() {
                        },
                        href: query});
 
+               if (!inPreferences()) {
+                       var lh = dojo.connect(dialog, "onLoad", function(){
+                               dojo.disconnect(lh);
+
+                               var title = $("PTITLE-FULL-" + getActiveArticleId());
+
+                               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) {
@@ -1211,6 +1274,8 @@ function unsubscribeFeed(feed_id, title) {
                                        } else {
                                                if (feed_id == getActiveFeedId())
                                                        setTimeout("viewfeed(-5)", 100);
+
+                                               if (feed_id < 0) updateFeedList();
                                        }
 
                                } });
@@ -1710,7 +1775,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();
@@ -1819,3 +1884,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);
+       }
+}
+