UNPKG

@wsdot/geospatial-metadata

Version:

A library for parsing and converting Geospatial metadata XML

88 lines (87 loc) 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var edomProps = { edomv: "Value", edomvd: "Definition", edomvds: "Definition Source" }; var rdomProps = { rdommin: "Minimum", rdommax: "Maximum", attrunit: "Units of Measure", attrmres: "Measurement Resolution" }; var codesetd = { codesetn: "Name", codesets: "Source" }; function formatElementAsTable(rootElement, columns) { var e_1, _a, e_2, _b; if (!columns) { if (rootElement.nodeName === "attrdomv") { columns = { edomv: "Value", edomvd: "Definition", edomvds: "Definition Source" }; } else { throw Error("Cannot autodetect columns for " + rootElement.nodeName); } } var table = document.createElement("table"); var head = table.createTHead(); var tbody = table.createTBody(); var row = document.createElement("tr"); head.appendChild(row); var colElementNames = new Array(); for (var colName in columns) { if (columns.hasOwnProperty(colName)) { var colText = columns[colName]; var th = document.createElement("th"); th.scope = "col"; th.textContent = colText; row.appendChild(th); colElementNames.push(colName); } } if (rootElement.hasChildNodes()) { try { for (var _c = tslib_1.__values(Array.from(rootElement.childNodes)), _d = _c.next(); !_d.done; _d = _c.next()) { var domain = _d.value; row = table.insertRow(-1); var cellNodes = Array.from(domain.childNodes); var _loop_1 = function (name_1) { var cell = row.insertCell(-1); var node = cellNodes.find(function (n) { return n.nodeName === name_1; }); if (node) { cell.textContent = node.textContent; } }; try { for (var colElementNames_1 = tslib_1.__values(colElementNames), colElementNames_1_1 = colElementNames_1.next(); !colElementNames_1_1.done; colElementNames_1_1 = colElementNames_1.next()) { var name_1 = colElementNames_1_1.value; _loop_1(name_1); } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (colElementNames_1_1 && !colElementNames_1_1.done && (_b = colElementNames_1.return)) _b.call(colElementNames_1); } finally { if (e_2) throw e_2.error; } } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_d && !_d.done && (_a = _c.return)) _a.call(_c); } finally { if (e_1) throw e_1.error; } } } return table; } exports.formatElementAsTable = formatElementAsTable;