diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/js/display/display-anki.js | 31 | 
1 files changed, 25 insertions, 6 deletions
| diff --git a/ext/js/display/display-anki.js b/ext/js/display/display-anki.js index 235149ad..b08dc952 100644 --- a/ext/js/display/display-anki.js +++ b/ext/js/display/display-anki.js @@ -368,12 +368,8 @@ class DisplayAnki {              const {note, errors, requirements: outputRequirements} = await this._createNote(dictionaryEntry, mode, requirements);              allErrors.push(...errors); -            if (outputRequirements.length > 0) { -                const error = new Error('The created card may not have some content'); -                error.requirements = requirements; -                error.outputRequirements = outputRequirements; -                allErrors.push(error); -            } +            const error = this._getAddNoteRequirementsError(requirements, outputRequirements); +            if (error !== null) { allErrors.push(error); }              let noteId = null;              let addNoteOkay = false; @@ -413,6 +409,29 @@ class DisplayAnki {          }      } +    _getAddNoteRequirementsError(requirements, outputRequirements) { +        if (outputRequirements.length === 0) { return null; } + +        let count = 0; +        for (const requirement of outputRequirements) { +            const {type} = requirement; +            switch (type) { +                case 'audio': +                case 'clipboardImage': +                    break; +                default: +                    ++count; +                    break; +            } +        } +        if (count === 0) { return null; } + +        const error = new Error('The created card may not have some content'); +        error.requirements = requirements; +        error.outputRequirements = outputRequirements; +        return error; +    } +      _showAnkiNoteErrors(errors) {          if (this._ankiNoteNotificationEventListeners !== null) {              this._ankiNoteNotificationEventListeners.removeAllEventListeners(); |