@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
29 lines (28 loc) • 859 B
JavaScript
const l = (t, e) => Array.from(t.children).filter((r) => r.tagName.toLowerCase() === e.toLowerCase()), c = (t, e) => {
const r = l(t, e);
return r.length ? r[0].textContent : null;
}, h = (t, e = "") => {
const r = [];
return t.forEach((o) => {
const n = c(o, "Name"), p = c(o, "Title") || n, s = [e, p].filter((u) => !!u).join(" > ");
let a = e;
n && (r.push({
value: n,
label: s
}), a = s);
const i = l(o, "Layer");
i.length && r.push(...h(i, a));
}), r;
}, f = (t) => {
const e = t.querySelectorAll("Capability > Layer");
return e.length ? h(Array.from(e)) : [];
}, g = async (t) => {
if (!t)
return [];
const r = await (await window.fetch(t)).text(), n = new DOMParser().parseFromString(r, "text/xml");
return f(n);
};
export {
g as getWMSLayerOptions,
f as getWMSLayerOptionsFromXMLData
};