Refactor dropzone (#31482)

Refactor the legacy code and remove some jQuery calls.
This commit is contained in:
wxiaoguang 2024-06-27 01:01:20 +08:00 committed by GitHub
parent 35ce7a5e0e
commit a88f718c10
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 183 additions and 183 deletions

View file

@ -304,3 +304,17 @@ export function createElementFromHTML(htmlString) {
div.innerHTML = htmlString.trim();
return div.firstChild;
}
export function createElementFromAttrs(tagName, attrs) {
const el = document.createElement(tagName);
for (const [key, value] of Object.entries(attrs)) {
if (value === undefined || value === null) continue;
if (value === true) {
el.toggleAttribute(key, value);
} else {
el.setAttribute(key, String(value));
}
// TODO: in the future we could make it also support "textContent" and "innerHTML" properties if needed
}
return el;
}