fix changes to tags not being reflected when editing in io mode (#3768)

This commit is contained in:
llama 2025-01-25 15:36:21 +08:00 committed by GitHub
parent 71e2a6f782
commit df808727c8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -277,8 +277,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
hidden: hideFieldInOcclusionType(index, ioFields), hidden: hideFieldInOcclusionType(index, ioFields),
})) as FieldData[]; })) as FieldData[];
let lastSavedTags: string[] | null = null;
function saveTags({ detail }: CustomEvent): void { function saveTags({ detail }: CustomEvent): void {
tagAmount = detail.tags.filter((tag: string) => tag != "").length; tagAmount = detail.tags.filter((tag: string) => tag != "").length;
lastSavedTags = detail.tags;
bridgeCommand(`saveTags:${JSON.stringify(detail.tags)}`); bridgeCommand(`saveTags:${JSON.stringify(detail.tags)}`);
} }
@ -535,6 +537,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
imageOcclusionMode, imageOcclusionMode,
); );
$: if (isImageOcclusion && $ioMaskEditorVisible && lastSavedTags) {
setTags(lastSavedTags);
lastSavedTags = null;
}
onMount(() => { onMount(() => {
function wrap(before: string, after: string): void { function wrap(before: string, after: string): void {
if (!$focusedInput || !editingInputIsRichText($focusedInput)) { if (!$focusedInput || !editingInputIsRichText($focusedInput)) {