Merge pull request #15154 from Snuffleupagus/xfa-rm-id
Replace element `id`s with custom attributes in the xfaLayer
This commit is contained in:
commit
0205597bd0
@ -107,28 +107,34 @@ class XfaLayer {
|
||||
attributes.name = `${attributes.name}-${intent}`;
|
||||
}
|
||||
for (const [key, value] of Object.entries(attributes)) {
|
||||
// We don't need to add dataId in the html object but it can
|
||||
// be useful to know its value when writing printing tests:
|
||||
// in this case, don't skip dataId to have its value.
|
||||
if (value === null || value === undefined || key === "dataId") {
|
||||
if (value === null || value === undefined) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (key !== "style") {
|
||||
if (key === "textContent") {
|
||||
html.textContent = value;
|
||||
} else if (key === "class") {
|
||||
switch (key) {
|
||||
case "class":
|
||||
if (value.length) {
|
||||
html.setAttribute(key, value.join(" "));
|
||||
}
|
||||
} else {
|
||||
if (isHTMLAnchorElement && (key === "href" || key === "newWindow")) {
|
||||
continue; // Handled below.
|
||||
break;
|
||||
case "dataId":
|
||||
// We don't need to add dataId in the html object but it can
|
||||
// be useful to know its value when writing printing tests:
|
||||
// in this case, don't skip dataId to have its value.
|
||||
break;
|
||||
case "id":
|
||||
html.setAttribute("data-element-id", value);
|
||||
break;
|
||||
case "style":
|
||||
Object.assign(html.style, value);
|
||||
break;
|
||||
case "textContent":
|
||||
html.textContent = value;
|
||||
break;
|
||||
default:
|
||||
if (!isHTMLAnchorElement || (key !== "href" && key !== "newWindow")) {
|
||||
html.setAttribute(key, value);
|
||||
}
|
||||
html.setAttribute(key, value);
|
||||
}
|
||||
} else {
|
||||
Object.assign(html.style, value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,8 +146,7 @@ class XfaLayer {
|
||||
);
|
||||
}
|
||||
|
||||
// Set the value after the others to be sure overwrite
|
||||
// any other values.
|
||||
// Set the value after the others to be sure to overwrite any other values.
|
||||
if (storage && attributes.dataId) {
|
||||
this.setupStorage(html, attributes.dataId, element, storage);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user