From 2f961ee830af21166d22bf3fae104291f614e7dd Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 30 Nov 2018 15:23:48 +0300 Subject: [PATCH] plugins: add some xhrPost refactoring --- js/viewfeed.js | 25 -------------- plugins/embed_original/init.js | 50 ++++++++++++---------------- plugins/mail/mail.js | 15 +++------ plugins/share/share.js | 59 ++++++++++++++++------------------ plugins/share/share_prefs.js | 10 +++--- 5 files changed, 57 insertions(+), 102 deletions(-) diff --git a/js/viewfeed.js b/js/viewfeed.js index 23e05758..966d0d68 100755 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1690,31 +1690,6 @@ function setSelectionScore() { } } -/* -function updateScore(id) { - const pic = $$("#RROW-" + id + " .hlScorePic")[0]; - - if (pic) { - - const query = "op=article&method=getScore&id=" + param_escape(id); - - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function (transport) { - console.log(transport.responseText); - - const reply = JSON.parse(transport.responseText); - - if (reply) { - pic.src = pic.src.replace(/score_.*?\.png/, reply["score_pic"]); - pic.setAttribute("score", reply["score"]); - pic.setAttribute("title", reply["score"]); - } - } - }); - } -} */ - function changeScore(id, pic) { const score = pic.getAttribute("score"); diff --git a/plugins/embed_original/init.js b/plugins/embed_original/init.js index 86549114..6bc13ddf 100644 --- a/plugins/embed_original/init.js +++ b/plugins/embed_original/init.js @@ -7,9 +7,6 @@ function embedOriginalArticle(id) { return; } - const query = "op=pluginhandler&plugin=embed_original&method=getUrl&id=" + - param_escape(id); - let c = false; if (isCdmMode()) { @@ -33,34 +30,29 @@ function embedOriginalArticle(id) { } } - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - const ti = JSON.parse(transport.responseText); - - if (ti) { - - const iframe = new Element("iframe", { - class: "embeddedContent", - src: ti.url, - width: (c.parentNode.offsetWidth-5)+'px', - height: (c.parentNode.parentNode.offsetHeight-c.parentNode.firstChild.offsetHeight-5)+'px', - style: "overflow: auto; border: none; min-height: "+(document.body.clientHeight/2)+"px;", - sandbox: 'allow-scripts', - }); - - if (c) { - Element.hide(c); - c.parentNode.insertBefore(iframe,c); - - if (isCdmMode()) { - cdmScrollToArticleId(id, true); - } + const query = { op: "pluginhandler", plugin: "embed_original", method: "getUrl", id: id }; + + xhrJson("backend.php", query, (reply) => { + if (reply) { + const iframe = new Element("iframe", { + class: "embeddedContent", + src: reply.url, + width: (c.parentNode.offsetWidth - 5) + 'px', + height: (c.parentNode.parentNode.offsetHeight - c.parentNode.firstChild.offsetHeight - 5) + 'px', + style: "overflow: auto; border: none; min-height: " + (document.body.clientHeight / 2) + "px;", + sandbox: 'allow-scripts', + }); + + if (c) { + Element.hide(c); + c.parentNode.insertBefore(iframe, c); + + if (isCdmMode()) { + cdmScrollToArticleId(id, true); } } - - } }); - + } + }); } catch (e) { exception_error("embedOriginalArticle", e); diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index db0503ff..929b3524 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -22,15 +22,9 @@ function emailArticle(id) { style: "width: 600px", execute: function() { if (this.validate()) { - - new Ajax.Request("backend.php", { - parameters: dojo.objectToQuery(this.attr('value')), - onComplete: function(transport) { - console.log(transport.responseText); - - var reply = JSON.parse(transport.responseText); - - var error = reply['error']; + xhrJson("backend.php", this.attr('value'), (reply) => { + if (reply) { + const error = reply['error']; if (error) { alert(__('Error sending email:') + ' ' + error); @@ -39,7 +33,8 @@ function emailArticle(id) { dialog.hide(); } - } }); + } + }); } }, href: query}); diff --git a/plugins/share/share.js b/plugins/share/share.js index 0fb2f124..11748d8f 100644 --- a/plugins/share/share.js +++ b/plugins/share/share.js @@ -14,36 +14,33 @@ function shareArticle(id) { notify_progress("Trying to change URL...", true); - var query = "op=pluginhandler&plugin=share&method=newkey&id=" + param_escape(id); + const query = { op: "pluginhandler", plugin: "share", method: "newkey", id: id }; - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - var reply = JSON.parse(transport.responseText); - var new_link = reply.link; + xhrJson("backend.php", query, (reply) => { + if (reply) { + const new_link = reply.link; + const e = $('gen_article_url'); - var e = $('gen_article_url'); + if (new_link) { - if (new_link) { + e.innerHTML = e.innerHTML.replace(/\&key=.*$/, + "&key=" + new_link); - e.innerHTML = e.innerHTML.replace(/\&key=.*$/, - "&key=" + new_link); + e.href = e.href.replace(/\&key=.*$/, + "&key=" + new_link); - e.href = e.href.replace(/\&key=.*$/, - "&key=" + new_link); + new Effect.Highlight(e); - new Effect.Highlight(e); + const img = $("SHARE-IMG-" + id); + if (img) img.src = img.src.replace("notshared.png", "share.png"); - var img = $("SHARE-IMG-" + id); - if (img) img.src = img.src.replace("notshared.png", "share.png"); - - notify(''); - - } else { - notify_error("Could not change URL."); - } - } }); + notify(''); + } else { + notify_error("Could not change URL."); + } + } + }); } }, @@ -52,18 +49,16 @@ function shareArticle(id) { notify_progress("Trying to unshare...", true); - var query = "op=pluginhandler&plugin=share&method=unshare&id=" + param_escape(id); + const query = { op: "pluginhandler", plugin: "share", method: "unshare", id: id }; - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - notify("Article unshared."); + xhrPost("backend.php", query, () => { + notify("Article unshared."); - var img = $("SHARE-IMG-" + id); - if (img) img.src = img.src.replace("share.png", "notshared.png"); + var img = $("SHARE-IMG-" + id); + if (img) img.src = img.src.replace("share.png", "notshared.png"); - dialog.hide(); - } }); + dialog.hide(); + }); } }, @@ -71,7 +66,7 @@ function shareArticle(id) { dialog.show(); - var img = $("SHARE-IMG-" + id); + const img = $("SHARE-IMG-" + id); if (img) img.src = img.src.replace("notshared.png", "share.png"); } catch (e) { diff --git a/plugins/share/share_prefs.js b/plugins/share/share_prefs.js index e4c22262..79ca3728 100644 --- a/plugins/share/share_prefs.js +++ b/plugins/share/share_prefs.js @@ -2,13 +2,11 @@ function clearArticleAccessKeys() { if (confirm(__("This will invalidate all previously shared article URLs. Continue?"))) { notify_progress("Clearing URLs..."); - var query = "?op=pluginhandler&plugin=share&method=clearArticleKeys"; + const query = { op: "pluginhandler", plugin: "share", method: "clearArticleKeys" }; - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - notify_info("Shared URLs cleared."); - } }); + xhrPost("backend.php", query, () => { + notify_info("Shared URLs cleared."); + }); } return false; -- 2.39.5