@plattar/plattar-ar-adapter
Version:
Plattar AR Adapter for interfacing with Google & Apple WebAR
40 lines (39 loc) • 1.36 kB
JavaScript
;
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;