mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2024-11-23 00:33:28 +01:00
Move the createElement() function to utils.js
This commit is contained in:
parent
6298df14e7
commit
a0f2097b1b
@ -1703,34 +1703,3 @@ prettifyInputs(document);
|
|||||||
// set the textbox as focused on start
|
// set the textbox as focused on start
|
||||||
promptField.focus()
|
promptField.focus()
|
||||||
promptField.selectionStart = promptField.value.length
|
promptField.selectionStart = promptField.value.length
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param {string} tag
|
|
||||||
* @param {object} attributes
|
|
||||||
* @param {string | Array<string>} classes
|
|
||||||
* @param {string | HTMLElement | Array<string | HTMLElement>}
|
|
||||||
* @returns {HTMLElement}
|
|
||||||
*/
|
|
||||||
function createElement(tagName, attributes, classes, textOrElements) {
|
|
||||||
const element = document.createElement(tagName)
|
|
||||||
if (attributes) {
|
|
||||||
Object.entries(attributes).forEach(([key, value]) => {
|
|
||||||
element.setAttribute(key, value)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (classes) {
|
|
||||||
(Array.isArray(classes) ? classes : [classes]).forEach(className => element.classList.add(className))
|
|
||||||
}
|
|
||||||
if (textOrElements) {
|
|
||||||
const children = Array.isArray(textOrElements) ? textOrElements : [textOrElements]
|
|
||||||
children.forEach(textOrElem => {
|
|
||||||
if (textOrElem instanceof HTMLElement) {
|
|
||||||
element.appendChild(textOrElem)
|
|
||||||
} else {
|
|
||||||
element.appendChild(document.createTextNode(textOrElem))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return element
|
|
||||||
}
|
|
||||||
|
@ -677,3 +677,34 @@ class ServiceContainer {
|
|||||||
return typeof definition === 'function'
|
return typeof definition === 'function'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {string} tag
|
||||||
|
* @param {object} attributes
|
||||||
|
* @param {string | Array<string>} classes
|
||||||
|
* @param {string | HTMLElement | Array<string | HTMLElement>}
|
||||||
|
* @returns {HTMLElement}
|
||||||
|
*/
|
||||||
|
function createElement(tagName, attributes, classes, textOrElements) {
|
||||||
|
const element = document.createElement(tagName)
|
||||||
|
if (attributes) {
|
||||||
|
Object.entries(attributes).forEach(([key, value]) => {
|
||||||
|
element.setAttribute(key, value)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (classes) {
|
||||||
|
(Array.isArray(classes) ? classes : [classes]).forEach(className => element.classList.add(className))
|
||||||
|
}
|
||||||
|
if (textOrElements) {
|
||||||
|
const children = Array.isArray(textOrElements) ? textOrElements : [textOrElements]
|
||||||
|
children.forEach(textOrElem => {
|
||||||
|
if (textOrElem instanceof HTMLElement) {
|
||||||
|
element.appendChild(textOrElem)
|
||||||
|
} else {
|
||||||
|
element.appendChild(document.createTextNode(textOrElem))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return element
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user