import JsBarcode from "jsbarcode"; import { toWords as numberToWords } from "number-to-words"; import QRCode from "qrcode"; import data from "./export-computers-assets-2020-01-30.json"; async function renderLabels() { const template = document.querySelector("#labelTemplate"); const URL_BASE = "https://inv.claremontmakerspace.org/"; for (const asset of data.data) { const { "Asset Tag": assetTag, "Asset Name": assetName, "MAC Address": mac } = asset; let clone = document.importNode(template.content, true); let qrcode = await QRCode.toDataURL(URL_BASE + assetTag, { margin: 0 }); clone.querySelector(".qrcode").src = qrcode; JsBarcode(clone.querySelector(".barcode"), assetTag, { displayValue: false, margin: 0 }); let name = numberToWords(assetName.match(/[0-9]+$/)[0]).toUpperCase(); clone.querySelector(".name").textContent = name; clone.querySelector(".hostname").textContent = assetName; clone.querySelector(".mac").textContent = mac; clone.querySelector(".tag").textContent = assetTag; document.body.appendChild(clone); } } window.addEventListener("load", renderLabels);