diff options
author | Andrew Dolgov <[email protected]> | 2021-02-21 18:04:44 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-21 18:04:44 +0300 |
commit | 861a632ac7c283c55dfd947ed0152d9846fa2ac0 (patch) | |
tree | c501c81cb1d705bb1a553373e8e02888c96fbcdd /js/PrefHelpers.js | |
parent | c6b7a7f8d0eaeb11f76dbc70714d740eeac180f1 (diff) |
move published opml JS code to pref helpers
Diffstat (limited to 'js/PrefHelpers.js')
-rw-r--r-- | js/PrefHelpers.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/js/PrefHelpers.js b/js/PrefHelpers.js index d27e0e071..62f6d91b1 100644 --- a/js/PrefHelpers.js +++ b/js/PrefHelpers.js @@ -347,5 +347,62 @@ const Helpers = { console.log("export"); window.open("backend.php?op=opml&method=export&" + dojo.formToQuery("opmlExportForm")); }, + publish: function() { + Notify.progress("Loading, please wait...", true); + + xhr.json("backend.php", {op: "pref-feeds", method: "getOPMLKey"}, (reply) => { + try { + const dialog = new fox.SingleUseDialog({ + title: __("Public OPML URL"), + regenOPMLKey: function() { + if (confirm(__("Replace current OPML publishing address with a new one?"))) { + Notify.progress("Trying to change address...", true); + + xhr.json("backend.php", {op: "pref-feeds", method: "regenOPMLKey"}, (reply) => { + if (reply) { + const new_link = reply.link; + const target = this.domNode.querySelector('.generated_url'); + + if (new_link && target) { + target.href = new_link; + target.innerHTML = new_link; + + Notify.close(); + + } else { + Notify.error("Could not change feed URL."); + } + } + }); + } + return false; + }, + content: ` + <header>${__("Your Public OPML URL is:")}</header> + <section> + <div class='panel text-center'> + <a class='generated_url' href="${App.escapeHtml(reply.link)}" target='_blank'>${App.escapeHtml(reply.link)}</a> + </div> + </section> + <footer class='text-center'> + <button dojoType='dijit.form.Button' onclick="return App.dialogOf(this).regenOPMLKey()"> + ${__('Generate new URL')} + </button> + <button dojoType='dijit.form.Button' type='submit' class='alt-primary'> + ${__('Close this window')} + </button> + </footer> + ` + }); + + dialog.show(); + + Notify.close(); + + } catch (e) { + App.Error.report(e); + } + }); + }, } }; |