diff --git a/src/components/ElementPopup.vue b/src/components/ElementPopup.vue index 56ba45f..de79b52 100644 --- a/src/components/ElementPopup.vue +++ b/src/components/ElementPopup.vue @@ -274,6 +274,7 @@ import { ref, computed, watch } from 'vue'; import { useStylesheetStore } from '../stores/stylesheet'; import { usePopupPosition } from '../composables/usePopupPosition'; +import { useDebounce } from '../composables/useDebounce'; import NumberInput from './ui/NumberInput.vue'; import Coloris from '@melloware/coloris'; import '@melloware/coloris/dist/coloris.css'; @@ -307,7 +308,7 @@ const colorInput = ref(null); const backgroundInput = ref(null); let isUpdatingFromStore = false; -let updateTimer = null; +const { debouncedUpdate } = useDebounce(500); // Style properties const fontFamily = ref({ value: 'Alegreya Sans' }); @@ -320,11 +321,6 @@ const background = ref({ value: 'transparent' }); const marginOuter = ref({ value: 0, unit: 'mm' }); const paddingInner = ref({ value: 0, unit: 'mm' }); -const debouncedUpdate = (callback) => { - clearTimeout(updateTimer); - updateTimer = setTimeout(callback, 1000); -}; - const immediateUpdate = (callback) => { callback(); }; diff --git a/src/components/PagePopup.vue b/src/components/PagePopup.vue index 0b309be..c48c390 100644 --- a/src/components/PagePopup.vue +++ b/src/components/PagePopup.vue @@ -285,6 +285,7 @@ import { ref, computed, watch, onMounted } from 'vue'; import { useStylesheetStore } from '../stores/stylesheet'; import { usePopupPosition } from '../composables/usePopupPosition'; +import { useDebounce } from '../composables/useDebounce'; import NumberInput from './ui/NumberInput.vue'; import Coloris from '@melloware/coloris'; import '@melloware/coloris/dist/coloris.css'; @@ -312,7 +313,7 @@ const inheritanceLocked = ref(true); const backgroundColorInput = ref(null); let isUpdatingFromStore = false; -let updateTimer = null; +const { debouncedUpdate } = useDebounce(500); const margins = ref({ top: { value: 0, unit: 'mm' }, @@ -328,11 +329,6 @@ const background = ref({ const pattern = ref(''); -const debouncedUpdate = (callback) => { - clearTimeout(updateTimer); - updateTimer = setTimeout(callback, 1000); -}; - const immediateUpdate = (callback) => { callback(); }; diff --git a/src/components/editor/PageSettings.vue b/src/components/editor/PageSettings.vue index b0a2fe7..d21a5a5 100644 --- a/src/components/editor/PageSettings.vue +++ b/src/components/editor/PageSettings.vue @@ -288,16 +288,17 @@