summaryrefslogtreecommitdiff
path: root/ext/bg/js/display-window.js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-03-04 17:56:10 -0800
committerAlex Yatskov <alex@foosoft.net>2017-03-04 17:56:10 -0800
commitb039d300249087aee18c7e8565ae7447d2cf5b15 (patch)
treeba38dfd95b4005cb14953685dc12efc675bc8024 /ext/bg/js/display-window.js
parentc8eb77cfd9e30625ae33739b7de5a86f59d0457c (diff)
wip
Diffstat (limited to 'ext/bg/js/display-window.js')
-rw-r--r--ext/bg/js/display-window.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/bg/js/display-window.js b/ext/bg/js/display-window.js
new file mode 100644
index 00000000..44d1f7a9
--- /dev/null
+++ b/ext/bg/js/display-window.js
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2016 Alex Yatskov <alex@foosoft.net>
+ * Author: Alex Yatskov <alex@foosoft.net>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+
+window.displayWindow = new class extends Display {
+ constructor() {
+ super($('#spinner'), $('#content'));
+ $('#search').click(this.onSearch.bind(this));
+ }
+
+ definitionAdd(definition, mode) {
+ return instYomi().definitionAdd(definition, mode);
+ }
+
+ definitionsAddable(definitions, modes) {
+ return instYomi().definitionsAddable(definitions, modes);
+ }
+
+ textRender(template, data) {
+ return instYomi().textRender(template, data);
+ }
+
+ kanjiFind(character) {
+ return instYomi().kanjiFind(character);
+ }
+
+ handleError(error) {
+ window.alert(`Error: ${error}`);
+ }
+
+ onSearch(e) {
+ e.preventDefault();
+ instYomi().termsFind($('#query').val()).then(({length, definitions}) => {
+ super.showTermDefs(definitions, instYomi().options);
+ }).catch(this.handleError.bind(this));
+ }
+};