UNPKG

@plattar/plattar-ar-adapter

Version:

Plattar AR Adapter for interfacing with Google & Apple WebAR

40 lines (39 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ar_viewer_1 = require("./ar-viewer"); class QuicklookViewer extends ar_viewer_1.ARViewer { constructor() { super(); } get nodeType() { return "Quick Look"; } get device() { return "ios"; } start() { if (!this.modelUrl) { throw new Error("QuicklookViewer.start() - model url not set, use QuicklookViewer.modelUrl"); } const anchor = document.createElement("a"); anchor.setAttribute("rel", "ar"); anchor.appendChild(document.createElement("img")); const banner = this.banner; let url = this.modelUrl; if (banner) { url += `#callToAction=${banner.button}`; url += `&checkoutTitle=${banner.title}`; url += `&checkoutSubtitle=${banner.subtitle}`; const handleQuicklook = (event) => { if (event.data === "_apple_ar_quicklook_button_tapped") { window.location.assign(this.composedActionURL); } }; anchor.addEventListener("message", handleQuicklook, false); } document.body.appendChild(anchor); anchor.setAttribute("href", encodeURI(url)); anchor.click(); } } exports.default = QuicklookViewer;