Fix Image field not hidden until user selects an image (#2960)

This commit is contained in:
Abdo 2024-01-23 07:24:12 +03:00 committed by GitHub
parent 462c9e76b1
commit 0291847712
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 5 deletions

View file

@ -571,6 +571,7 @@ require("anki/ui").loaded.then(() => require("anki/NoteEditor").instances[0].too
js = f"""
saveSession();
setFields({json.dumps(data)});
setIsImageOcclusion({json.dumps(self.current_notetype_is_image_occlusion())});
setNotetypeMeta({json.dumps(notetype_meta)});
setCollapsed({json.dumps(collapsed)});
setPlainTexts({json.dumps(plain_texts)});
@ -585,7 +586,6 @@ require("anki/ui").loaded.then(() => require("anki/NoteEditor").instances[0].too
setShrinkImages({json.dumps(self.mw.col.get_config("shrinkEditorImages", True))});
setCloseHTMLTags({json.dumps(self.mw.col.get_config("closeHTMLTags", True))});
triggerChanges();
setIsImageOcclusion({json.dumps(self.current_notetype_is_image_occlusion())});
"""
if self.addMode:

View file

@ -233,6 +233,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
if (sessionOptions[id]?.modTimeOfNotetype !== modTime) {
delete sessionOptions[id];
}
if (isImageOcclusion) {
getImageOcclusionFields({
notetypeId: BigInt(notetypeMeta.id),
}).then((r) => (ioFields = r.fields!));
}
}
function getNoteId(): number | null {
@ -415,10 +420,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
async function setupMaskEditor(options: { html: string; mode: IOMode }) {
imageOcclusionMode = undefined;
const getIoFields = getImageOcclusionFields({
notetypeId: BigInt(notetypeMeta.id),
}).then((r) => (ioFields = r.fields!));
await Promise.all([tick(), getIoFields]);
await tick();
imageOcclusionMode = options.mode;
if (options.mode.kind === "add") {
fieldStores[ioFields.image].set(options.html);