Commit Graph

275 Commits

Author SHA1 Message Date
siikamiika
619df42aed simplify to enable constant usage 2020-04-14 21:25:02 +03:00
siikamiika
3fa8b8e186 prevent infinite loop if source length is 0 2020-04-14 21:21:52 +03:00
toasted-nutbread
bf971be15b
Merge pull request #444 from toasted-nutbread/unused-globals
Check for unused globals as part of CI
2020-04-13 18:55:19 -04:00
siikamiika
f93dc85710 assume and propagate strings for text parsing 2020-04-13 22:55:33 +03:00
siikamiika
c613321a73 move QueryParser.parseText to Backend 2020-04-13 14:53:24 +03:00
toasted-nutbread
ebfc7ca945 Pass anki reference to AnkiNoteBuilder constructor 2020-04-12 12:46:32 -04:00
toasted-nutbread
4c2ca82a29 Use single instance of AnkiConnect 2020-04-12 12:38:33 -04:00
toasted-nutbread
51e17b35e3 Convert some util* functions into api* functions 2020-04-11 15:25:19 -04:00
toasted-nutbread
a864cf094f
Merge pull request #437 from toasted-nutbread/backend-api-handler-changes
Backend api handler changes
2020-04-11 11:32:52 -04:00
toasted-nutbread
a296c758b9 apiBroadcast => apiBroadcastTab 2020-04-10 20:00:18 -04:00
toasted-nutbread
d164fc6f62 Remove unused globals 2020-04-10 18:45:23 -04:00
4e5029f7ec Update license author field to broader to explicitly reflect that
Yomichan is an ongoing community project. It really does take a village,
and everyone who contributes code owns a part of it :)
2020-04-10 11:10:21 -07:00
toasted-nutbread
c88ec43ad1 Fix yomichanCoreReady waiting for a response 2020-04-07 19:59:10 -04:00
toasted-nutbread
a2b66dc6cc Rename apiForward to apiBroadcast 2020-04-07 19:51:39 -04:00
toasted-nutbread
96566b8581 Update forward to be synchronous and ignore the reply 2020-04-07 19:49:54 -04:00
toasted-nutbread
038e43d19d Update some API handlers to be synchronous 2020-04-07 19:47:46 -04:00
toasted-nutbread
82462edce0 Add support for API handlers to be optionally asynchronous 2020-04-07 19:41:02 -04:00
toasted-nutbread
8a419dfa67 Pass AudioSystem instance to AnkiNoteBuilder constructor 2020-04-07 19:04:47 -04:00
toasted-nutbread
efcdff72a3 Move media injection functions into AnkiNoteBuilder 2020-04-07 19:04:47 -04:00
toasted-nutbread
059db280bb Add custom context object for note creation 2020-04-06 18:20:04 -04:00
toasted-nutbread
8b07a23de9 Rename context to details 2020-04-06 18:20:04 -04:00
toasted-nutbread
9052ab8ebd Move dictionary import functionality into a new class 2020-03-30 20:51:20 -04:00
toasted-nutbread
02f7763f00 Add importDictionary function to Backend 2020-03-30 20:45:36 -04:00
toasted-nutbread
c193a703cc Move database creation into Backend 2020-03-30 20:39:04 -04:00
toasted-nutbread
0f15cca2df Convert Japanese utilities to a module-like style 2020-03-15 22:24:30 -04:00
toasted-nutbread
64fc0349a1 Update global declarations 2020-03-10 22:40:35 -04:00
toasted-nutbread
36c55f0b17
Merge pull request #401 from toasted-nutbread/audio-refactor
Audio refactor
2020-03-10 19:20:34 -04:00
toasted-nutbread
0cbf427ab5 Update argument order 2020-03-09 21:00:57 -04:00
siikamiika
0112dbab33 fix searchQueryUpdate 2020-03-09 04:06:31 +02:00
toasted-nutbread
aad4ab5ecc Rename audio functions using "url" to use "uri" 2020-03-07 21:57:26 -05:00
toasted-nutbread
391f3dd29a Update how audio URIs are built 2020-03-07 21:57:26 -05:00
toasted-nutbread
21d194d145 Make _audioInject internal to Backend 2020-03-07 21:56:15 -05:00
toasted-nutbread
7ac1c843a9 Use dependency injection for apiTemplateRender 2020-03-07 21:47:48 -05:00
toasted-nutbread
69cce49b0d Move Anki note generation functionality into a new class 2020-03-07 21:46:59 -05:00
toasted-nutbread
a8eb50d96f Use dependency injection for getAudioUri implementation 2020-03-07 21:43:51 -05:00
toasted-nutbread
cadcd72fad Use AudioSystem in Backend 2020-03-07 21:42:18 -05:00
toasted-nutbread
b8eb5e6016
Merge pull request #397 from toasted-nutbread/clipboard-monitor-refactor2
Clipboard monitor refactor
2020-03-07 21:41:45 -05:00
toasted-nutbread
eea9dc68b9 Fix runtime.lastError error on startup in Firefox 2020-03-07 17:41:57 -05:00
toasted-nutbread
93aa275d82 Use explicit dependency injection for ClipboardMonitor 2020-03-07 10:47:30 -05:00
toasted-nutbread
7822230b7f Use events for ClipboardMonitor 2020-03-07 10:41:31 -05:00
siikamiika
de8d9e6bf1 fix return type 2020-03-04 05:28:22 +02:00
siikamiika
9ceb663f29 add missing runtime message for backendPrepared 2020-03-03 00:05:01 +02:00
siikamiika
e6347a94e7 prepare Backend for browser_action 2020-03-02 23:26:55 +02:00
siikamiika
e0edb30efd fix Backend prepare issues in settings 2020-03-02 11:18:09 +02:00
siikamiika
bd48d2f919 fix Yomichan core message issues 2020-03-02 10:35:46 +02:00
siikamiika
967e99b7f6 ensure Backend prepare in other places 2020-03-02 04:51:45 +02:00
siikamiika
e6e5f23cf8 fix API calls when Backend isn't ready yet 2020-03-02 00:39:15 +02:00
siikamiika
2abf46b6fa simplify backend prepare 2020-03-01 23:06:37 +02:00
toasted-nutbread
8e29da0c6b Load default Anki field templates from a file 2020-02-27 20:33:13 -05:00
toasted-nutbread
8bc1a40914 Use .bind instead of () => {} 2020-02-26 21:01:40 -05:00
toasted-nutbread
8d5d034516 Move event handler definitions 2020-02-26 19:22:32 -05:00
toasted-nutbread
b391704f3d Use for of 2020-02-25 22:13:06 -05:00
toasted-nutbread
7b97138ad1 Changed type returned by apiTextParseMecab to avoid using for in 2020-02-25 22:13:03 -05:00
siikamiika
a0d5d9a821 fix opening options in new tab 2020-02-26 01:54:40 +02:00
toasted-nutbread
7697643966 Reject with a consistent error 2020-02-23 11:59:57 -05:00
toasted-nutbread
c0d91bffc4 Add no-shadow 2020-02-22 14:53:02 -05:00
toasted-nutbread
6d75637ace Fix brace style issues 2020-02-22 14:52:08 -05:00
toasted-nutbread
b6718dc4a4 Use findTerms instead of findTermsInternal 2020-02-22 14:43:06 -05:00
toasted-nutbread
0f46e3a093 Use a token to ensure that messages are coming from Yomichan 2020-02-17 11:02:21 -05:00
toasted-nutbread
e173a71ba6 Fix CSS injection on about:blank pages 2020-02-16 21:46:13 -05:00
toasted-nutbread
2c3f510010 Allow apiInjectStylesheet to inject a URL 2020-02-16 21:43:35 -05:00
toasted-nutbread
faf15c08aa Rename optionsUpdate event to optionsUpdated
Past tense better indicates that the options were changed, but no data
is being included as part of the event. It is also more consistent with
the other event names the yomichan object currently provides.
2020-02-14 22:34:44 -05:00
toasted-nutbread
e3c871bc00 Remove unused handlebarsRenderStatic 2020-02-13 20:50:30 -05:00
toasted-nutbread
e2ac478cb7 Define more globals 2020-02-11 22:22:16 -05:00
toasted-nutbread
4629fb3639 Change no-undef from off to error 2020-02-11 22:22:16 -05:00
siikamiika
6c63a17d66 query parser html templates 2020-02-10 21:19:18 +02:00
siikamiika
460d306f60 update popup search with chrome.tabs.sendMessage 2020-02-10 01:16:06 +02:00
siikamiika
89729d8c20 reuse existing popup window 2020-02-10 00:39:05 +02:00
siikamiika
56f1f8384d use parseUrl in Backend 2020-02-10 00:09:29 +02:00
siikamiika
d4e74a0572 fix existing tab focus 2020-02-09 22:16:52 +02:00
siikamiika
1797edc7d8 check chrome.windows support before using 2020-02-09 21:51:33 +02:00
siikamiika
9fbd47e4ea rename sameTab --> existingOrNewTab 2020-02-09 21:51:33 +02:00
siikamiika
c16c38638b hide search input in native popups 2020-02-09 21:51:33 +02:00
siikamiika
8d56d6ffcb handle closing already closed popup 2020-02-09 21:51:33 +02:00
siikamiika
d7f0369281 use Promise 2020-02-09 21:51:33 +02:00
siikamiika
90a5d79570 use ClipboardMonitor in Backend 2020-02-09 21:51:33 +02:00
siikamiika
222f869c84 fix search page hotkey 2020-02-09 21:51:33 +02:00
siikamiika
939ad42dac add global clipboard monitor that spawns popups
TODO: refactor the search page clipboard monitor and popup clipboard
monitor to use a common ClipboardMonitor class
2020-02-09 21:51:33 +02:00
siikamiika
f29abfc511 use correct optionsContext 2020-02-09 21:51:33 +02:00
siikamiika
679e42c21c move apiClipboardGet Firefox handling to Backend 2020-02-09 21:51:33 +02:00
siikamiika
ddc7c71e4f add support for native popup windows 2020-02-09 21:51:33 +02:00
toasted-nutbread
d5708de4ee Fix undefined reject 2020-02-08 20:49:01 -05:00
siikamiika
d2430783fd fix scanning parser 2020-01-26 00:46:23 +02:00
toasted-nutbread
5afad35c4e Fix _onApiGetZoom when chrome.tabs.getZoom is not available 2020-01-22 20:38:21 -05:00
toasted-nutbread
8ef57936d7 Add functionality for getting and observing zoom factor 2020-01-22 20:38:21 -05:00
toasted-nutbread
7686e56c00 Move display templates into a single file 2020-01-16 22:39:26 -05:00
toasted-nutbread
0d7ccf25b8 Update license info URL 2020-01-01 12:00:31 -05:00
toasted-nutbread
899ef167d1 Update copyright 2020-01-01 12:00:00 -05:00
toasted-nutbread
f17b55239e Implement settings import 2019-12-29 12:33:28 -05:00
toasted-nutbread
d2da4f7e62 Add apiOptionsSchemaGet 2019-12-29 12:33:15 -05:00
toasted-nutbread
50e0fbbb66 Use schema to validate options 2019-12-29 12:33:15 -05:00
toasted-nutbread
3033fea31e Treat null templates as the default value 2019-12-29 12:33:03 -05:00
toasted-nutbread
11b94d5a82 Make apiClipboardGet use plaintext
Also clear the value before returning
2019-12-22 20:35:26 -05:00
toasted-nutbread
35216332bf Replace window.yomichan_backend with window.yomichanBackend 2019-12-20 23:21:29 -05:00
toasted-nutbread
7b9731e616 Fix apiOptionsGet being used on the background page 2019-12-20 22:54:28 -05:00
toasted-nutbread
e417a3fda3 Fix incorrect function 2019-12-13 23:11:56 -05:00
toasted-nutbread
69556533e1 Fix command handling 2019-12-13 23:11:56 -05:00
toasted-nutbread
11b300ab76 Move apiClipboardGet implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
2fef2bf5a8 Move apiGetEnvironmentInfo implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
f786713466 Move apiInjectStylesheet implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
01a3432627 Move apiFrameInformationGet implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
daff44a010 Move apiForward implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
d8b21606ba Move apiScreenshotGet implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
1202ad261e Move apiAudioGetUrl implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
f63220b6c5 Move apiCommandExec implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
f07207c9bf Move apiTemplateRender implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
5a74350552 Move apiNoteView implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
233ed4d0fb Move apiDefinitionsAddable implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
c9cd29889d Move apiDefinitionAdd implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
7091c8c5c0 Move apiTextParseMecab implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
ddad034aa6 Move apiTextParse implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
73ce2fe3d3 Move apiTermsFind implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
5cceba15e2 Move apiKanjiFind implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
8dff73679e Move apiOptionsSave implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
6a1cfbaad6 Move apiOptionsSet implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
d6fe5c3e46 Move apiOptionsGetFull implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
4922d3433d Move apiOptionsGet implementation into Backend 2019-12-13 23:11:56 -05:00
toasted-nutbread
7addf5a2dd Add API calls for optionsGetFull and optionsSave 2019-12-13 23:11:56 -05:00
toasted-nutbread
e2c5c16da6 Update backend message handlers 2019-12-13 23:11:56 -05:00
toasted-nutbread
5a1046bc90 Update arrow-parens to always 2019-11-26 22:06:27 -05:00
toasted-nutbread
acb70f126c Update unused arguments 2019-11-26 22:06:27 -05:00
toasted-nutbread
0aed27b66d Replace hasOwnProperty with simplified hasOwn function 2019-11-26 22:06:27 -05:00
siikamiika
1f2eee449e mecab refactoring and bugfix 2019-11-23 17:50:46 +02:00
siikamiika
c1d24208d3 start mecab only after enabling the setting 2019-11-23 17:45:44 +02:00
siikamiika
41020289ab add mecab support 2019-11-23 17:45:44 +02:00
siikamiika
c35a05cd62 add kana to text 2019-11-23 17:40:52 +02:00
toasted-nutbread
3a225c3f91 Add details field to apiTermsFind 2019-11-10 14:02:43 -05:00
siikamiika
9641747ba1 Revert "modify correct profile apiOptionsSet"
This reverts commit 51c35c9f30.
2019-10-27 23:02:41 +02:00
siikamiika
51c35c9f30 modify correct profile apiOptionsSet 2019-10-27 22:43:20 +02:00
siikamiika
70418202cf make search page checkbox options persist 2019-10-27 20:11:23 +02:00
siikamiika
48776145d6 add workaround to Chrome clipboard.readText
For some reason this doesn't work on Firefox, so keep using the new API
for Firefox
2019-10-27 15:46:27 +02:00
toasted-nutbread
7a3315d75d Use chrome.runtime.getURL instead of chrome.extension.getURL 2019-10-22 20:23:03 -04:00
toasted-nutbread
d9ae34821c Add support for middle clicks opening new tabs on the context buttons 2019-10-19 22:30:16 -04:00
toasted-nutbread
cb236a7430 Add apiGetEnvironmentInfo function 2019-10-13 17:20:55 -04:00
toasted-nutbread
f8e666b70c Fix backend handling errors incorrectly 2019-10-13 16:08:15 -04:00
toasted-nutbread
c9158a37b5 Allow outer popup stylesheets to be injected 2019-10-13 12:12:51 -04:00
toasted-nutbread
22b218d172 Pass optionsContext to audioBuildUrl handlers 2019-10-09 22:03:56 -04:00
toasted-nutbread
88de427184 Throw Error instead of string 2019-10-08 21:32:08 -04:00
toasted-nutbread
10458c63e7 Use static object for backend message handlers 2019-10-02 21:12:23 -04:00
toasted-nutbread
dcfe722ba6 Add support for using optionsContext to select which profile to use 2019-09-18 19:14:04 -04:00
toasted-nutbread
c8171f5ec7 Add preliminary support for profiles 2019-09-15 15:56:53 -04:00
toasted-nutbread
84bd9ff93b Update settings if a different source triggers optionsUpdate 2019-09-10 21:58:53 -04:00
toasted-nutbread
87e513dd77 Fix options reference being changed 2019-09-10 21:44:32 -04:00
toasted-nutbread
05ce350792 Use apiOptionsSave instead of optionsSave 2019-09-10 20:09:33 -04:00
toasted-nutbread
8175f80183 Remove calls to apiOptionsGetSync
Use apiOptionsGet everywhere to ensure options is initialized.
2019-09-10 20:09:33 -04:00
toasted-nutbread
1b2a1e50eb Add getOptions function to backend 2019-09-10 20:09:33 -04:00
toasted-nutbread
bc8793eb56 Add a context object for all calls to fetch options 2019-09-10 20:09:33 -04:00
toasted-nutbread
91bc31d758 Change how options updates are handled on the frontend
Only an 'optionsUpdate' signal is now sent to the frontend with empty data. The frontend then responds by performing apiOptionsGet to update the options. This makes it so that there is only a single function which is responsible for requesting options from the backend.
2019-09-10 20:09:33 -04:00
toasted-nutbread
eb98dfb1a8 Simplify logic for how option updates are propagated 2019-09-06 21:23:35 -04:00
toasted-nutbread
7db2c66105 Use consistent structure for params 2019-09-06 21:23:35 -04:00