Make LGraphCanvas shallowReactive (#1169)

* Make LGraphCanvas shallowReactive

* Restore canvas options after creation
This commit is contained in:
Chenlei Hu
2024-10-08 14:07:15 -04:00
committed by GitHub
parent 482da21ba7
commit 2cb1cea196
3 changed files with 24 additions and 27 deletions

View File

@@ -1,6 +1,6 @@
import { LGraphNode, LGraphGroup, LGraphCanvas } from '@comfyorg/litegraph'
import { defineStore } from 'pinia'
import { ref, shallowRef } from 'vue'
import { shallowRef } from 'vue'
export const useTitleEditorStore = defineStore('titleEditor', () => {
const titleEditorTarget = shallowRef<LGraphNode | LGraphGroup | null>(null)
@@ -11,31 +11,14 @@ export const useTitleEditorStore = defineStore('titleEditor', () => {
})
export const useCanvasStore = defineStore('canvas', () => {
/**
* The LGraphCanvas instance.
*
* The root LGraphCanvas object is shallow reactive.
*/
const canvas = shallowRef<LGraphCanvas | null>(null)
const readOnly = ref(false)
const draggingCanvas = ref(false)
document.addEventListener(
'litegraph:canvas',
(e: CustomEvent<{ subType: string; readOnly: boolean }>) => {
if (e.detail?.subType === 'read-only') {
readOnly.value = e.detail.readOnly
}
}
)
document.addEventListener(
'litegraph:canvas',
(e: CustomEvent<{ subType: string; draggingCanvas: boolean }>) => {
if (e.detail?.subType === 'dragging-canvas') {
draggingCanvas.value = e.detail.draggingCanvas
}
}
)
return {
canvas,
readOnly,
draggingCanvas
canvas
}
})