ttrss/plugins/share/share.js

75 lines
1.8 KiB
JavaScript
Raw Normal View History

/* global dojo, Plugins, App, Notify, fox, xhr, __ */
Plugins.Share = {
shareArticle: function(id) {
const dialog = new fox.SingleUseDialog({
2011-12-21 05:46:39 +01:00
id: "shareArticleDlg",
title: __("Share article by URL"),
newurl: function () {
2018-11-30 11:05:59 +01:00
if (confirm(__("Generate new share URL for this article?"))) {
2018-12-02 18:56:30 +01:00
Notify.progress("Trying to change URL...", true);
xhr.json("backend.php", App.getPhArgs("share", "newkey", {id: id}), (reply) => {
2018-11-30 13:23:48 +01:00
if (reply) {
const new_link = reply.link;
const target = dialog.domNode.querySelector(".target-url");
if (new_link && target) {
target.innerHTML = target.innerHTML.replace(/&key=.*$/,
2018-11-30 13:23:48 +01:00
"&key=" + new_link);
target.href = target.href.replace(/&key=.*$/,
2018-11-30 13:23:48 +01:00
"&key=" + new_link);
const icon = document.querySelector(".share-icon-" + id);
if (icon)
icon.addClassName("is-shared");
2018-12-02 18:56:30 +01:00
Notify.close();
2018-11-30 13:23:48 +01:00
} else {
2018-12-02 18:56:30 +01:00
Notify.error("Could not change URL.");
2018-11-30 13:23:48 +01:00
}
}
});
}
},
unshare: function () {
2018-11-30 11:05:59 +01:00
if (confirm(__("Remove sharing for this article?"))) {
xhr.post("backend.php", App.getPhArgs("share", "unshare", {id: id}), (reply) => {
Notify.info(reply);
const icon = document.querySelector(".share-icon-" + id);
if (icon)
icon.removeClassName("is-shared");
dialog.hide();
2018-11-30 13:23:48 +01:00
});
}
},
content: __("Loading, please wait...")
});
2011-12-21 05:46:39 +01:00
const tmph = dojo.connect(dialog, 'onShow', function () {
dojo.disconnect(tmph);
2011-12-21 05:46:39 +01:00
xhr.post("backend.php", App.getPhArgs("share", "shareDialog", {id: id}), (reply) => {
dialog.attr('content', reply)
const icon = document.querySelector(".share-icon-" + id);
if (icon)
icon.addClassName("is-shared");
});
});
dialog.show();
2011-12-21 05:46:39 +01:00
}
}