mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-27 11:29:53 +00:00
- 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
48 lines
1.3 KiB
TypeScript
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
|
|
}
|
|
}
|