Files
ComfyUI_frontend/src/composables/node/useNodeCanvasImagePreview.ts
Benjamin Lu fef02e5f56 [refactor] Migrate litegraph imports from npm package to local subtree
- Updated all imports from '@comfyorg/litegraph' to '@/lib/litegraph/src/'
- Replaced deep dist imports with direct source paths
- Updated CSS import in main.ts
- All imports now use the @ alias consistently
2025-08-03 22:06:29 -04:00

48 lines
1.3 KiB
TypeScript

import { useImagePreviewWidget } from '@/composables/widgets/useImagePreviewWidget'
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
const CANVAS_IMAGE_PREVIEW_WIDGET = '$$canvas-image-preview'
/**
* Composable for handling canvas image previews in nodes
*/
export function useNodeCanvasImagePreview() {
const imagePreviewWidget = useImagePreviewWidget()
/**
* Shows canvas image preview for a node
* @param node The graph node to show the preview for
*/
function showCanvasImagePreview(node: LGraphNode) {
if (!node.imgs?.length) return
if (!node.widgets?.find((w) => w.name === CANVAS_IMAGE_PREVIEW_WIDGET)) {
imagePreviewWidget(node, {
type: 'IMAGE_PREVIEW',
name: CANVAS_IMAGE_PREVIEW_WIDGET
})
}
}
/**
* Removes canvas image preview from a node
* @param node The graph node to remove the preview from
*/
function removeCanvasImagePreview(node: LGraphNode) {
if (!node.widgets) return
const widgetIdx = node.widgets.findIndex(
(w) => w.name === CANVAS_IMAGE_PREVIEW_WIDGET
)
if (widgetIdx > -1) {
node.widgets[widgetIdx].onRemove?.()
node.widgets.splice(widgetIdx, 1)
}
}
return {
showCanvasImagePreview,
removeCanvasImagePreview
}
}