]> git.wh0rd.org - tt-rss.git/commitdiff
use xhrPost in even more places!
authorAndrew Dolgov <noreply@fakecake.org>
Thu, 29 Nov 2018 20:36:54 +0000 (23:36 +0300)
committerAndrew Dolgov <noreply@fakecake.org>
Thu, 29 Nov 2018 20:36:54 +0000 (23:36 +0300)
js/viewfeed.js

index 5b237b47773d43e825978edd06d9feb9842af8bc..ed6e3642e1315929cb6aedd1e45cc236fe8c82f0 100755 (executable)
@@ -855,65 +855,55 @@ function deleteSelection() {
                return;
        }
 
-       const query = "?op=rpc&method=delete&ids=" + param_escape(rows);
+       const query = { op: "rpc", method: "delete", ids: rows.toString() };
 
-       console.log(query);
-
-       new Ajax.Request("backend.php", {
-               parameters: query,
-               onComplete: function (transport) {
-                       handle_rpc_json(transport);
-                       viewCurrentFeed();
-               }
+       xhrPost("backend.php", query, (transport) => {
+        handle_rpc_json(transport);
+        viewCurrentFeed();
        });
 }
 
 function archiveSelection() {
 
-       const rows = getSelectedArticleIds2();
-
-       if (rows.length == 0) {
-               alert(__("No articles are selected."));
-               return;
-       }
-
-       const fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
-       let str;
-       let op;
+    const rows = getSelectedArticleIds2();
 
-       if (getActiveFeedId() != 0) {
-               str = ngettext("Archive %d selected article in %s?", "Archive %d selected articles in %s?", rows.length);
-               op = "archive";
-       } else {
-               str = ngettext("Move %d archived article back?", "Move %d archived articles back?", rows.length);
+    if (rows.length == 0) {
+        alert(__("No articles are selected."));
+        return;
+    }
 
-               str += " " + __("Please note that unstarred articles might get purged on next feed update.");
+    const fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
+    let str;
+    let op;
 
-               op = "unarchive";
-       }
+    if (getActiveFeedId() != 0) {
+        str = ngettext("Archive %d selected article in %s?", "Archive %d selected articles in %s?", rows.length);
+        op = "archive";
+    } else {
+        str = ngettext("Move %d archived article back?", "Move %d archived articles back?", rows.length);
 
-       str = str.replace("%d", rows.length);
-       str = str.replace("%s", fn);
+        str += " " + __("Please note that unstarred articles might get purged on next feed update.");
 
-       if (getInitParam("confirm_feed_catchup") == 1 && !confirm(str)) {
-               return;
-       }
+        op = "unarchive";
+    }
 
-       const query = "?op=rpc&method="+op+"&ids=" + param_escape(rows);
+    str = str.replace("%d", rows.length);
+    str = str.replace("%s", fn);
 
-       console.log(query);
+    if (getInitParam("confirm_feed_catchup") == 1 && !confirm(str)) {
+        return;
+    }
 
-       for (let i = 0; i < rows.length; i++) {
-               cache_delete("article:" + rows[i]);
-       }
+    for (let i = 0; i < rows.length; i++) {
+        cache_delete("article:" + rows[i]);
+    }
 
-       new Ajax.Request("backend.php", {
-               parameters: query,
-               onComplete: function(transport) {
-                               handle_rpc_json(transport);
-                               viewCurrentFeed();
-                       } });
+    const query = {op: "rpc", method: op, ids: rows.toString()};
 
+    xhrPost("backend.php", query, (transport) => {
+        handle_rpc_json(transport);
+        viewCurrentFeed();
+    });
 }
 
 function catchupSelection() {
@@ -955,31 +945,26 @@ function editArticleTags(id) {
 
                                notify_progress("Saving article tags...", true);
 
-                               new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function(transport) {
-                                       try {
-                                               notify('');
-                                               dialog.hide();
+                               xhrPost("backend.php", this.attr('value'), (transport) => {
+                    try {
+                        notify('');
+                        dialog.hide();
 
-                                               const data = JSON.parse(transport.responseText);
+                        const data = JSON.parse(transport.responseText);
 
-                                               if (data) {
-                                                       const id = data.id;
+                        if (data) {
+                            const id = data.id;
 
-                                                       console.log(id);
+                            const tags = $("ATSTR-" + id);
+                            const tooltip = dijit.byId("ATSTRTIP-" + id);
 
-                                                       const tags = $("ATSTR-" + id);
-                                                       const tooltip = dijit.byId("ATSTRTIP-" + id);
-
-                                                       if (tags) tags.innerHTML = data.content;
-                                                       if (tooltip) tooltip.attr('label', data.content_full);
-                                               }
-                                       } catch (e) {
-                                               exception_error(e);
-                                       }
-
-                               }});
+                            if (tags) tags.innerHTML = data.content;
+                            if (tooltip) tooltip.attr('label', data.content_full);
+                        }
+                    } catch (e) {
+                        exception_error(e);
+                    }
+                               });
                        }
                },
                href: query
@@ -1165,33 +1150,28 @@ function catchupBatchedArticles() {
 
                // make a copy of the array
                const batch = catchup_id_batch.slice();
-               const query = "?op=rpc&method=catchupSelected" +
-                       "&cmode=0&ids=" + param_escape(batch.toString());
-
-               console.log(query);
+               const query = { op: "rpc", method: "catchupSelected",
+                       cmode: 0, ids: batch.toString() };
 
                _catchup_request_sent = true;
 
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function (transport) {
-                               handle_rpc_json(transport);
+               xhrPost("backend.php", query, (transport) => {
+            const reply = handle_rpc_json(transport);
 
-                               _catchup_request_sent = false;
+            _catchup_request_sent = false;
 
-                               const reply = JSON.parse(transport.responseText);
-                               const batch = reply.ids;
+            if (reply) {
+                const batch = reply.ids;
 
-                               batch.each(function (id) {
-                                       console.log(id);
-                                       const elem = $("RROW-" + id);
-                                       if (elem) elem.removeClassName("Unread");
-                                       catchup_id_batch.remove(id);
-                               });
-
-                               updateFloatingTitle(true);
+                batch.each(function (id) {
+                    console.log(id);
+                    const elem = $("RROW-" + id);
+                    if (elem) elem.removeClassName("Unread");
+                    catchup_id_batch.remove(id);
+                });
+            }
 
-                       }
+            updateFloatingTitle(true);
                });
        }
 }
@@ -1247,16 +1227,12 @@ function catchupRelativeToArticle(below, id) {
                                e.removeClassName("Unread");
                        }
 
-                       const query = "?op=rpc&method=catchupSelected" +
-                               "&cmode=0" + "&ids=" + param_escape(ids_to_mark.toString());
+                       const query = { op: "rpc", method: "catchupSelected",
+                               cmode: 0, ids: ids_to_mark.toString() };
 
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function (transport) {
-                                       handle_rpc_json(transport);
-                               }
+                       xhrPost("backend.php", query, (transport) => {
+                handle_rpc_json(transport);
                        });
-
                }
        }
 }
@@ -1422,19 +1398,18 @@ function cdmClicked(event, id, in_body) {
                        setActiveArticleId(id);
 
                        if (article_is_unread) {
-                               decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
-                               updateFloatingTitle(true);
-                       }
+                decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
+                updateFloatingTitle(true);
 
-                       const query = "?op=rpc&method=catchupSelected" +
-                               "&cmode=0&ids=" + param_escape(id);
+                const query = {
+                    op: "rpc", method: "catchupSelected",
+                    cmode: 0, ids: id
+                };
 
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function (transport) {
-                                       handle_rpc_json(transport);
-                               }
-                       });
+                xhrPost("backend.php", query, (transport) => {
+                    handle_rpc_json(transport);
+                });
+            }
 
                        return !event.shiftKey;
                }
@@ -1812,31 +1787,25 @@ function setSelectionScore() {
                const score = prompt(__("Please enter new score for selected articles:"));
 
                if (score != undefined) {
-                       const query = "op=article&method=setScore&id=" + param_escape(ids.toString()) +
-                               "&score=" + param_escape(score);
-
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function (transport) {
-                                       const reply = JSON.parse(transport.responseText);
-                                       if (reply) {
-                                               console.log(ids);
-
-                                               ids.each(function (id) {
-                                                       const row = $("RROW-" + id);
-
-                                                       if (row) {
-                                                               const pic = row.getElementsByClassName("hlScorePic")[0];
-
-                                                               if (pic) {
-                                                                       pic.src = pic.src.replace(/score_.*?\.png/,
-                                                                               reply["score_pic"]);
-                                                                       pic.setAttribute("score", score);
-                                                               }
-                                                       }
-                                               });
-                                       }
-                               }
+                       const query = { op: "article", method: "setScore", id: ids.toString(),
+                               score: score };
+
+                       xhrJson("backend.php", query, (reply) => {
+                               if (reply) {
+                    reply.id.each((id) => {
+                        const row = $("RROW-" + id);
+
+                        if (row) {
+                            const pic = row.getElementsByClassName("hlScorePic")[0];
+
+                            if (pic) {
+                                pic.src = pic.src.replace(/score_.*?\.png/,
+                                    reply["score_pic"]);
+                                pic.setAttribute("score", reply["score"]);
+                            }
+                        }
+                    });
+                }
                        });
                }
 
@@ -1845,6 +1814,7 @@ function setSelectionScore() {
        }
 }
 
+/*
 function updateScore(id) {
        const pic = $$("#RROW-" + id + " .hlScorePic")[0];
 
@@ -1867,7 +1837,7 @@ function updateScore(id) {
                        }
                });
        }
-}
+} */
 
 function changeScore(id, pic) {
        const score = pic.getAttribute("score");
@@ -1875,38 +1845,27 @@ function changeScore(id, pic) {
        const new_score = prompt(__("Please enter new score for this article:"), score);
 
        if (new_score != undefined) {
-
-               const query = "op=article&method=setScore&id=" + param_escape(id) +
-                       "&score=" + param_escape(new_score);
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function (transport) {
-                               const reply = JSON.parse(transport.responseText);
-
-                               if (reply) {
-                                       pic.src = pic.src.replace(/score_.*?\.png/, reply["score_pic"]);
-                                       pic.setAttribute("score", new_score);
-                                       pic.setAttribute("title", new_score);
-                               }
-                       }
+               const query = { op: "article", method: "setScore", id: id, score: new_score };
+
+               xhrJson("backend.php", query, (reply) => {
+            if (reply) {
+                pic.src = pic.src.replace(/score_.*?\.png/, reply["score_pic"]);
+                pic.setAttribute("score", new_score);
+                pic.setAttribute("title", new_score);
+            }
                });
        }
 }
 
 function displayArticleUrl(id) {
-       const query = "op=rpc&method=getlinktitlebyid&id=" + param_escape(id);
+       const query = { op: "rpc", method: "getlinktitlebyid", id: id };
 
-       new Ajax.Request("backend.php", {
-               parameters: query,
-               onComplete: function (transport) {
-                       const reply = JSON.parse(transport.responseText);
-
-                       if (reply && reply.link) {
-                               prompt(__("Article URL:"), reply.link);
-                       }
-               }
+       xhrJson("backend.php", query, (reply) => {
+        if (reply && reply.link) {
+            prompt(__("Article URL:"), reply.link);
+        }
        });
+
 }
 
 function scrollToRowId(id) {