UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

22 lines (21 loc) 993 B
/** * Replaces an existing <span class="place"> tag with clickable map trigger element. */ export class PlaceReplacer { async replacement(context, original) { let replacement; const classes = Array.from(original.classList).filter(clazz => clazz !== "place"); const mode = classes[0] || "place"; const address = original.textContent ? original.textContent.replace(/\n/g, " ") : ""; const outputDoc = context.file.document; replacement = outputDoc.createElement("span"); const params = original.dataset["params"]; const mapAddress = params !== null && params !== void 0 ? params : address; replacement.setAttribute("onclick", `showMap(event,"${mapAddress}",true,"${mode}")`); replacement.innerHTML = address; replacement.className = "plac"; replacement.translate = false; context.debug("\tReplacing place", original.innerHTML, "with", replacement); return replacement; } }