summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-06-04 20:04:17 +0300
committerAndrew Dolgov <[email protected]>2020-06-04 20:04:17 +0300
commit30ed5d7c3cee427eaea7a00c0ddda44ab461eaae (patch)
tree03d7515583d24f7d7d0f366a865775a9d437036c
parente37f8cfa7817bb4d9f7330838542666b74e52b94 (diff)
same, but for preferences
-rw-r--r--js/PrefHelpers.js436
-rw-r--r--js/PrefUsers.js200
-rwxr-xr-xjs/prefs.js4
3 files changed, 314 insertions, 326 deletions
diff --git a/js/PrefHelpers.js b/js/PrefHelpers.js
index 4b908204c..21e07bc26 100644
--- a/js/PrefHelpers.js
+++ b/js/PrefHelpers.js
@@ -1,274 +1,270 @@
-define(["dojo/_base/declare"], function (declare) {
- Helpers = {
- AppPasswords: {
- getSelected: function() {
- return Tables.getSelected("app-password-list");
- },
- updateContent: function(data) {
- $("app_passwords_holder").innerHTML = data;
- dojo.parser.parse("app_passwords_holder");
- },
- removeSelected: function() {
- const rows = this.getSelected();
-
- if (rows.length == 0) {
- alert("No passwords selected.");
- } else {
- if (confirm(__("Remove selected app passwords?"))) {
-
- xhrPost("backend.php", {op: "pref-prefs", method: "deleteAppPassword", ids: rows.toString()}, (transport) => {
- this.updateContent(transport.responseText);
- Notify.close();
- });
+const Helpers = {
+ AppPasswords: {
+ getSelected: function() {
+ return Tables.getSelected("app-password-list");
+ },
+ updateContent: function(data) {
+ $("app_passwords_holder").innerHTML = data;
+ dojo.parser.parse("app_passwords_holder");
+ },
+ removeSelected: function() {
+ const rows = this.getSelected();
- Notify.progress("Loading, please wait...");
- }
- }
- },
- generate: function() {
- const title = prompt("Password description:")
+ if (rows.length == 0) {
+ alert("No passwords selected.");
+ } else {
+ if (confirm(__("Remove selected app passwords?"))) {
- if (title) {
- xhrPost("backend.php", {op: "pref-prefs", method: "generateAppPassword", title: title}, (transport) => {
+ xhrPost("backend.php", {op: "pref-prefs", method: "deleteAppPassword", ids: rows.toString()}, (transport) => {
this.updateContent(transport.responseText);
Notify.close();
});
Notify.progress("Loading, please wait...");
}
- },
+ }
},
- clearFeedAccessKeys: function() {
- if (confirm(__("This will invalidate all previously generated feed URLs. Continue?"))) {
- Notify.progress("Clearing URLs...");
+ generate: function() {
+ const title = prompt("Password description:")
- xhrPost("backend.php", {op: "pref-feeds", method: "clearKeys"}, () => {
- Notify.info("Generated URLs cleared.");
+ if (title) {
+ xhrPost("backend.php", {op: "pref-prefs", method: "generateAppPassword", title: title}, (transport) => {
+ this.updateContent(transport.responseText);
+ Notify.close();
});
- }
-
- return false;
- },
- updateEventLog: function() {
- xhrPost("backend.php", { op: "pref-system" }, (transport) => {
- dijit.byId('systemConfigTab').attr('content', transport.responseText);
- Notify.close();
- });
- },
- clearEventLog: function() {
- if (confirm(__("Clear event log?"))) {
Notify.progress("Loading, please wait...");
-
- xhrPost("backend.php", {op: "pref-system", method: "clearLog"}, () => {
- this.updateEventLog();
- });
}
},
- editProfiles: function() {
-
- if (dijit.byId("profileEditDlg"))
- dijit.byId("profileEditDlg").destroyRecursive();
+ },
+ clearFeedAccessKeys: function() {
+ if (confirm(__("This will invalidate all previously generated feed URLs. Continue?"))) {
+ Notify.progress("Clearing URLs...");
- const query = "backend.php?op=pref-prefs&method=editPrefProfiles";
+ xhrPost("backend.php", {op: "pref-feeds", method: "clearKeys"}, () => {
+ Notify.info("Generated URLs cleared.");
+ });
+ }
- // noinspection JSUnusedGlobalSymbols
- const dialog = new dijit.Dialog({
- id: "profileEditDlg",
- title: __("Settings Profiles"),
- style: "width: 600px",
- getSelectedProfiles: function () {
- return Tables.getSelected("pref-profiles-list");
- },
- removeSelected: function () {
- const sel_rows = this.getSelectedProfiles();
-
- if (sel_rows.length > 0) {
- if (confirm(__("Remove selected profiles? Active and default profiles will not be removed."))) {
- Notify.progress("Removing selected profiles...", true);
-
- const query = {
- op: "rpc", method: "remprofiles",
- ids: sel_rows.toString()
- };
-
- xhrPost("backend.php", query, () => {
- Notify.close();
- Helpers.editProfiles();
- });
- }
+ return false;
+ },
+ updateEventLog: function() {
+ xhrPost("backend.php", { op: "pref-system" }, (transport) => {
+ dijit.byId('systemConfigTab').attr('content', transport.responseText);
+ Notify.close();
+ });
+ },
+ clearEventLog: function() {
+ if (confirm(__("Clear event log?"))) {
+
+ Notify.progress("Loading, please wait...");
+
+ xhrPost("backend.php", {op: "pref-system", method: "clearLog"}, () => {
+ this.updateEventLog();
+ });
+ }
+ },
+ editProfiles: function() {
- } else {
- alert(__("No profiles selected."));
- }
- },
- activateProfile: function () {
- const sel_rows = this.getSelectedProfiles();
+ if (dijit.byId("profileEditDlg"))
+ dijit.byId("profileEditDlg").destroyRecursive();
- if (sel_rows.length == 1) {
- if (confirm(__("Activate selected profile?"))) {
- Notify.progress("Loading, please wait...");
+ const query = "backend.php?op=pref-prefs&method=editPrefProfiles";
- xhrPost("backend.php", {op: "rpc", method: "setprofile", id: sel_rows.toString()}, () => {
- window.location.reload();
- });
- }
+ // noinspection JSUnusedGlobalSymbols
+ const dialog = new dijit.Dialog({
+ id: "profileEditDlg",
+ title: __("Settings Profiles"),
+ style: "width: 600px",
+ getSelectedProfiles: function () {
+ return Tables.getSelected("pref-profiles-list");
+ },
+ removeSelected: function () {
+ const sel_rows = this.getSelectedProfiles();
- } else {
- alert(__("Please choose a profile to activate."));
- }
- },
- addProfile: function () {
- if (this.validate()) {
- Notify.progress("Creating profile...", true);
+ if (sel_rows.length > 0) {
+ if (confirm(__("Remove selected profiles? Active and default profiles will not be removed."))) {
+ Notify.progress("Removing selected profiles...", true);
- const query = {op: "rpc", method: "addprofile", title: dialog.attr('value').newprofile};
+ const query = {
+ op: "rpc", method: "remprofiles",
+ ids: sel_rows.toString()
+ };
xhrPost("backend.php", query, () => {
Notify.close();
Helpers.editProfiles();
});
-
}
- },
- execute: function () {
- if (this.validate()) {
- }
- },
- href: query
- });
- dialog.show();
- },
- customizeCSS: function() {
- const query = "backend.php?op=pref-prefs&method=customizeCSS";
+ } else {
+ alert(__("No profiles selected."));
+ }
+ },
+ activateProfile: function () {
+ const sel_rows = this.getSelectedProfiles();
- if (dijit.byId("cssEditDlg"))
- dijit.byId("cssEditDlg").destroyRecursive();
+ if (sel_rows.length == 1) {
+ if (confirm(__("Activate selected profile?"))) {
+ Notify.progress("Loading, please wait...");
- const dialog = new dijit.Dialog({
- id: "cssEditDlg",
- title: __("Customize stylesheet"),
- style: "width: 600px",
- apply: function() {
- xhrPost("backend.php", this.attr('value'), () => {
- new Effect.Appear("css_edit_apply_msg");
- $("user_css_style").innerText = this.attr('value');
- });
- },
- execute: function () {
- Notify.progress('Saving data...', true);
+ xhrPost("backend.php", {op: "rpc", method: "setprofile", id: sel_rows.toString()}, () => {
+ window.location.reload();
+ });
+ }
- xhrPost("backend.php", this.attr('value'), () => {
- window.location.reload();
- });
+ } else {
+ alert(__("Please choose a profile to activate."));
+ }
+ },
+ addProfile: function () {
+ if (this.validate()) {
+ Notify.progress("Creating profile...", true);
- },
- href: query
- });
+ const query = {op: "rpc", method: "addprofile", title: dialog.attr('value').newprofile};
- dialog.show();
- },
- confirmReset: function() {
- if (confirm(__("Reset to defaults?"))) {
- xhrPost("backend.php", {op: "pref-prefs", method: "resetconfig"}, (transport) => {
- Helpers.refresh();
- Notify.info(transport.responseText);
+ xhrPost("backend.php", query, () => {
+ Notify.close();
+ Helpers.editProfiles();
+ });
+
+ }
+ },
+ execute: function () {
+ if (this.validate()) {
+ }
+ },
+ href: query
+ });
+
+ dialog.show();
+ },
+ customizeCSS: function() {
+ const query = "backend.php?op=pref-prefs&method=customizeCSS";
+
+ if (dijit.byId("cssEditDlg"))
+ dijit.byId("cssEditDlg").destroyRecursive();
+
+ const dialog = new dijit.Dialog({
+ id: "cssEditDlg",
+ title: __("Customize stylesheet"),
+ style: "width: 600px",
+ apply: function() {
+ xhrPost("backend.php", this.attr('value'), () => {
+ new Effect.Appear("css_edit_apply_msg");
+ $("user_css_style").innerText = this.attr('value');
});
- }
- },
- clearPluginData: function(name) {
- if (confirm(__("Clear stored data for this plugin?"))) {
- Notify.progress("Loading, please wait...");
+ },
+ execute: function () {
+ Notify.progress('Saving data...', true);
- xhrPost("backend.php", {op: "pref-prefs", method: "clearplugindata", name: name}, () => {
- Helpers.refresh();
+ xhrPost("backend.php", this.attr('value'), () => {
+ window.location.reload();
});
- }
- },
- refresh: function() {
- xhrPost("backend.php", { op: "pref-prefs" }, (transport) => {
- dijit.byId('genConfigTab').attr('content', transport.responseText);
- Notify.close();
+
+ },
+ href: query
+ });
+
+ dialog.show();
+ },
+ confirmReset: function() {
+ if (confirm(__("Reset to defaults?"))) {
+ xhrPost("backend.php", {op: "pref-prefs", method: "resetconfig"}, (transport) => {
+ Helpers.refresh();
+ Notify.info(transport.responseText);
});
- },
- OPML: {
- import: function() {
- const opml_file = $("opml_file");
+ }
+ },
+ clearPluginData: function(name) {
+ if (confirm(__("Clear stored data for this plugin?"))) {
+ Notify.progress("Loading, please wait...");
- if (opml_file.value.length == 0) {
- alert(__("Please choose an OPML file first."));
- return false;
- } else {
- Notify.progress("Importing, please wait...", true);
+ xhrPost("backend.php", {op: "pref-prefs", method: "clearplugindata", name: name}, () => {
+ Helpers.refresh();
+ });
+ }
+ },
+ refresh: function() {
+ xhrPost("backend.php", { op: "pref-prefs" }, (transport) => {
+ dijit.byId('genConfigTab').attr('content', transport.responseText);
+ Notify.close();
+ });
+ },
+ OPML: {
+ import: function() {
+ const opml_file = $("opml_file");
+
+ if (opml_file.value.length == 0) {
+ alert(__("Please choose an OPML file first."));
+ return false;
+ } else {
+ Notify.progress("Importing, please wait...", true);
- Element.show("upload_iframe");
+ Element.show("upload_iframe");
- return true;
- }
- },
- onImportComplete: function(iframe) {
- if (!iframe.contentDocument.body.innerHTML) return false;
+ return true;
+ }
+ },
+ onImportComplete: function(iframe) {
+ if (!iframe.contentDocument.body.innerHTML) return false;
- Element.show(iframe);
+ Element.show(iframe);
- Notify.close();
+ Notify.close();
- if (dijit.byId('opmlImportDlg'))
- dijit.byId('opmlImportDlg').destroyRecursive();
+ if (dijit.byId('opmlImportDlg'))
+ dijit.byId('opmlImportDlg').destroyRecursive();
- const content = iframe.contentDocument.body.innerHTML;
+ const content = iframe.contentDocument.body.innerHTML;
- const dialog = new dijit.Dialog({
- id: "opmlImportDlg",
- title: __("OPML Import"),
- style: "width: 600px",
- onCancel: function () {
- window.location.reload();
- },
- execute: function () {
- window.location.reload();
- },
- content: content
- });
+ const dialog = new dijit.Dialog({
+ id: "opmlImportDlg",
+ title: __("OPML Import"),
+ style: "width: 600px",
+ onCancel: function () {
+ window.location.reload();
+ },
+ execute: function () {
+ window.location.reload();
+ },
+ content: content
+ });
- dojo.connect(dialog, "onShow", function () {
- Element.hide(iframe);
- });
+ dojo.connect(dialog, "onShow", function () {
+ Element.hide(iframe);
+ });
- dialog.show();
- },
- export: function() {
- console.log("export");
- window.open("backend.php?op=opml&method=export&" + dojo.formToQuery("opmlExportForm"));
- },
- changeKey: function() {
- if (confirm(__("Replace current OPML publishing address with a new one?"))) {
- Notify.progress("Trying to change address...", true);
+ dialog.show();
+ },
+ export: function() {
+ console.log("export");
+ window.open("backend.php?op=opml&method=export&" + dojo.formToQuery("opmlExportForm"));
+ },
+ changeKey: function() {
+ if (confirm(__("Replace current OPML publishing address with a new one?"))) {
+ Notify.progress("Trying to change address...", true);
- xhrJson("backend.php", {op: "pref-feeds", method: "regenOPMLKey"}, (reply) => {
- if (reply) {
- const new_link = reply.link;
- const e = $('pub_opml_url');
+ xhrJson("backend.php", {op: "pref-feeds", method: "regenOPMLKey"}, (reply) => {
+ if (reply) {
+ const new_link = reply.link;
+ const e = $('pub_opml_url');
- if (new_link) {
- e.href = new_link;
- e.innerHTML = new_link;
+ if (new_link) {
+ e.href = new_link;
+ e.innerHTML = new_link;
- new Effect.Highlight(e);
+ new Effect.Highlight(e);
- Notify.close();
+ Notify.close();
- } else {
- Notify.error("Could not change feed URL.");
- }
+ } else {
+ Notify.error("Could not change feed URL.");
}
- });
- }
- return false;
- },
- }
- };
-
- return Helpers;
-});
+ }
+ });
+ }
+ return false;
+ },
+ }
+};
diff --git a/js/PrefUsers.js b/js/PrefUsers.js
index 55dc43dfa..1e7ed6523 100644
--- a/js/PrefUsers.js
+++ b/js/PrefUsers.js
@@ -1,122 +1,118 @@
'use strict'
/* global __, ngettext */
-define(["dojo/_base/declare"], function (declare) {
- Users = {
- reload: function(sort) {
- const user_search = $("user_search");
- const search = user_search ? user_search.value : "";
-
- xhrPost("backend.php", { op: "pref-users", sort: sort, search: search }, (transport) => {
- dijit.byId('userConfigTab').attr('content', transport.responseText);
- Notify.close();
- });
- },
- add: function() {
- const login = prompt(__("Please enter username:"), "");
-
- if (login) {
- Notify.progress("Adding user...");
-
- xhrPost("backend.php", {op: "pref-users", method: "add", login: login}, (transport) => {
- alert(transport.responseText);
- Users.reload();
- });
- }
- },
- edit: function(id) {
- const query = "backend.php?op=pref-users&method=edit&id=" +
- encodeURIComponent(id);
-
- if (dijit.byId("userEditDlg"))
- dijit.byId("userEditDlg").destroyRecursive();
-
- const dialog = new dijit.Dialog({
- id: "userEditDlg",
- title: __("User Editor"),
- style: "width: 600px",
- execute: function () {
- if (this.validate()) {
- Notify.progress("Saving data...", true);
-
- xhrPost("backend.php", dojo.formToObject("user_edit_form"), (transport) => {
- dialog.hide();
- Users.reload();
- });
- }
- },
- href: query
+const Users = {
+ reload: function(sort) {
+ const user_search = $("user_search");
+ const search = user_search ? user_search.value : "";
+
+ xhrPost("backend.php", { op: "pref-users", sort: sort, search: search }, (transport) => {
+ dijit.byId('userConfigTab').attr('content', transport.responseText);
+ Notify.close();
+ });
+ },
+ add: function() {
+ const login = prompt(__("Please enter username:"), "");
+
+ if (login) {
+ Notify.progress("Adding user...");
+
+ xhrPost("backend.php", {op: "pref-users", method: "add", login: login}, (transport) => {
+ alert(transport.responseText);
+ Users.reload();
});
- dialog.show();
- },
- resetSelected: function() {
- const rows = this.getSelection();
-
- if (rows.length == 0) {
- alert(__("No users selected."));
- return;
- }
-
- if (rows.length > 1) {
- alert(__("Please select one user."));
- return;
- }
-
- if (confirm(__("Reset password of selected user?"))) {
- Notify.progress("Resetting password for selected user...");
+ }
+ },
+ edit: function(id) {
+ const query = "backend.php?op=pref-users&method=edit&id=" +
+ encodeURIComponent(id);
+
+ if (dijit.byId("userEditDlg"))
+ dijit.byId("userEditDlg").destroyRecursive();
+
+ const dialog = new dijit.Dialog({
+ id: "userEditDlg",
+ title: __("User Editor"),
+ style: "width: 600px",
+ execute: function () {
+ if (this.validate()) {
+ Notify.progress("Saving data...", true);
+
+ xhrPost("backend.php", dojo.formToObject("user_edit_form"), (transport) => {
+ dialog.hide();
+ Users.reload();
+ });
+ }
+ },
+ href: query
+ });
+
+ dialog.show();
+ },
+ resetSelected: function() {
+ const rows = this.getSelection();
+
+ if (rows.length == 0) {
+ alert(__("No users selected."));
+ return;
+ }
- const id = rows[0];
+ if (rows.length > 1) {
+ alert(__("Please select one user."));
+ return;
+ }
- xhrPost("backend.php", {op: "pref-users", method: "resetPass", id: id}, (transport) => {
- Notify.close();
- Notify.info(transport.responseText, true);
- });
+ if (confirm(__("Reset password of selected user?"))) {
+ Notify.progress("Resetting password for selected user...");
- }
- },
- removeSelected: function() {
- const sel_rows = this.getSelection();
+ const id = rows[0];
- if (sel_rows.length > 0) {
- if (confirm(__("Remove selected users? Neither default admin nor your account will be removed."))) {
- Notify.progress("Removing selected users...");
+ xhrPost("backend.php", {op: "pref-users", method: "resetPass", id: id}, (transport) => {
+ Notify.close();
+ Notify.info(transport.responseText, true);
+ });
- const query = {
- op: "pref-users", method: "remove",
- ids: sel_rows.toString()
- };
+ }
+ },
+ removeSelected: function() {
+ const sel_rows = this.getSelection();
- xhrPost("backend.php", query, () => {
- this.reload();
- });
- }
+ if (sel_rows.length > 0) {
+ if (confirm(__("Remove selected users? Neither default admin nor your account will be removed."))) {
+ Notify.progress("Removing selected users...");
- } else {
- alert(__("No users selected."));
- }
- },
- editSelected: function() {
- const rows = this.getSelection();
+ const query = {
+ op: "pref-users", method: "remove",
+ ids: sel_rows.toString()
+ };
- if (rows.length == 0) {
- alert(__("No users selected."));
- return;
+ xhrPost("backend.php", query, () => {
+ this.reload();
+ });
}
- if (rows.length > 1) {
- alert(__("Please select one user."));
- return;
- }
+ } else {
+ alert(__("No users selected."));
+ }
+ },
+ editSelected: function() {
+ const rows = this.getSelection();
- this.edit(rows[0]);
- },
- getSelection :function() {
- return Tables.getSelected("prefUserList");
+ if (rows.length == 0) {
+ alert(__("No users selected."));
+ return;
}
- }
- return Users;
-});
+ if (rows.length > 1) {
+ alert(__("Please select one user."));
+ return;
+ }
+ this.edit(rows[0]);
+ },
+ getSelection :function() {
+ return Tables.getSelected("prefUserList");
+ }
+}
diff --git a/js/prefs.js b/js/prefs.js
index 96fcbd948..3db2fa4ea 100755
--- a/js/prefs.js
+++ b/js/prefs.js
@@ -2,10 +2,6 @@
/* global dijit, __ */
let App;
-let CommonDialogs;
-let Filters;
-let Users;
-let Helpers;
const Plugins = {};