unify files
This commit is contained in:
parent
a202817b98
commit
8b50dfe1e9
@ -9,8 +9,7 @@
|
||||
<script src="/mixed/lib/jszip.min.js"></script>
|
||||
<script src="/mixed/lib/wanakana.min.js"></script>
|
||||
|
||||
<script src="/bg/js/anki-connect.js"></script>
|
||||
<script src="/bg/js/anki-null.js"></script>
|
||||
<script src="/bg/js/anki.js"></script>
|
||||
<script src="/bg/js/api.js"></script>
|
||||
<script src="/bg/js/database.js"></script>
|
||||
<script src="/bg/js/deinflector.js"></script>
|
||||
@ -20,7 +19,6 @@
|
||||
<script src="/bg/js/templates.js"></script>
|
||||
<script src="/bg/js/translator.js"></script>
|
||||
<script src="/bg/js/util.js"></script>
|
||||
<script src="/bg/js/util.js"></script>
|
||||
<script src="/mixed/js/audio.js"></script>
|
||||
<script src="/mixed/js/japanese.js"></script>
|
||||
<script src="/mixed/js/request.js"></script>
|
||||
|
@ -1,44 +0,0 @@
|
||||
/*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
|
||||
class AnkiNull {
|
||||
async addNote(note) {
|
||||
return null;
|
||||
}
|
||||
|
||||
async canAddNotes(notes) {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getDeckNames() {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getModelNames() {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getModelFieldNames(modelName) {
|
||||
return [];
|
||||
}
|
||||
|
||||
async guiBrowse(query) {
|
||||
return [];
|
||||
}
|
||||
}
|
@ -67,3 +67,29 @@ class AnkiConnect {
|
||||
return requestJson(this.server, 'POST', {action, params, version: this.localVersion});
|
||||
}
|
||||
}
|
||||
|
||||
class AnkiNull {
|
||||
async addNote(note) {
|
||||
return null;
|
||||
}
|
||||
|
||||
async canAddNotes(notes) {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getDeckNames() {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getModelNames() {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getModelFieldNames(modelName) {
|
||||
return [];
|
||||
}
|
||||
|
||||
async guiBrowse(query) {
|
||||
return [];
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
|
||||
window.yomichan_backend = new class {
|
||||
class Backend {
|
||||
constructor() {
|
||||
this.translator = new Translator();
|
||||
this.anki = new AnkiNull();
|
||||
@ -113,6 +113,7 @@ window.yomichan_backend = new class {
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
window.yomichan_backend = new Backend();
|
||||
window.yomichan_backend.prepare();
|
||||
|
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
|
||||
class TextSourceElement {
|
||||
constructor(element, content='') {
|
||||
this.element = element;
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
clone() {
|
||||
return new TextSourceElement(this.element, this.content);
|
||||
}
|
||||
|
||||
text() {
|
||||
return this.content;
|
||||
}
|
||||
|
||||
setEndOffset(length) {
|
||||
switch (this.element.nodeName) {
|
||||
case 'BUTTON':
|
||||
this.content = this.element.innerHTML;
|
||||
break;
|
||||
case 'IMG':
|
||||
this.content = this.element.getAttribute('alt');
|
||||
break;
|
||||
default:
|
||||
this.content = this.element.value;
|
||||
break;
|
||||
}
|
||||
|
||||
this.content = this.content || '';
|
||||
this.content = this.content.substring(0, length);
|
||||
|
||||
return this.content.length;
|
||||
}
|
||||
|
||||
setStartOffset(length) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
containsPoint(point) {
|
||||
const rect = this.getRect();
|
||||
return point.x >= rect.left && point.x <= rect.right;
|
||||
}
|
||||
|
||||
getRect() {
|
||||
return this.element.getBoundingClientRect();
|
||||
}
|
||||
|
||||
select() {
|
||||
// NOP
|
||||
}
|
||||
|
||||
deselect() {
|
||||
// NOP
|
||||
}
|
||||
|
||||
equals(other) {
|
||||
return other.element === this.element && other.content === this.content;
|
||||
}
|
||||
}
|
@ -174,3 +174,63 @@ class TextSourceRange {
|
||||
return state.remainder > 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class TextSourceElement {
|
||||
constructor(element, content='') {
|
||||
this.element = element;
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
clone() {
|
||||
return new TextSourceElement(this.element, this.content);
|
||||
}
|
||||
|
||||
text() {
|
||||
return this.content;
|
||||
}
|
||||
|
||||
setEndOffset(length) {
|
||||
switch (this.element.nodeName) {
|
||||
case 'BUTTON':
|
||||
this.content = this.element.innerHTML;
|
||||
break;
|
||||
case 'IMG':
|
||||
this.content = this.element.getAttribute('alt');
|
||||
break;
|
||||
default:
|
||||
this.content = this.element.value;
|
||||
break;
|
||||
}
|
||||
|
||||
this.content = this.content || '';
|
||||
this.content = this.content.substring(0, length);
|
||||
|
||||
return this.content.length;
|
||||
}
|
||||
|
||||
setStartOffset(length) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
containsPoint(point) {
|
||||
const rect = this.getRect();
|
||||
return point.x >= rect.left && point.x <= rect.right;
|
||||
}
|
||||
|
||||
getRect() {
|
||||
return this.element.getBoundingClientRect();
|
||||
}
|
||||
|
||||
select() {
|
||||
// NOP
|
||||
}
|
||||
|
||||
deselect() {
|
||||
// NOP
|
||||
}
|
||||
|
||||
equals(other) {
|
||||
return other.element === this.element && other.content === this.content;
|
||||
}
|
||||
}
|
@ -18,8 +18,7 @@
|
||||
"fg/js/api.js",
|
||||
"fg/js/document.js",
|
||||
"fg/js/popup.js",
|
||||
"fg/js/source-element.js",
|
||||
"fg/js/source-range.js",
|
||||
"fg/js/source.js",
|
||||
"fg/js/util.js",
|
||||
|
||||
"fg/js/frontend.js"
|
||||
|
Loading…
Reference in New Issue
Block a user