fix(core): move watcher timing to pre and sync immediately

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
braks
2022-12-18 18:53:44 +01:00
committed by Braks
parent 85d5a64d51
commit 15f73fb4d5
+31 -52
View File
@@ -27,31 +27,26 @@ export const useWatch = (
store.setElements(elements) store.setElements(elements)
nextTick(() => { pauseStore?.resume()
pauseStore?.resume()
})
} }
}, },
{ immediate }, { immediate },
) )
nextTick(() => { pauseStore = watchPausable(
pauseStore = watchPausable( [store.nodes, store.edges, () => store.edges.value.length, () => store.nodes.value.length],
[store.nodes, store.edges, () => store.edges.value.length, () => store.nodes.value.length], ([nodes, edges]) => {
([nodes, edges]) => { if (models.modelValue?.value && Array.isArray(models.modelValue.value)) {
if (models.modelValue?.value && Array.isArray(models.modelValue.value)) { pauseModel?.pause()
pauseModel?.pause()
models.modelValue.value = [...nodes, ...edges] models.modelValue.value = [...nodes, ...edges]
nextTick(() => { nextTick(() => {
pauseModel?.resume() pauseModel?.resume()
}) })
} }
}, },
{ immediate }, )
)
})
onScopeDispose(() => { onScopeDispose(() => {
pauseModel?.stop() pauseModel?.stop()
@@ -76,30 +71,22 @@ export const useWatch = (
store.setNodes(nodes) store.setNodes(nodes)
nextTick(() => { pauseStore?.resume()
pauseStore?.resume()
})
} }
}, },
{ immediate }, { immediate },
) )
nextTick(() => { pauseStore = watchPausable([store.nodes, () => store.nodes.value.length], ([nodes]) => {
pauseStore = watchPausable( if (models.nodes?.value && Array.isArray(models.nodes.value)) {
[store.nodes, () => store.nodes.value.length], pauseModel?.pause()
([nodes]) => {
if (models.nodes?.value && Array.isArray(models.nodes.value)) {
pauseModel?.pause()
models.nodes.value = [...nodes] models.nodes.value = [...nodes]
nextTick(() => { nextTick(() => {
pauseModel?.resume() pauseModel?.resume()
}) })
} }
},
{ immediate },
)
}) })
onScopeDispose(() => { onScopeDispose(() => {
@@ -125,30 +112,22 @@ export const useWatch = (
store.setEdges(edges) store.setEdges(edges)
nextTick(() => { pauseStore?.resume()
pauseStore?.resume()
})
} }
}, },
{ immediate }, { immediate },
) )
nextTick(() => { pauseStore = watchPausable([store.edges, () => store.edges.value.length], ([edges]) => {
pauseStore = watchPausable( if (models.edges?.value && Array.isArray(models.edges.value)) {
[store.edges, () => store.edges.value.length], pauseModel?.pause()
([edges]) => {
if (models.edges?.value && Array.isArray(models.edges.value)) {
pauseModel?.pause()
models.edges.value = [...edges] models.edges.value = [...edges]
nextTick(() => { nextTick(() => {
pauseModel?.resume() pauseModel?.resume()
}) })
} }
},
{ immediate },
)
}) })
onScopeDispose(() => { onScopeDispose(() => {