From 36aa9233896553a587052b96e00e46a988626333 Mon Sep 17 00:00:00 2001 From: shootthesound <110498357+shootthesound@users.noreply.github.com> Date: Sun, 7 Jun 2026 01:34:38 +0100 Subject: [PATCH] Add folder Browse picker, screenshot, and clean up node layout/sizing --- README.md | 2 ++ screenshots/node.png | Bin 0 -> 49500 bytes web/seqloader.js | 40 ++++++++++++++++++++++++++-------------- 3 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 screenshots/node.png diff --git a/README.md b/README.md index 808b0f7..f2795ac 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ Buy Me A Coffee +![Sequential Image Loader node](screenshots/node.png) + ## What it does ``` diff --git a/screenshots/node.png b/screenshots/node.png new file mode 100644 index 0000000000000000000000000000000000000000..9fe7d5a26712560d1720fcc2d0ee35bb29f4b93c GIT binary patch literal 49500 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 literal 0 HcmV?d00001 diff --git a/web/seqloader.js b/web/seqloader.js index cb444a4..35b8698 100644 --- a/web/seqloader.js +++ b/web/seqloader.js @@ -124,7 +124,7 @@ function attachUI(node) { const container = document.createElement("div"); container.style.cssText = - "display:flex; flex-direction:column; gap:6px; padding:6px 6px 4px; " + "display:flex; flex-direction:column; gap:6px; padding:6px; " + "box-sizing:border-box; width:100%;"; // Status line. @@ -141,7 +141,7 @@ function attachUI(node) { const browseBtn = makeButton("📁 Browse for folder…", "browse", () => { openFolderPicker(node); }); - browseBtn.style.flex = "1 1 100%"; + // The column container stretches children to full width by default. container.appendChild(browseBtn); // Button row. @@ -166,12 +166,28 @@ function attachUI(node) { })); container.appendChild(row); - node.addDOMWidget("seqloader_ui", "seqloader_panel", container, { + // Attach as a DOM widget so LiteGraph manages its layout. The panel is + // three fixed rows (status + browse + button row) at ~28px each with two + // 6px gaps and 6px top+bottom padding — a constant floor of 112 fits the + // content without clipping or leaving a gap. + const widget = node.addDOMWidget("seqloader_ui", "seqloader_panel", container, { serialize: false, hideOnZoom: false, - getMinHeight: () => 124, + getMinHeight: () => 112, }); + // Make the panel fill the node's full width: define `width` as a getter + // that always returns the live node width, so LiteGraph's wrapper spans + // the whole node instead of pinning to a narrow default. + try { + Object.defineProperty(widget, "width", { + configurable: true, + enumerable: true, + get() { return node.size ? node.size[0] : undefined; }, + set(_v) { /* ignore — width is derived from the node */ }, + }); + } catch (e) { /* ignore */ } + // Re-scan whenever the folder path, subfolder toggle, filetype, or // direction changes. for (const wn of ["directory", "include_subfolders", "filetype", "reverse"]) { @@ -380,18 +396,14 @@ app.registerExtension({ nodeType.prototype.onNodeCreated = function () { origOnNodeCreated?.apply(this, arguments); attachUI(this); - // Grow to fit the directory/subfolder widgets + status + button - // row. computeSize() floors to the real content height (the - // hidden index widget claims none); then enforce our own minimum. - const fit = this.computeSize ? this.computeSize() : [0, 0]; - const min = [320, Math.max(360, fit[1])]; - const w = Math.max(this.size[0], min[0]); - const h = Math.max(this.size[1], min[1]); - if (typeof this.setSize === "function") this.setSize([w, h]); - else { this.size[0] = w; this.size[1] = h; } + // Enforce a sensible minimum node size once. Width ~320; height + // accommodates the standard widgets plus the DOM panel. + const min = [320, 370]; + if (this.size[0] < min[0]) this.size[0] = min[0]; + if (this.size[1] < min[1]) this.size[1] = min[1]; }; - // Re-sync after a saved workflow restores widget values. + // Re-sync the file list after a saved workflow restores widget values. const origOnConfigure = nodeType.prototype.onConfigure; nodeType.prototype.onConfigure = function (info) { origOnConfigure?.apply(this, arguments);