MCPcopy
hub / github.com/pythongosssss/ComfyUI-Custom-Scripts / constructor

Method constructor

web/js/presetText.js:67–183  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

65 registerCustomNodes() {
66 class PresetTextNode extends LiteGraph.LGraphNode {
67 constructor() {
68 super();
69 this.title = "Preset Text 🐍";
70 this.isVirtualNode = true;
71 this.serialize_widgets = true;
72 this.addOutput("text", "STRING");
73
74 const widget = this.addWidget("combo", "value", presets[0].name, () => {}, {
75 values: presets.map((p) => p.name),
76 });
77 this.addWidget("button", "Manage", "Manage", () => {
78 const container = document.createElement("div");
79 Object.assign(container.style, {
80 display: "grid",
81 gridTemplateColumns: "1fr 1fr",
82 gap: "10px",
83 });
84
85 const addNew = document.createElement("button");
86 addNew.textContent = "Add New";
87 addNew.classList.add("pysssss-presettext-addnew");
88 Object.assign(addNew.style, {
89 fontSize: "13px",
90 gridColumn: "1 / 3",
91 color: "dodgerblue",
92 width: "auto",
93 textAlign: "center",
94 });
95 addNew.onclick = () => {
96 addRow({ name: "", value: "" });
97 };
98 container.append(addNew);
99
100 function addRow(p) {
101 const name = document.createElement("input");
102 const nameLbl = document.createElement("label");
103 name.value = p.name;
104 nameLbl.textContent = "Name:";
105 nameLbl.append(name);
106
107 const value = document.createElement("input");
108 const valueLbl = document.createElement("label");
109 value.value = p.value;
110 valueLbl.textContent = "Value:";
111 valueLbl.append(value);
112
113 addNew.before(nameLbl, valueLbl);
114 }
115 for (const p of presets) {
116 addRow(p);
117 }
118
119 const help = document.createElement("span");
120 help.textContent = "To remove a preset set the name or value to blank";
121 help.style.gridColumn = "1 / 3";
122 container.append(help);
123
124 dialog.show("");

Callers

nothing calls this directly

Calls 2

closeMethod · 0.80
showMethod · 0.45

Tested by

no test coverage detected