diff --git a/src/extensions/core/invertMenuScrolling.js b/src/extensions/core/invertMenuScrolling.ts similarity index 97% rename from src/extensions/core/invertMenuScrolling.js rename to src/extensions/core/invertMenuScrolling.ts index 81fb8ed38c..a6662bffcb 100644 --- a/src/extensions/core/invertMenuScrolling.js +++ b/src/extensions/core/invertMenuScrolling.ts @@ -8,6 +8,7 @@ app.registerExtension({ init() { const ctxMenu = LiteGraph.ContextMenu; const replace = () => { + // @ts-ignore LiteGraph.ContextMenu = function (values, options) { options = options || {}; if (options.scroll_speed) { diff --git a/src/extensions/core/keybinds.js b/src/extensions/core/keybinds.ts similarity index 95% rename from src/extensions/core/keybinds.js rename to src/extensions/core/keybinds.ts index 5295cf8d72..1d0365a489 100644 --- a/src/extensions/core/keybinds.js +++ b/src/extensions/core/keybinds.ts @@ -40,7 +40,7 @@ app.registerExtension({ // Close out of modals using escape if (event.key === "Escape") { - const modals = document.querySelectorAll(".comfy-modal"); + const modals = document.querySelectorAll(".comfy-modal"); const modal = Array.from(modals).find(modal => window.getComputedStyle(modal).getPropertyValue("display") !== "none"); if (modal) { modal.style.display = "none"; diff --git a/src/extensions/core/linkRenderMode.js b/src/extensions/core/linkRenderMode.ts similarity index 96% rename from src/extensions/core/linkRenderMode.js rename to src/extensions/core/linkRenderMode.ts index ca15d16e1a..e8520d2b60 100644 --- a/src/extensions/core/linkRenderMode.js +++ b/src/extensions/core/linkRenderMode.ts @@ -9,6 +9,7 @@ const ext = { name: "Link Render Mode", defaultValue: 2, type: "combo", + // @ts-ignore options: [...LiteGraph.LINK_RENDER_MODES, "Hidden"].map((m, i) => ({ value: i, text: m, diff --git a/src/extensions/core/noteNode.js b/src/extensions/core/noteNode.ts similarity index 69% rename from src/extensions/core/noteNode.js rename to src/extensions/core/noteNode.ts index c1ba699408..a44f25203d 100644 --- a/src/extensions/core/noteNode.js +++ b/src/extensions/core/noteNode.ts @@ -6,15 +6,26 @@ app.registerExtension({ name: "Comfy.NoteNode", registerCustomNodes() { class NoteNode { + static category: string; + + // @ts-ignore color=LGraphCanvas.node_colors.yellow.color; + // @ts-ignore bgcolor=LGraphCanvas.node_colors.yellow.bgcolor; + // @ts-ignore groupcolor = LGraphCanvas.node_colors.yellow.groupcolor; + properties: { text: string }; + serialize_widgets: boolean; + isVirtualNode: boolean; + collapsable: boolean; + title_mode: number; + constructor() { if (!this.properties) { - this.properties = {}; - this.properties.text=""; + this.properties = { text: "" }; } - + // @ts-ignore + // Should we extends LGraphNode? ComfyWidgets.STRING(this, "", ["", {default:this.properties.text, multiline: true}], app) this.serialize_widgets = true; @@ -29,6 +40,7 @@ app.registerExtension({ LiteGraph.registerNodeType( "Note", + // @ts-ignore Object.assign(NoteNode, { title_mode: LiteGraph.NORMAL_TITLE, title: "Note", diff --git a/src/extensions/core/saveImageExtraOutput.js b/src/extensions/core/saveImageExtraOutput.ts similarity index 100% rename from src/extensions/core/saveImageExtraOutput.js rename to src/extensions/core/saveImageExtraOutput.ts diff --git a/src/extensions/core/simpleTouchSupport.js b/src/extensions/core/simpleTouchSupport.ts similarity index 90% rename from src/extensions/core/simpleTouchSupport.js rename to src/extensions/core/simpleTouchSupport.ts index 451c14d9ce..3175ea6938 100644 --- a/src/extensions/core/simpleTouchSupport.js +++ b/src/extensions/core/simpleTouchSupport.ts @@ -35,19 +35,22 @@ app.registerExtension({ true ); - app.canvasEl.addEventListener("touchend", (e) => { + app.canvasEl.addEventListener("touchend", (e: TouchEvent) => { touchZooming = false; touchCount = e.touches?.length ?? touchCount - 1; if (touchTime && !e.touches?.length) { - if (new Date() - touchTime > 600) { + if ((new Date()).getTime() - touchTime > 600) { try { // hack to get litegraph to use this event e.constructor = CustomEvent; } catch (error) {} + // @ts-ignore e.clientX = lastTouch.clientX; + // @ts-ignore e.clientY = lastTouch.clientY; app.canvas.pointer_is_down = true; + // @ts-ignore app.canvas._mousedown_callback(e); } touchTime = null; @@ -61,7 +64,9 @@ app.registerExtension({ if (e.touches?.length === 2) { app.canvas.pointer_is_down = false; touchZooming = true; + // @ts-ignore LiteGraph.closeAllContextMenus(); + // @ts-ignore app.canvas.search_box?.close(); const newZoomPos = getMultiTouchPos(e); @@ -85,7 +90,9 @@ app.registerExtension({ }, }); +// @ts-ignore const processMouseDown = LGraphCanvas.prototype.processMouseDown; +// @ts-ignore LGraphCanvas.prototype.processMouseDown = function (e) { if (touchZooming || touchCount) { return; @@ -93,7 +100,9 @@ LGraphCanvas.prototype.processMouseDown = function (e) { return processMouseDown.apply(this, arguments); }; +// @ts-ignore const processMouseMove = LGraphCanvas.prototype.processMouseMove; +// @ts-ignore LGraphCanvas.prototype.processMouseMove = function (e) { if (touchZooming || touchCount > 1) { return; diff --git a/src/extensions/core/uploadImage.js b/src/extensions/core/uploadImage.ts similarity index 100% rename from src/extensions/core/uploadImage.js rename to src/extensions/core/uploadImage.ts diff --git a/src/extensions/core/webcamCapture.js b/src/extensions/core/webcamCapture.ts similarity index 97% rename from src/extensions/core/webcamCapture.js rename to src/extensions/core/webcamCapture.ts index 6e60e9b36f..8b6462a3b4 100644 --- a/src/extensions/core/webcamCapture.js +++ b/src/extensions/core/webcamCapture.ts @@ -93,7 +93,7 @@ app.registerExtension({ } // Upload image to temp storage - const blob = await new Promise((r) => canvas.toBlob(r)); + const blob = await new Promise((r) => canvas.toBlob(r)); const name = `${+new Date()}.png`; const file = new File([blob], name); const body = new FormData(); @@ -117,7 +117,7 @@ app.registerExtension({ // If width isnt specified then use video output resolution if (!w.value) { w.value = video.videoWidth || 640; - h.value = video.videoHeight || 480; + h.value = video.videoHeight || 480; } btn.disabled = false; btn.label = "capture";