diff --git a/src/display/xfa_layer.js b/src/display/xfa_layer.js index ed3dd7a51..24f13a06f 100644 --- a/src/display/xfa_layer.js +++ b/src/display/xfa_layer.js @@ -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); }