summaryrefslogtreecommitdiff
path: root/js/prefs.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-06-04 22:19:23 +0300
committerAndrew Dolgov <[email protected]>2020-06-04 22:19:23 +0300
commit9d28b3ac506ad6953fad0b1c08919dc9d07da3ae (patch)
tree5d3eab68d5d1d2c209cf4a18461b7ccb595262da /js/prefs.js
parent30ed5d7c3cee427eaea7a00c0ddda44ab461eaae (diff)
unify prefs/main App objects, remove fake classes, use single static App object instead
Diffstat (limited to 'js/prefs.js')
-rwxr-xr-xjs/prefs.js105
1 files changed, 4 insertions, 101 deletions
diff --git a/js/prefs.js b/js/prefs.js
index 3db2fa4ea..94cfe6394 100755
--- a/js/prefs.js
+++ b/js/prefs.js
@@ -1,7 +1,4 @@
'use strict'
-/* global dijit, __ */
-
-let App;
const Plugins = {};
@@ -9,7 +6,7 @@ require(["dojo/_base/kernel",
"dojo/_base/declare",
"dojo/ready",
"dojo/parser",
- "fox/AppBase",
+ "fox/App",
"dojo/_base/loader",
"dojo/_base/html",
"dijit/ColorPalette",
@@ -54,107 +51,13 @@ require(["dojo/_base/kernel",
"fox/form/ValidationTextArea",
"fox/form/Select",
"fox/form/ComboButton",
- "fox/form/DropDownButton"], function (dojo, declare, ready, parser, AppBase) {
+ "fox/form/DropDownButton"], function (dojo, declare, ready, parser) {
ready(function () {
try {
- const _App = declare("fox.App", AppBase, {
- constructor: function() {
- this.setupNightModeDetection(() => {
- parser.parse();
-
- this.setLoadingProgress(50);
-
- const clientTzOffset = new Date().getTimezoneOffset() * 60;
- const params = {op: "rpc", method: "sanityCheck", clientTzOffset: clientTzOffset};
-
- xhrPost("backend.php", params, (transport) => {
- try {
- this.backendSanityCallback(transport);
- } catch (e) {
- this.Error.report(e);
- }
- });
- });
- },
- initSecondStage: function() {
- this.enableCsrfSupport();
-
- document.onkeydown = (event) => { return App.hotkeyHandler(event) };
- document.onkeypress = (event) => { return App.hotkeyHandler(event) };
- App.setLoadingProgress(50);
- Notify.close();
-
- let tab = App.urlParam('tab');
-
- if (tab) {
- tab = dijit.byId(tab + "Tab");
- if (tab) {
- dijit.byId("pref-tabs").selectChild(tab);
-
- switch (App.urlParam('method')) {
- case "editfeed":
- window.setTimeout(function () {
- CommonDialogs.editFeed(App.urlParam('methodparam'))
- }, 100);
- break;
- default:
- console.warn("initSecondStage, unknown method:", App.urlParam("method"));
- }
- }
- } else {
- let tab = localStorage.getItem("ttrss:prefs-tab");
-
- if (tab) {
- tab = dijit.byId(tab);
- if (tab) {
- dijit.byId("pref-tabs").selectChild(tab);
- }
- }
- }
-
- dojo.connect(dijit.byId("pref-tabs"), "selectChild", function (elem) {
- localStorage.setItem("ttrss:prefs-tab", elem.id);
- });
-
- },
- hotkeyHandler: function (event) {
- if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") return;
-
- // Arrow buttons and escape are not reported via keypress, handle them via keydown.
- // escape = 27, left = 37, up = 38, right = 39, down = 40
- if (event.type == "keydown" && event.which != 27 && (event.which < 37 || event.which > 40)) return;
-
- const action_name = App.keyeventToAction(event);
-
- if (action_name) {
- switch (action_name) {
- case "feed_subscribe":
- CommonDialogs.quickAddFeed();
- return false;
- case "create_label":
- CommonDialogs.addLabel();
- return false;
- case "create_filter":
- Filters.quickAddFilter();
- return false;
- case "help_dialog":
- App.helpDialog("main");
- return false;
- default:
- console.log("unhandled action: " + action_name + "; keycode: " + event.which);
- }
- }
- },
- isPrefs: function() {
- return true;
- }
- });
-
- App = new _App();
-
+ App.init(parser, true);
} catch (e) {
- if (App && App.Error)
+ if (typeof App != "undefined" && App.Error)
App.Error.report(e);
else
alert(e + "\n\n" + e.stack);