Improve error when card has missing content (#1818)

This commit is contained in:
toasted-nutbread 2021-07-09 20:26:20 -04:00 committed by GitHub
parent 7a1570885e
commit d897fb553d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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();