Refactor svg-layout-designer component into controllers + Add setLoaded

This commit is contained in:
Eric NGUYEN 2022-09-23 15:22:07 +02:00
parent 2ea43890f0
commit 8ba19cc96b
3 changed files with 140 additions and 87 deletions

View file

@ -5,17 +5,20 @@ export interface IAppEvent {
func: (
root: Element | Document,
setEditor: (newState: IEditorState) => void,
setLoaded: (loaded: boolean) => void,
eventInitDict?: CustomEventInit
) => void
}
export const events: IAppEvent[] = [
{ name: 'setEditor', func: SetEditor }
{ name: 'setEditor', func: SetEditor },
{ name: 'setLoaded', func: SetLoaded }
];
function SetEditor(
root: Element | Document,
setEditor: (newState: IEditorState) => void,
setLoaded: (loaded: boolean) => void,
eventInitDict?: CustomEventInit
): void {
const editor: IEditorState = eventInitDict?.detail;
@ -23,3 +26,13 @@ function SetEditor(
const customEvent = new CustomEvent<IEditorState>('setEditor', { detail: editor });
root.dispatchEvent(customEvent);
}
function SetLoaded(
root: Element | Document,
setEditor: (newState: IEditorState) => void,
setLoaded: (loaded: boolean) => void,
eventInitDict?: CustomEventInit
): void {
const isLoaded: boolean = eventInitDict?.detail;
setLoaded(isLoaded);
}