MCPcopy Index your code
hub / github.com/easydiffusion/easydiffusion / initParameters

Function initParameters

ui/media/js/parameters.js:358–412  ·  view source on GitHub ↗

* fill in the system settings popup table * @param {Array | undefined} parameters *

(parameters)

Source from the content-addressed store, hash-verified

356 * @param {Array<Parameter> | undefined} parameters
357 * */
358function initParameters(parameters) {
359 parameters.forEach((parameter) => {
360 const element = getParameterElement(parameter)
361 const elementWrapper = createElement("div")
362 if (element instanceof Node) {
363 elementWrapper.appendChild(element)
364 } else {
365 elementWrapper.innerHTML = element
366 }
367
368 const note = typeof parameter.note === "function" ? parameter.note(parameter) : parameter.note
369 const noteElements = []
370 if (note) {
371 const noteElement = createElement("small")
372 if (note instanceof Node) {
373 noteElement.appendChild(note)
374 } else {
375 noteElement.innerHTML = note || ""
376 }
377 noteElements.push(noteElement)
378 }
379
380 if (typeof parameter.icon == "string") {
381 parameter.icon = [parameter.icon]
382 }
383 const icon = parameter.icon ? [createElement("i", undefined, ["fa", ...parameter.icon])] : []
384
385 const label = typeof parameter.label === "function" ? parameter.label(parameter) : parameter.label
386 const labelElement = createElement("label", { for: parameter.id })
387 if (label instanceof Node) {
388 labelElement.appendChild(label)
389 } else {
390 labelElement.innerHTML = label
391 }
392
393 const newrow = createElement(
394 "div",
395 { "data-setting-id": parameter.id, "data-save-in-app-config": parameter.saveInAppConfig },
396 undefined,
397 [
398 createElement("div", undefined, undefined, icon),
399 createElement("div", undefined, undefined, [labelElement, ...noteElements]),
400 elementWrapper,
401 ]
402 )
403
404 let p = parametersTable
405 if (parameter.table) {
406 p = parameter.table
407 }
408 p.appendChild(newrow)
409
410 parameter.settingsEntry = newrow
411 })
412}
413
414initParameters(PARAMETERS)
415

Callers 1

parameters.jsFile · 0.85

Calls 4

getParameterElementFunction · 0.85
createElementFunction · 0.85
pushMethod · 0.80
appendChildMethod · 0.45

Tested by

no test coverage detected