From 8766744aa4a94193dd03bba39086e4522914e8ef Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 16 Jan 2021 10:22:24 -0500 Subject: Popup window options (#1245) * Add popupWindow options * Add toBoolean converter * Add settings * Use new options * Add test link * Fix window state not working * Make the window section advanced only --- ext/bg/js/settings2/popup-window-controller.js | 38 ++++++++++++++++++++++++++ ext/bg/js/settings2/settings-main.js | 4 +++ 2 files changed, 42 insertions(+) create mode 100644 ext/bg/js/settings2/popup-window-controller.js (limited to 'ext/bg/js/settings2') diff --git a/ext/bg/js/settings2/popup-window-controller.js b/ext/bg/js/settings2/popup-window-controller.js new file mode 100644 index 00000000..cc83db68 --- /dev/null +++ b/ext/bg/js/settings2/popup-window-controller.js @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 Yomichan Authors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* global + * api + */ + +class PopupWindowController { + prepare() { + const testLink = document.querySelector('#test-window-open-link'); + testLink.addEventListener('click', this._onTestWindowOpenLinkClick.bind(this), false); + } + + // Private + + _onTestWindowOpenLinkClick(e) { + e.preventDefault(); + this._testWindowOpen(); + } + + async _testWindowOpen() { + await api.getOrCreateSearchPopup({focus: true}); + } +} diff --git a/ext/bg/js/settings2/settings-main.js b/ext/bg/js/settings2/settings-main.js index f2852ab1..76a40d81 100644 --- a/ext/bg/js/settings2/settings-main.js +++ b/ext/bg/js/settings2/settings-main.js @@ -29,6 +29,7 @@ * ModalController * NestedPopupsController * PopupPreviewController + * PopupWindowController * ProfileController * ScanInputsController * ScanInputsSimpleController @@ -132,6 +133,9 @@ async function setupGenericSettingsController(genericSettingController) { const keyboardShortcutController = new KeyboardShortcutController(settingsController); keyboardShortcutController.prepare(); + const popupWindowController = new PopupWindowController(); + popupWindowController.prepare(); + await Promise.all(preparePromises); document.documentElement.dataset.loaded = 'true'; -- cgit v1.2.3