From 081a06b68c00719c3332126faead15ae28e27bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Mon, 19 Jun 2023 16:10:46 +0200 Subject: [PATCH] Ckedotir BO performance upgrade --- resources/ts/bo/components/CkEditorComponent.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/resources/ts/bo/components/CkEditorComponent.vue b/resources/ts/bo/components/CkEditorComponent.vue index d901287..363232c 100644 --- a/resources/ts/bo/components/CkEditorComponent.vue +++ b/resources/ts/bo/components/CkEditorComponent.vue @@ -292,15 +292,23 @@ export default defineComponent({ }) // @ts-ignore .then((editor: ClassicEditor) => { + let timer = null as number|null; + const updateContent = () => { + const data = editor.getData(); + self.internalText = data; + self.$emit("input", data); + timer = null; + }; // Display all toolbar elements // console.log(Array.from(editor.ui.componentFactory.names())); self.editor = editor; editor.setData(this.internalText); editor.model.document.on("change:data", () => { + if(timer) { + clearTimeout(timer); + } // * Keep track of internal editor - let data = editor.getData(); - self.internalText = data; - self.$emit("input", data); + timer = setTimeout(updateContent, 1000) as never as number; }); }) // @ts-ignore