UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

236 lines (235 loc) 8.95 kB
(function() { try { var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {}; e.SENTRY_RELEASE = { id: "3.7.8" }; var t = new e.Error().stack; t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "67928a9e-5909-43b0-8203-9a439edf913a", e._sentryDebugIdIdentifier = "sentry-dbid-67928a9e-5909-43b0-8203-9a439edf913a"); } catch {} })(); import { b as e, g as t, p as n, s as r, u as i, v as a } from "./i18n-BEer1tI4.js"; import { St as o, Ut as s, _t as c, dt as l, ft as u, o as d, pt as f } from "./store-DTwRqruF.js"; //#region src/components/Map/pointInConvexQuad.ts function p(e, t) { let n = 0; for (let r = 0; r < 4; r++) { let i = t[r], a = t[(r + 1) % 4], o = (a.x - i.x) * (e.y - i.y) - (a.y - i.y) * (e.x - i.x); if (!Number.isFinite(o)) return !1; if (o === 0) continue; let s = o > 0 ? 1 : -1; if (n === 0) n = s; else if (n !== s) return !1; } return n !== 0; } //#endregion //#region src/components/Map/visibleArea.ts function m(e) { let t = s(e.viewport.canvasToSvg({ x: 0, y: 0 })), n = s(e.viewport.canvasToSvg({ x: e.canvas.clientWidth, y: 0 })), r = s(e.viewport.canvasToSvg({ x: 0, y: e.canvas.clientHeight })), i = s(e.viewport.canvasToSvg({ x: e.canvas.clientWidth, y: e.canvas.clientHeight })), a = Math.min(t.x, n.x, r.x, i.x), o = Math.max(t.x, n.x, r.x, i.x), c = Math.min(t.y, n.y, r.y, i.y), l = Math.max(t.y, n.y, r.y, i.y); return { x: a, y: c, width: o - a, height: l - c, left: a, right: o, top: l, bottom: c, center: { x: (a + o) / 2, y: (c + l) / 2 }, corners: [ t, n, i, r ] }; } function h(e, t) { return p(t, m(e).corners); } //#endregion //#region src/components/Kiosk/KioskStore.ts var g, _, v, y, b, x; function S(e, t, n, r) { n && Object.defineProperty(e, t, { enumerable: n.enumerable, configurable: n.configurable, writable: n.writable, value: n.initializer ? n.initializer.call(r) : void 0 }); } function C(e, t, n, r, i) { var a = {}; return Object.keys(r).forEach(function(e) { a[e] = r[e]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) { return r(e, t, n) || n; }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a; } var w = new (g = n({ keepAlive: !0 }), _ = n({ keepAlive: !0 }), v = n({ keepAlive: !0 }), y = class { constructor() { S(this, "savedKiosk", b, this), S(this, "statusMessages", x, this), this.statusMessageTimer = 0, this.initialPtScale = void 0; } get kiosk() { return d.uiState.kioskData; } setKiosk(e) { d.uiState.setKioskData(e); } get renderer() { return d.rendererService.renderer; } getCameraState() { let e = d.rendererService.getCameraState(); return e ? { mapInitialPtScale: this.initialPtScale, mapPtScale: e.ptScale, mapCenterX: e.center.x, mapCenterY: e.center.y, mapRollDegrees: e.roll, mapPitch: e.pitch } : {}; } get hasUnsavedChanges() { let t = this.savedKiosk, n = e(this.kiosk); if (!n || !t) return !!n != !!t; let r = Object.keys(t), i = Object.keys(n); if (r.length !== i.length) return !0; for (let e of r) if (!(e in n) || t[e] !== n[e]) return !0; return !1; } addStatusMessage(e) { this.statusMessages = [{ ...e, id: Date.now() }], this.startCleanupMessages(); } clearStatusMessages() { this.statusMessages = []; } startCleanupMessages() { clearTimeout(this.statusMessageTimer), this.statusMessageTimer = window.setTimeout(() => this.clearStatusMessages(), 1e3); } async resetCamera() { let { z: e, mapRollDegrees: t, mapInitialPtScale: n, mapPtScale: r, mapCenterX: i, mapCenterY: o } = this.kiosk || {}, s = this.renderer; s && (await s.controls.resetCamera({ pan: !0, zoom: !0, roll: !0, pitch: !0 }, !0), a(() => { Number.isFinite(n) && Number.isFinite(r) && r > 0 && s.controls.zoomBy(n / r, !0), Number.isFinite(i) && Number.isFinite(o) && s.controls.panTo(i, o, !0), Number.isFinite(t) && s.controls.rollTo(t, !0), e && d.fp.activateFloor({ name: e }); })); } restoreData() { let e = l(); return e && (this.setKiosk(e), this.savedKiosk = e, d.uiState.kiosk = !0, this.resetCamera()), e; } handleSetupReady() { this.restoreData(), d.uiState.kiosk = !0, d.uiState.hideFreeOrDemo = !0, d.uiState.setForceDimm(!0), d.searchStore.setSearchText(""), d.searchStore.setFocused(!1); } handleClose() { this.setKiosk(null), d.uiState.setForceDimm(!1), d.uiState.enableSetKioskMode(!1), d.searchStore.closeSearch(), this.resetCamera(); } handleDelete() { u(), this.setKiosk(null), d.uiState.resetMapSettings(), d.uiState.resetUIScale(), this.resetCamera(), this.addStatusMessage({ variant: "success", title: r("Deleted") }); } handleSave() { let t = this.renderer; if (!t) return; let n = e(this.kiosk), i = this.getCameraState(), a = { ...n, ...i }; if (!h(t, a)) { this.addStatusMessage({ variant: "error", title: r("Kiosk not visible") }); return; } this.setKiosk(a), f(a), c(a, "https://app.expofp.com/"), d.uiState.setUIScale(a.uiScale, !0), this.addStatusMessage({ variant: "success", title: r("Saved") }), this.savedKiosk = a; } delayChange(e) { requestAnimationFrame(() => e == null ? void 0 : e()); } handleChange(t) { let n = e(this.kiosk); n && (Number.isFinite(t.angle) && this.setKiosk({ ...n, heading: t.angle }), Number.isFinite(t.scale) && (this.setKiosk({ ...n, uiScale: t.scale }), this.delayChange(() => d.uiState.setUIScale(t.scale, !1))), Number.isFinite(t.percent) && this.setKiosk({ ...n, iconSizePercent: t.percent })); } setInitialPtScale(t) { if (this.initialPtScale) return; this.initialPtScale = t; let n = e(this.kiosk); n && this.setKiosk({ ...n, mapInitialPtScale: t }); } handleClick(t) { var n, r; let i = e(this.kiosk), a = d.fp.getFloors(), s = o() ? (n = (r = a.find((e) => e.active)) == null ? void 0 : r.name) == null ? null : n : null, c = d.uiState.uiScale; this.setKiosk({ ...i, x: t.x, y: t.y, z: s, uiScale: (i == null ? void 0 : i.uiScale) || c, heading: (i == null ? void 0 : i.heading) || 0, iconSizePercent: (i == null ? void 0 : i.iconSizePercent) || 100, ...this.getCameraState() }); } handleNavigationChange() { let t = e(this.kiosk); t && this.setKiosk({ ...t, ...this.getCameraState() }); } }, C(y.prototype, "kiosk", [g], Object.getOwnPropertyDescriptor(y.prototype, "kiosk"), y.prototype), C(y.prototype, "setKiosk", [i], Object.getOwnPropertyDescriptor(y.prototype, "setKiosk"), y.prototype), C(y.prototype, "renderer", [_], Object.getOwnPropertyDescriptor(y.prototype, "renderer"), y.prototype), b = C(y.prototype, "savedKiosk", [t], { configurable: !0, enumerable: !0, writable: !0, initializer: function() { return null; } }), C(y.prototype, "hasUnsavedChanges", [v], Object.getOwnPropertyDescriptor(y.prototype, "hasUnsavedChanges"), y.prototype), x = C(y.prototype, "statusMessages", [t], { configurable: !0, enumerable: !0, writable: !0, initializer: function() { return []; } }), C(y.prototype, "addStatusMessage", [i], Object.getOwnPropertyDescriptor(y.prototype, "addStatusMessage"), y.prototype), C(y.prototype, "clearStatusMessages", [i], Object.getOwnPropertyDescriptor(y.prototype, "clearStatusMessages"), y.prototype), C(y.prototype, "startCleanupMessages", [i], Object.getOwnPropertyDescriptor(y.prototype, "startCleanupMessages"), y.prototype), C(y.prototype, "resetCamera", [i], Object.getOwnPropertyDescriptor(y.prototype, "resetCamera"), y.prototype), C(y.prototype, "restoreData", [i], Object.getOwnPropertyDescriptor(y.prototype, "restoreData"), y.prototype), C(y.prototype, "handleSetupReady", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleSetupReady"), y.prototype), C(y.prototype, "handleClose", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleClose"), y.prototype), C(y.prototype, "handleDelete", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleDelete"), y.prototype), C(y.prototype, "handleSave", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleSave"), y.prototype), C(y.prototype, "handleChange", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleChange"), y.prototype), C(y.prototype, "setInitialPtScale", [i], Object.getOwnPropertyDescriptor(y.prototype, "setInitialPtScale"), y.prototype), C(y.prototype, "handleClick", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleClick"), y.prototype), C(y.prototype, "handleNavigationChange", [i], Object.getOwnPropertyDescriptor(y.prototype, "handleNavigationChange"), y.prototype), y)(); //#endregion export { w as t };