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/jszip.min.js"></script>
|
||||||
<script src="/mixed/lib/wanakana.min.js"></script>
|
<script src="/mixed/lib/wanakana.min.js"></script>
|
||||||
|
|
||||||
<script src="/bg/js/anki-connect.js"></script>
|
<script src="/bg/js/anki.js"></script>
|
||||||
<script src="/bg/js/anki-null.js"></script>
|
|
||||||
<script src="/bg/js/api.js"></script>
|
<script src="/bg/js/api.js"></script>
|
||||||
<script src="/bg/js/database.js"></script>
|
<script src="/bg/js/database.js"></script>
|
||||||
<script src="/bg/js/deinflector.js"></script>
|
<script src="/bg/js/deinflector.js"></script>
|
||||||
@ -20,7 +19,6 @@
|
|||||||
<script src="/bg/js/templates.js"></script>
|
<script src="/bg/js/templates.js"></script>
|
||||||
<script src="/bg/js/translator.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="/bg/js/util.js"></script>
|
|
||||||
<script src="/mixed/js/audio.js"></script>
|
<script src="/mixed/js/audio.js"></script>
|
||||||
<script src="/mixed/js/japanese.js"></script>
|
<script src="/mixed/js/japanese.js"></script>
|
||||||
<script src="/mixed/js/request.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});
|
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() {
|
constructor() {
|
||||||
this.translator = new Translator();
|
this.translator = new Translator();
|
||||||
this.anki = new AnkiNull();
|
this.anki = new AnkiNull();
|
||||||
@ -113,6 +113,7 @@ window.yomichan_backend = new class {
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
|
window.yomichan_backend = new Backend();
|
||||||
window.yomichan_backend.prepare();
|
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;
|
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/api.js",
|
||||||
"fg/js/document.js",
|
"fg/js/document.js",
|
||||||
"fg/js/popup.js",
|
"fg/js/popup.js",
|
||||||
"fg/js/source-element.js",
|
"fg/js/source.js",
|
||||||
"fg/js/source-range.js",
|
|
||||||
"fg/js/util.js",
|
"fg/js/util.js",
|
||||||
|
|
||||||
"fg/js/frontend.js"
|
"fg/js/frontend.js"
|
||||||
|
Loading…
Reference in New Issue
Block a user