summaryrefslogtreecommitdiff
path: root/ext/js/background
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2022-05-29 21:24:41 -0400
committerGitHub <noreply@github.com>2022-05-29 21:24:41 -0400
commit331a2e62941e04a4d50a21faefed663a92ddc00a (patch)
tree1212a1e7cd57ea2331fab2101afdc325cb3a4766 /ext/js/background
parentf3024c50186344aa6a6b09500ea02540463ce5c9 (diff)
Add support for guiEditNote to view notes (#2143)
* Add AnkiConnect.guiEditNote * Update _onApiNoteView to first try guiEditNote * Add setting * Update noteView API * Use setting * Return which mode was used * Update DisplayGenerator * Handle errors in DisplayAnki * Update docs * Add isErrorUnsupportedAction function * Add an allowFallback option to noteView * Disambiguate * Simplify now that preferredMode isn't used * Update settings info * Implement test buttons * Update styles * Update status visibility * Wrap layout * Update description * Update date
Diffstat (limited to 'ext/js/background')
-rw-r--r--ext/js/background/backend.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js
index cdbfde1e..07d6fd98 100644
--- a/ext/js/background/backend.js
+++ b/ext/js/background/backend.js
@@ -512,8 +512,22 @@ class Backend {
);
}
- async _onApiNoteView({noteId}) {
- return await this._anki.guiBrowseNote(noteId);
+ async _onApiNoteView({noteId, mode, allowFallback}) {
+ if (mode === 'edit') {
+ try {
+ await this._anki.guiEditNote(noteId);
+ return 'edit';
+ } catch (e) {
+ if (!this._anki.isErrorUnsupportedAction(e)) {
+ throw e;
+ } else if (!allowFallback) {
+ throw new Error('Mode not supported');
+ }
+ }
+ }
+ // Fallback
+ await this._anki.guiBrowseNote(noteId);
+ return 'browse';
}
async _onApiSuspendAnkiCardsForNote({noteId}) {