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

Function createElement

ui/media/js/utils.js:705–728  ·  view source on GitHub ↗

* * @param {string} tag * @param {object} attributes * @param {string | Array } classes * @param {string | Node | Array } * @returns {HTMLElement}

(tagName, attributes, classes, textOrElements)

Source from the content-addressed store, hash-verified

703 * @returns {HTMLElement}
704 */
705function createElement(tagName, attributes, classes, textOrElements) {
706 const element = document.createElement(tagName)
707 if (attributes) {
708 Object.entries(attributes).forEach(([key, value]) => {
709 if (value !== undefined && value !== null) {
710 element.setAttribute(key, value)
711 }
712 })
713 }
714 if (classes) {
715 ; (Array.isArray(classes) ? classes : [classes]).forEach((className) => element.classList.add(className))
716 }
717 if (textOrElements) {
718 const children = Array.isArray(textOrElements) ? textOrElements : [textOrElements]
719 children.forEach((textOrElem) => {
720 if (textOrElem instanceof Node) {
721 element.appendChild(textOrElem)
722 } else {
723 element.appendChild(document.createTextNode(textOrElem))
724 }
725 })
726 }
727 return element
728}
729
730/**
731 * Add a listener for arrays

Callers 11

image-modal.jsFile · 0.85
initFunction · 0.85
createInitImageHoverFunction · 0.85
makeResolutionButtonsFunction · 0.85
createTabFunction · 0.85
initParametersFunction · 0.85
createDropdownMethod · 0.85
createModelNodeListMethod · 0.85
createRootModelListMethod · 0.85
createDropAreasFunction · 0.85
createDomFunction · 0.85

Calls 2

addMethod · 0.45
appendChildMethod · 0.45

Tested by

no test coverage detected