@expofp/floorplan 3.0.0-alpha.11 → 3.0.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{Debug-CdG24TNO.js → Debug-2YRpxyzp.js} +2 -2
- package/dist/browser/{Demo-orSDDEhp.js → Demo-BhvcgT41.js} +3 -3
- package/dist/browser/{Free-CVkfvG88.js → Free-Cf7Raqrc.js} +3 -3
- package/dist/browser/{Gallery-byAt942-.js → Gallery-Dq_GR98t.js} +3 -3
- package/dist/browser/{GpsLoader-Bdm0xIOk.js → GpsLoader-ChfXQOsy.js} +3 -3
- package/dist/browser/KioskStore-D241RDzb.js +216 -0
- package/dist/browser/{Mapbox-DloFGenX.js → Mapbox-DFHRWdCq.js} +4 -4
- package/dist/browser/{SetKioskMode-CSGLnvuM.js → SetKioskMode-2rlj74Xn.js} +4 -4
- package/dist/browser/{ShowKiosk-DFZZ3UF3.js → ShowKiosk-CrsnQU04.js} +3 -3
- package/dist/browser/{ThreeComponent-DDjYQPXG.js → ThreeComponent-ClnfXUj7.js} +4 -4
- package/dist/browser/{boolean-editor-BDA6-EZk.js → boolean-editor-D8wja-hk.js} +3 -3
- package/dist/browser/bundle.json +26 -29
- package/dist/browser/{client-CIaQNg0L.js → client-CkzDfd_U.js} +2 -2
- package/dist/browser/{data-DeojhQ9l.js → data-m8n9ATTo.js} +2 -2
- package/dist/browser/{debug-overlay-BMxh17e5.js → debug-overlay-2jzTw6KL.js} +4 -4
- package/dist/browser/{debug-ui-DG09ZPYf.js → debug-ui-YhK0Mf0Y.js} +3 -3
- package/dist/browser/{fetch-retry.umd-Djerm8iU.js → fetch-retry.umd-dyC72RhE.js} +1 -1
- package/dist/browser/{flex-RkXbYeB3.js → flex-Cdkjkshz.js} +2 -2
- package/dist/browser/{floorplan.ready-DOocUJOv.js → floorplan.ready-D6FqQD8c.js} +18008 -17968
- package/dist/browser/index-4ImEhZsQ.js +10220 -0
- package/dist/browser/{index-BFfFTwRU.js → index-BKeGOpor.js} +4 -4
- package/dist/browser/{index-B7HWgssM.js → index-CEmjMySn.js} +1 -1
- package/dist/browser/{index-t2Qtb-FM.js → index-D153Iyx8.js} +2 -2
- package/dist/browser/{index-CUwIlhvm.js → index-DBHasqQ8.js} +1 -1
- package/dist/browser/{index-CsH1M7pW.js → index-DSgSq67u.js} +2 -2
- package/dist/browser/{index-jlJdZcGv.js → index-d52BKaOl.js} +3 -3
- package/dist/browser/index.js +1 -1
- package/dist/browser/{particles.min-DU4QgXsV.js → particles.min-7sD7ioDi.js} +1 -1
- package/dist/esm/components/Bookmarks.d.ts +0 -1
- package/dist/esm/components/Bookmarks.js +1 -1
- package/dist/esm/components/Kiosk/KioskStore.d.ts +3 -3
- package/dist/esm/components/Kiosk/KioskStore.js +1 -1
- package/dist/esm/components/Map/Map.d.ts +0 -23
- package/dist/esm/components/Map/Map.js +1 -1
- package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +1 -1
- package/dist/esm/components/Map/drawing/config/config-all.d.ts +2 -3
- package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +1 -1
- package/dist/esm/components/Map/drawing/config/config-bg.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +5 -5
- package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +5 -5
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +3 -3
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +6 -6
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
- package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +5 -5
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-scaled.d.ts +3 -3
- package/dist/esm/components/Map/drawing/config/config-booth-scaled.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booths.d.ts +2 -2
- package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +2 -2
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-markers.d.ts +2 -3
- package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-wf.d.ts +2 -3
- package/dist/esm/components/Map/drawing/config/config-wf.js +1 -1
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +2 -3
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
- package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +3 -5
- package/dist/esm/components/Map/traffic/useBuildRoute.js +6 -6
- package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +3 -5
- package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
- package/dist/esm/components/SidebarActions.d.ts +3 -0
- package/dist/esm/components/SidebarActions.js +1 -1
- package/dist/esm/components/Wayfinding.js +1 -1
- package/dist/esm/data/tours.json +74 -0
- package/dist/esm/floorplan.ready.d.ts +2 -2
- package/dist/esm/floorplan.ready.js +1 -1
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/offline/offlineManager.js +1 -1
- package/dist/esm/renderer/HandlerRegistry.d.ts +18 -0
- package/dist/esm/renderer/HandlerRegistry.js +1 -0
- package/dist/esm/renderer/RendererService.d.ts +26 -0
- package/dist/esm/renderer/RendererService.js +1 -0
- package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/canvases.d.ts +1 -1
- package/dist/esm/renderer/engine-core/canvases.js +1 -0
- package/dist/esm/renderer/engine-core/fonts.js +1 -0
- package/dist/esm/{components/Map/drawing/config/engine-core → renderer}/index.d.ts +10 -10
- package/dist/esm/renderer/index.js +1 -0
- package/dist/esm/store/BookmarksStore.d.ts +1 -2
- package/dist/esm/store/BookmarksStore.js +2 -2
- package/dist/esm/store/LayerStore.js +1 -1
- package/dist/esm/store/RootStore.d.ts +6 -8
- package/dist/esm/store/RootStore.js +1 -1
- package/dist/esm/store/RouteStore.js +1 -1
- package/dist/esm/store/UIState.d.ts +3 -3
- package/dist/esm/store/UIState.js +1 -1
- package/dist/esm/utils/mapEntity.js +1 -1
- package/dist/esm/utils/shortenName.js +1 -1
- package/dist/esm/utils/useRenderTarget.js +1 -1
- package/dist/esm/utils/wayfinding.d.ts +1 -1
- package/dist/esm/utils/wayfinding.js +1 -1
- package/package.json +3 -7
- package/dist/browser/KioskStore-D2NCiJjy.js +0 -216
- package/dist/browser/index-yzyqTrur.js +0 -12540
- package/dist/browser/sw.js +0 -2
- package/dist/esm/components/Map/drawing/config/engine-core/canvases.js +0 -1
- package/dist/esm/components/Map/drawing/config/engine-core/fonts.js +0 -1
- package/dist/esm/components/Map/drawing/config/engine-core/index.js +0 -1
- package/dist/esm/components/Map/drawing/config/engine-core/renderer.d.ts +0 -4
- package/dist/esm/components/Map/drawing/config/engine-core/renderer.js +0 -1
- package/dist/esm/expofp-debug.d.ts +0 -5
- package/dist/esm/expofp-debug.js +0 -1
- package/dist/esm/offline/sw.d.ts +0 -2
- package/dist/esm/offline/sw.js +0 -1
- package/dist/stats.html +0 -4950
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/animation.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/animation.js +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/defs.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/defs.js +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/fonts.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/settings.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/settings.js +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/types.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/types.js +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/update-def.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/update-def.js +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/utils/rotation.d.ts +0 -0
- /package/dist/esm/{components/Map/drawing/config → renderer}/engine-core/utils/rotation.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as f } from "./jsx-runtime-jIxVPx5o.js";
|
|
2
|
-
import { r as m } from "./index-
|
|
3
|
-
import "./index-
|
|
2
|
+
import { r as m } from "./index-d52BKaOl.js";
|
|
3
|
+
import "./index-4ImEhZsQ.js";
|
|
4
4
|
const a = "dbg123", r = [];
|
|
5
5
|
let u = !1, i = null;
|
|
6
6
|
function g(o) {
|
|
@@ -25,9 +25,9 @@ function b() {
|
|
|
25
25
|
const o = m("Show Debug Button Overlay"), t = async (e) => {
|
|
26
26
|
const {
|
|
27
27
|
DebugUi: n
|
|
28
|
-
} = await import("./debug-ui-
|
|
28
|
+
} = await import("./debug-ui-YhK0Mf0Y.js"), {
|
|
29
29
|
createRoot: s
|
|
30
|
-
} = await import("./client-
|
|
30
|
+
} = await import("./client-CkzDfd_U.js").then((d) => d.c), l = document.createElement("div");
|
|
31
31
|
document.body.appendChild(l), s(l).render(/* @__PURE__ */ f.jsx(n, { useDebugButtonState: o.useState, open: e }));
|
|
32
32
|
};
|
|
33
33
|
if (o.get())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as N } from "./jsx-runtime-jIxVPx5o.js";
|
|
2
|
-
import { o as B, r as ht } from "./index-
|
|
3
|
-
import { R as en } from "./index-
|
|
2
|
+
import { o as B, r as ht } from "./index-4ImEhZsQ.js";
|
|
3
|
+
import { R as en } from "./index-D153Iyx8.js";
|
|
4
4
|
const vt = 0, Pe = 1, Xe = 2, Io = 4;
|
|
5
5
|
function Jt(e) {
|
|
6
6
|
return () => e;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as E, o as x } from "./index-
|
|
1
|
+
import { r as E, o as x } from "./index-4ImEhZsQ.js";
|
|
2
2
|
import { j as O } from "./jsx-runtime-jIxVPx5o.js";
|
|
3
3
|
let w = !1;
|
|
4
4
|
function _() {
|
|
5
|
-
w || (w = !0, !(typeof window > "u" && typeof document > "u") && import("./index-
|
|
5
|
+
w || (w = !0, !(typeof window > "u" && typeof document > "u") && import("./index-BKeGOpor.js").then((t) => t.i).then(({
|
|
6
6
|
renderDebugUi: t
|
|
7
7
|
}) => {
|
|
8
8
|
t();
|
|
@@ -60,7 +60,7 @@ function y(t) {
|
|
|
60
60
|
}));
|
|
61
61
|
}
|
|
62
62
|
function b(t) {
|
|
63
|
-
const n = x.lazy(() => import("./boolean-editor-
|
|
63
|
+
const n = x.lazy(() => import("./boolean-editor-D8wja-hk.js").then((r) => ({
|
|
64
64
|
default: r.BooleanEditor
|
|
65
65
|
})));
|
|
66
66
|
return v(t, !1, n);
|
package/dist/browser/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,
|
|
1
|
+
import{jsx as o,Fragment as a,jsxs as m}from"react/jsx-runtime";import{useObserver as e}from"mobx-react-lite";import{useRef as n}from"react";import i from"../data";import r,{uiState as s}from"../store";import k from"../tools/settings";import{EntityList as l}from"./";import f from"./SidebarActions";function u(){return e(()=>r.bookmarksStore.hasBookmarks?o(f,{className:"efp-sidebarActions--bookmarks",showDirections:!1,showBookmark:!1,showRoutePlanner:k.wayfinding&&r.bookmarksStore.hasRoutableBookmarks,showShare:!0,onClickRoutePlanner:()=>r.routePlannerStore.launchFromBookmarks(),onClickShare:()=>r.bookmarksStore.share()}):null)}function c(){const t=n();return e(()=>m(a,{children:[o(u,{}),o(l,{updatedScrollableRef:t})]}))}export default()=>e(()=>!i.hideBookmarks&&!s.details&&s.list.type==="bookmarks"&&o(c,{}));
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Kiosk,
|
|
1
|
+
import { Kiosk, StatusMessage } from "./SetKiosk";
|
|
2
2
|
import { AlertProps } from "../Alert";
|
|
3
3
|
declare class KioskStore {
|
|
4
4
|
get kiosk(): Kiosk;
|
|
5
5
|
setKiosk(kiosk: Kiosk): void;
|
|
6
|
-
get renderer(): import("@expofp/renderer").Renderer;
|
|
7
|
-
getCameraState
|
|
6
|
+
get renderer(): import("@expofp/renderer").Renderer | null;
|
|
7
|
+
private getCameraState;
|
|
8
8
|
savedKiosk: Kiosk;
|
|
9
9
|
get hasUnsavedChanges(): boolean;
|
|
10
10
|
statusMessages: StatusMessage[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__esDecorate as
|
|
1
|
+
import{__esDecorate as s,__runInitializers as d}from"tslib";import{action as r,computed as u,observable as R,runInAction as O,toJS as c}from"mobx";import{removeKiosk as j,getSavedKiosk as A,saveKiosk as E}from"./SetKiosk";import a from"../../store";import{isPointVisible as X}from"../Map/visibleArea";import{areLayersEnabled as Y}from"../../utils/areLayersEnabled";let q=(()=>{let i=[],m,k,g,S,f=[],p=[],v,_,C=[],K=[],M,b,y,D,P,I,F,z,N,x,T,U,w;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;m=[u],k=[r],g=[u],S=[R],v=[u],_=[R],M=[r],b=[r],y=[r],D=[r],P=[r],I=[r],F=[r],z=[r],N=[r],x=[r],T=[r],U=[r],w=[r],s(this,null,m,{kind:"getter",name:"kiosk",static:!1,private:!1,access:{has:e=>"kiosk"in e,get:e=>e.kiosk},metadata:t},null,i),s(this,null,k,{kind:"method",name:"setKiosk",static:!1,private:!1,access:{has:e=>"setKiosk"in e,get:e=>e.setKiosk},metadata:t},null,i),s(this,null,g,{kind:"getter",name:"renderer",static:!1,private:!1,access:{has:e=>"renderer"in e,get:e=>e.renderer},metadata:t},null,i),s(this,null,v,{kind:"getter",name:"hasUnsavedChanges",static:!1,private:!1,access:{has:e=>"hasUnsavedChanges"in e,get:e=>e.hasUnsavedChanges},metadata:t},null,i),s(this,null,M,{kind:"method",name:"addStatusMessage",static:!1,private:!1,access:{has:e=>"addStatusMessage"in e,get:e=>e.addStatusMessage},metadata:t},null,i),s(this,null,b,{kind:"method",name:"clearStatusMessages",static:!1,private:!1,access:{has:e=>"clearStatusMessages"in e,get:e=>e.clearStatusMessages},metadata:t},null,i),s(this,null,y,{kind:"method",name:"startCleanupMessages",static:!1,private:!1,access:{has:e=>"startCleanupMessages"in e,get:e=>e.startCleanupMessages},metadata:t},null,i),s(this,null,D,{kind:"method",name:"resetCamera",static:!1,private:!1,access:{has:e=>"resetCamera"in e,get:e=>e.resetCamera},metadata:t},null,i),s(this,null,P,{kind:"method",name:"restoreData",static:!1,private:!1,access:{has:e=>"restoreData"in e,get:e=>e.restoreData},metadata:t},null,i),s(this,null,I,{kind:"method",name:"handleSetupReady",static:!1,private:!1,access:{has:e=>"handleSetupReady"in e,get:e=>e.handleSetupReady},metadata:t},null,i),s(this,null,F,{kind:"method",name:"handleClose",static:!1,private:!1,access:{has:e=>"handleClose"in e,get:e=>e.handleClose},metadata:t},null,i),s(this,null,z,{kind:"method",name:"handleDelete",static:!1,private:!1,access:{has:e=>"handleDelete"in e,get:e=>e.handleDelete},metadata:t},null,i),s(this,null,N,{kind:"method",name:"handleSave",static:!1,private:!1,access:{has:e=>"handleSave"in e,get:e=>e.handleSave},metadata:t},null,i),s(this,null,x,{kind:"method",name:"handleChange",static:!1,private:!1,access:{has:e=>"handleChange"in e,get:e=>e.handleChange},metadata:t},null,i),s(this,null,T,{kind:"method",name:"setInitialPtScale",static:!1,private:!1,access:{has:e=>"setInitialPtScale"in e,get:e=>e.setInitialPtScale},metadata:t},null,i),s(this,null,U,{kind:"method",name:"handleClick",static:!1,private:!1,access:{has:e=>"handleClick"in e,get:e=>e.handleClick},metadata:t},null,i),s(this,null,w,{kind:"method",name:"handleNavigationChange",static:!1,private:!1,access:{has:e=>"handleNavigationChange"in e,get:e=>e.handleNavigationChange},metadata:t},null,i),s(null,null,S,{kind:"field",name:"savedKiosk",static:!1,private:!1,access:{has:e=>"savedKiosk"in e,get:e=>e.savedKiosk,set:(e,l)=>{e.savedKiosk=l}},metadata:t},f,p),s(null,null,_,{kind:"field",name:"statusMessages",static:!1,private:!1,access:{has:e=>"statusMessages"in e,get:e=>e.statusMessages,set:(e,l)=>{e.statusMessages=l}},metadata:t},C,K),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}get kiosk(){return a.uiState.kioskData}setKiosk(t){a.uiState.setKioskData(t)}get renderer(){return a.rendererService.renderer}getCameraState(){const t=a.rendererService.getCameraState();return t?{mapInitialPtScale:this.initialPtScale,mapPtScale:t.ptScale,mapCenterX:t.center.x,mapCenterY:t.center.y,mapRollDegrees:t.roll,mapPitch:t.pitch}:{}}savedKiosk=(d(this,i),d(this,f,void 0));get hasUnsavedChanges(){const t=this.savedKiosk,e=c(this.kiosk);if(!e||!t)return!!e!=!!t;const l=Object.keys(t),o=Object.keys(e);if(l.length!==o.length)return!0;for(const n of l)if(!(n in e)||t[n]!==e[n])return!0;return!1}statusMessages=(d(this,p),d(this,C,[]));addStatusMessage(t){this.statusMessages=[{...t,id:Date.now()}],this.startCleanupMessages()}clearStatusMessages(){this.statusMessages=[]}statusMessageTimer=(d(this,K),0);startCleanupMessages(){clearTimeout(this.statusMessageTimer),this.statusMessageTimer=window.setTimeout(()=>this.clearStatusMessages(),1e3)}async resetCamera(){const{z:t,mapRollDegrees:e,mapInitialPtScale:l,mapPtScale:o,mapCenterX:n,mapCenterY:h}=this.kiosk||{};await this.renderer.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),O(()=>{Number.isFinite(l)&&Number.isFinite(o)&&o>0&&this.renderer.controls.zoomBy(l/o,!0),Number.isFinite(n)&&Number.isFinite(h)&&this.renderer.controls.panTo(n,h,!0),Number.isFinite(e)&&this.renderer.controls.rollTo(e,!0),t&&a.fp.activateFloor({name:t})})}restoreData(){const t=A();return t&&(this.setKiosk(t),this.savedKiosk=t,a.uiState.kiosk=!0,this.resetCamera()),t}handleSetupReady(){this.restoreData(),a.uiState.kiosk=!0,a.uiState.hideFreeOrDemo=!0,a.uiState.setForceDimm(!0),a.searchStore.setSearchText(""),a.searchStore.setFocused(!1)}handleClose(){this.setKiosk(null),a.uiState.setForceDimm(!1),a.uiState.enableSetKioskMode(!1),a.searchStore.closeSearch(),this.resetCamera()}handleDelete(){j(),this.setKiosk(null),a.uiState.resetMapSettings(),a.uiState.resetUIScale(),this.resetCamera(),this.addStatusMessage({variant:"success",title:"Deleted"})}handleSave(){const t=c(this.kiosk),e=this.getCameraState(),l={...t,...e};if(!X(this.renderer,l)){this.addStatusMessage({variant:"error",title:"Kiosk not visible"});return}this.setKiosk(l),E(l),a.uiState.setUIScale(l.uiScale,!0),this.addStatusMessage({variant:"success",title:"Saved"}),this.savedKiosk=l}delayChange(t){requestAnimationFrame(()=>t?.())}handleChange(t){const e=c(this.kiosk);e&&(Number.isFinite(t.angle)&&this.setKiosk({...e,heading:t.angle}),Number.isFinite(t.scale)&&(this.setKiosk({...e,uiScale:t.scale}),this.delayChange(()=>a.uiState.setUIScale(t.scale,!1))),Number.isFinite(t.percent)&&this.setKiosk({...e,iconSizePercent:t.percent}))}initialPtScale;setInitialPtScale(t){if(this.initialPtScale)return;this.initialPtScale=t;const e=c(this.kiosk);e&&this.setKiosk({...e,mapInitialPtScale:t})}handleClick({point:t}){const e=c(this.kiosk),l=a.fp.getFloors(),o=Y()?l.find(h=>h.active)?.name:null,n=a.uiState.uiScale;this.setKiosk({...e,x:t.x,y:t.y,z:o,uiScale:e?.uiScale||n,heading:e?.heading||0,iconSizePercent:e?.iconSizePercent||100,...this.getCameraState()})}handleNavigationChange(){const t=c(this.kiosk);t&&this.setKiosk({...t,...this.getCameraState()})}}})();export default new q;
|
|
@@ -1,25 +1,2 @@
|
|
|
1
|
-
import { ImageDef, RenderableDef, Renderer as EngineRenderer, TextDef } from "@expofp/renderer";
|
|
2
|
-
import { CustomFonts } from "./drawing/config/engine-core";
|
|
3
|
-
import { ImageDefWithParentBounds } from "./drawing/config/engine-core";
|
|
4
|
-
export interface MapRenderer extends EngineRenderer {
|
|
5
|
-
ptScaleHandlers?: {
|
|
6
|
-
fn: (scale: number) => RenderableDef | undefined;
|
|
7
|
-
name?: string;
|
|
8
|
-
}[];
|
|
9
|
-
rollHandlers?: {
|
|
10
|
-
fn: (angle: number) => ImageDef | TextDef | ImageDef[] | TextDef[] | undefined;
|
|
11
|
-
name?: string;
|
|
12
|
-
}[];
|
|
13
|
-
layerImagesHandlers?: {
|
|
14
|
-
fn: () => Promise<{
|
|
15
|
-
name: string;
|
|
16
|
-
children: ImageDefWithParentBounds[];
|
|
17
|
-
}>;
|
|
18
|
-
name?: string;
|
|
19
|
-
}[];
|
|
20
|
-
scale?: number;
|
|
21
|
-
fontUrls?: CustomFonts[];
|
|
22
|
-
angle?: number;
|
|
23
|
-
}
|
|
24
1
|
export default function Map(): import("react/jsx-runtime").JSX.Element;
|
|
25
2
|
//# sourceMappingURL=Map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as w,jsxs as I,Fragment as $}from"react/jsx-runtime";import{useObserver as H}from"mobx-react-lite";import K from"classnames";import{useEffect as U,useMemo as Y,useRef as _,useState as q}from"react";import{observable as J}from"mobx";import i,{boothStore as Q,layersStore as S,uiState as e}from"../../store";import ee from"./drawing/config/config-all";import{useReaction as u}from"../../utils/mobx";import{LayerMode as y}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as g}from"./drawing/config/Rect";import R from"../../core/Rect";import{Exhibitor as z}from"../../store/ExhibitorStore";import{BoothBase as oe}from"../../store/BoothStore";import{CurrentPosition as te,Route as re}from"../../store/RouteStore";import{Category as ne}from"../../store/CategoryStore";import C from"../../tools/logger";import{svgArea as F}from"../../data/svg";import{configMarkers as ie,getMarkerFromClick as ae}from"./drawing/config/config-markers";import se from"color";import le from"./drawing/config/config-wf";import{createSceneDef as me}from"../../renderer";import{convertGpsToLocal as ce}from"../../utils/gps";import{fpGeo as fe}from"../Mapbox/utils/fpGeo";import v from"../../utils/is-debug";import{Draggable as de}from"../Draggable";import{useBuildRoute as ue}from"./traffic/useBuildRoute";import{useManageTraffic as pe}from"./traffic/useManageTraffic";import{PATHWAY_KEY as G}from"../../constants";import N from"./booth-by-xy";import{mapRollSetting as D}from"../../renderer";import{loadLayersImages as he}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as ve}from"../../utils/areLayersEnabled";const O=Number.isFinite(p.maxZoom);export default function be(){let T={};const X="#ebebeb",h=_(),b=Y(()=>J({moving:!1,prevLevel:i.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]),s=i.rendererService;let l;const L=_(null);let k=null,M=null;const[j,A]=q(()=>typeof window<"u"&&window.localStorage?localStorage.getItem("debug")!=="0":!0);u(()=>i.routeStore.currentRouteLayer,()=>{if(!s.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const o=s.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(n=>r.name.includes(n.name)));let t=i.routeStore.currentRouteLayer.name;if(!o.find(r=>r.name===t))return;const a=o?.map(r=>(r.name===t&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,s.update(...a)}),u(()=>e.centerMap,()=>{!e.centerMap||i.mapboxStore.showMapbox||(l.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),U(()=>{if(!h.current)return;async function o(){let t={};try{if(v){const r=document.createElement("canvas").getContext("webgl2"),n=r&&r.getExtension("EXT_disjoint_timer_query_webgl2"),c=(await import("stats-gl")).default,f=new c({trackGPU:n,horizontal:!0}),d=L.current;if(!d)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",d.style.width=`${90*(n?3:2)}px`,d.style.height="48px",d.appendChild(f.dom),t={stats:f,memoryInfoPanel:d}}}catch(a){console.error(a)}l=s.create({canvas:h.current,ui:t}),e.canvasVisibleRectPx&&(l.visibleRect=g.fromCoreRect(e.canvasVisibleRectPx)),ee(s).then(a=>{v&&console.log("Renderer settings",l);const r=se(p.backgroundColor==="none"?X:p.backgroundColor).string("rgba");T=me(a,g.fromCoreRect(F),r),s.start(T),D(l,i.fp.enableRotation?1:0),O&&l.viewport.setMaxZoom(p.maxZoom),S.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),k=le(s),M=ie(s),he(s)}),l.events.addEventListener("pointer:move",({point:a,defs:r})=>{if(e.setKioskModeEnabled)return;const n=N(a.x,a.y),m=B(r[0]);e.hoveredBooth=n||m}),l.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({defs:a,point:r})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&i.showMap();const{x:n,y:m}=r;if(e.onGetCoordsClick){const d=i.layerStore.layers.find(x=>x.visible&&(x.mode===y.TurnedOn||x.mode===y.TurnedOff));e.onGetCoordsClick({x:n,y:m,z:d?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const d=ae(n,m,s.scale);v&&console.log("marker",d),e.onMarkerClick(d)}const c=N(r.x,r.y),f=B(a[0]);v&&console.log("boothIdFromClientXy",c,"boothByShape",f,"pointer:click point",r),i.clickBooth(c||f)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),i.fp.getCenterCoordinates=W,()=>V()},[]);function V(){k?.(),M?.(),s.dispose()}function W(){const o=h.current;if(!h.current)throw new Error("Canvas not ready");const t=l.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2}),r=i.layerStore.visible.find(n=>n.mode===y.TurnedOff||n.mode===y.TurnedOn)?.name||null;return{...t,z:r}}function B(o){return!o||!o.shape?null:Q.booths.find(t=>t.shapes?.find(a=>a.shape==o.shape))}u(()=>e.zoomBy,()=>{if(!e.zoomBy||i.mapboxStore.showMapbox)return;const o=e.zoomBy;l.controls.zoomBy(o),e.zoomBy=null}),u(()=>e.dimmed,o=>{if(!s.scene)return;const t=s.scene.rootLayer;t.dim!==o&&(t.dim=o,s.update(t))}),u(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof z&&(o=o.booths[0]),!o))return;let t=null,a=[];o instanceof z?(t="exhibitor",a=o.booths.map(n=>n.name).sort((n,m)=>n==i.routeStore.tempToBooth?.name?-1:m==i.routeStore.tempToBooth?.name?1:0)):o instanceof oe?(t="booth",a=[o.name]):o instanceof re?(t="route",a=[o.from?.name,o.to?.name].filter(n=>!!n)):o instanceof ne&&(t="category",a=o.exhibitors.map(n=>n.booths.map(m=>m.name)).flat());var r={type:t,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...r,...t==="route"?{routeInfo:i.routeStore.routeInfo}:{}})}),u(()=>e.canvasVisibleRectPx,()=>{s.renderer&&(s.renderer.visibleRect=g.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),u(()=>e.moveToRect,()=>{!e.moveToRect||i.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&E(e.moveToRect),e.moveToRect=null)}),u(()=>e.rollReset,o=>{o&&(l.controls.resetCamera({roll:!0}),e.rollReset=!1)}),u(()=>e.moveToBooths,()=>{if(C.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||i.mapboxStore.showMapbox)return;C.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(t=>t.rect).map(t=>t.rect);o.length!==0&&(E(R.fromMultiple(o)),e.moveToBooths=null)}),u(()=>e.mapSettings,({zoomtime:o,center:t,centerxy:a,bearing:r,roll:n,z:m})=>{if(!(i.mapboxStore.showMapbox||!s.renderer))try{o&&o!==e.defaultMapSettings.zoomtime&&s.renderer.controls.configure({zoomTime:o/1e3}),i.fp.enableRotation&&D(l,n);let c;if(t){const f=t.split(",").map(Number),d=new te(void 0,void 0,void 0,void 0,f[0],f[1]);c=ce(d,fe.properties.config)}else if(a){const f=a.split(",").map(Number);c={x:f[0],y:f[1]}}m&&i.fp.activateFloor({name:m}),(c?.x||c?.y)&&s.renderer.controls.panTo(c.x,c.y),Number.isFinite(r)&&s.renderer.controls.rollTo(r)}catch(c){C.error("Error in mapSettings reaction",c)}}),ue({enabled:S.layersLoaded&&e.buildRoute,rendererService:s});const P="routes-api.expofp.com";pe({permission:S.layersLoaded,rendererService:s,dataJsonUrl:`https://${P}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${P}/locations?expo=${p.EXPO}`}),u(()=>i.layerStore.visible,o=>{if(!s.scene)return;const t=o.filter(n=>n.name.toLowerCase().includes(G)),r=s.scene.rootLayer.children.filter(n=>n.name.toLowerCase().includes(G));r.forEach(n=>{n.hidden=!t.find(m=>m.name===n.name)}),s.update(...r)});function E(o){let t=o;const a=Z(o,F);e.kioskData&&(!ve()||i.routeStore.defaultFrom?.layer?.name===i.routeStore.currentRouteLayer?.name)&&(t=R.fromMultiple([o,R.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const r=g.fromCoreRect(t),n={paddingPercent:a,maxZoom:O?void 0:10};if(e.shouldShiftMapRect){l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x+e.overlayWidthPx};try{l.controls.zoomTo(r,n)}finally{l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x-e.overlayWidthPx}}}else l.controls.zoomTo(r,n)}function Z(o,t){return!o||!t?0:(o.w*o.h/(t.h*t.w)>.1?15:25)/100}return H(()=>I($,{children:[w("canvas",{style:{width:"100%",height:"100%"},ref:h,className:K({map:!0,moving:b.moving,hidden:i.mapboxStore.showMapbox}),children:"ExpoFP.com"}),v&&j&&I(de,{className:"debug-fps",children:[w("div",{ref:L}),w("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem("debug","0"),A(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { LayerDef } from "@expofp/renderer";
|
|
2
|
-
import {
|
|
3
|
-
export
|
|
4
|
-
export default function configAll(renderer: MapRenderer): Promise<LayerDef[]>;
|
|
2
|
+
import { RendererService } from "../../../../renderer";
|
|
3
|
+
export default function configAll(rendererService: RendererService): Promise<LayerDef[]>;
|
|
5
4
|
//# sourceMappingURL=config-all.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import A from"../../../../store";import
|
|
1
|
+
import A from"../../../../store";import _ from"./config-load-layer";import{createLayerDef as e}from"../../../../renderer";import{WF_CURRENT_POSITION_NAME as E,WF_LINES_ANIMATED_LAYER_NAME as d,WF_LINES_LAYER_NAME as p,WF_POINTS_LAYER_NAME as N,WF_TRAIL_LAYER_NAME as y}from"./config-wf";import{MARKER_LAYER_NAME as R}from"./config-markers";import u from"./config-yah";import{createTrafficLayers as M}from"../../traffic/trafficLayers";import{PATHWAY_KEY as T}from"../../../../constants";export default function Y(s){u();let{layers:o,defaultLayer:f}=A.layerStore;if(f){const r=[].concat(o),t=o.find(i=>i===f),a=o.indexOf(t);r.splice(a,1),o=[t].concat(r)}const m=o.filter(r=>!r.rootParent).map(r=>_(r,s));return Promise.all(m).then(r=>{const t=e(N,[],{dim:!1,interactive:!0}),a=e(E,[],{dim:!1}),i=e(p,[],{dim:!1}),c=e(R,[]),l=e(y,[],{dim:!1}),L=e(d,[],{dim:!1});return r.forEach(n=>{n.name.toLowerCase().includes(T)&&(n.dim=!1)}),[...r.flat(),...M(),c,l,i,L,t,a]})}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Layer } from "../../../../store/LayerStore";
|
|
2
2
|
import { LayerDef } from "@expofp/renderer";
|
|
3
|
-
import { PathInfo } from "
|
|
3
|
+
import { PathInfo } from "../../../../renderer/engine-core/types";
|
|
4
4
|
import { ShapeBgDef } from "../../../../data/Data";
|
|
5
5
|
export declare const BG_LAYER_NAME = "bg";
|
|
6
6
|
export declare const FG_LAYER_NAME = "fg";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{select as d}from"d3-selection";import{getLayerSvg as m,gtePathByIndex as p}from"../../../../data/svg";import g from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{rectToShapeDef as i,meshToShapeDef as u}from"
|
|
1
|
+
import{select as d}from"d3-selection";import{getLayerSvg as m,gtePathByIndex as p}from"../../../../data/svg";import g from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{rectToShapeDef as i,meshToShapeDef as u}from"../../../../renderer";export const BG_LAYER_NAME="bg",FG_LAYER_NAME="fg";export default async function x(t){let o=[],n=[];const a=[],r=d(m(t)).select(`[data-layer="${t.name}"]`),c=r.selectAll(":scope > *:not([data-tagname='efp-booth']):not(g[data-is-editable='false']) path, :scope > path").nodes(),f=r.selectAll(":scope g[data-layer] > g[data-is-editable='false'] path, :scope > g[data-is-editable='false'] path, :scope > path[data-tagname='ptext']").nodes(),l=g.layerStore.mode!==h.Default?t.rootParent?.name||t.name:"";for(const e of c){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?o.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&o.push(i(e))}for(const e of f){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?n.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&n.push(i(e))}return a.push({name:BG_LAYER_NAME,children:o.filter(e=>e)}),a.push({name:FG_LAYER_NAME,children:n.filter(e=>e)}),Promise.resolve({name:t.name,children:a.filter(e=>e.children.length)})}export function buildPathDef(t,o){if(t.index===-1||Number.isNaN(t.index))return;(!t.color||t.color==="none")&&(t.color="transparent");const n=parseInt(t.index.toString()),a=p(n,o),r=u(a,t.color);return r.unblinking=t.unblinking,r}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Booth } from "../../../../store/BoothStore";
|
|
2
2
|
import { ColorInput, ShapeDef } from "@expofp/renderer";
|
|
3
3
|
import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
|
|
4
|
-
import {
|
|
4
|
+
import { RendererService } from "../../../../renderer";
|
|
5
5
|
import { ShapeBgDef } from "../../../../data/Data";
|
|
6
|
-
import { PathInfo } from "
|
|
7
|
-
export default function configBoothBg(
|
|
6
|
+
import { PathInfo } from "../../../../renderer/engine-core/types";
|
|
7
|
+
export default function configBoothBg(rendererService: RendererService, booth: Booth): BoothBgDrawer;
|
|
8
8
|
export declare function pathToShapeDef(paths: PathInfo[], layer: string): ShapeDef[];
|
|
9
9
|
declare class BoothBgDrawer extends BoothDrawerBaseWithoutPainter {
|
|
10
|
-
private readonly
|
|
11
|
-
constructor(
|
|
10
|
+
private readonly rendererService;
|
|
11
|
+
constructor(rendererService: RendererService, booth: Booth);
|
|
12
12
|
getShape(): ShapeBgDef[];
|
|
13
13
|
update(): void;
|
|
14
14
|
getBoothPathColor(defaultColor: ColorInput): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__esDecorate as g,__runInitializers as k}from"tslib";import i from"color";import
|
|
1
|
+
import{__esDecorate as g,__runInitializers as k}from"tslib";import i from"color";import v from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import p,{boothStore as _,layersStore as S,uiState as f}from"../../../../store";import{RegularBooth as D,SpecialBooth as I}from"../../../../store/BoothStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as B}from"../../../RebookingRadioGroup";import{Rect as w}from"./Rect";import{BoothDrawerBaseWithoutPainter as P}from"./BoothDrawerBase";import{LayersMode as x}from"../../../../store/LayerStore";import{createShapeDef as L}from"../../../../renderer";import{buildPathDef as F}from"./config-bg";export default function R(s,a){return new W(s,a)}function A(s){if(s.length===0)return null;const a=s[0];return s.every(h=>h===a)?a:null}export function pathToShapeDef(s,a){const c=[];for(const h of s){const d=F({index:h.index,color:h.color,unblinking:h.unblinking},a);d&&c.push(d)}return c}let W=(()=>{let s=P,a=[],c,h;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;c=[b({keepAlive:!0})],h=[b],g(this,null,c,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,a),g(this,null,h,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,a),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}rendererService=k(this,a);constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,p.layerStore.mode!==x.Default?e.layer.name:"");e.shapes=t.map(r=>{const l=f.monochrome?i(r.color).grayscale().rgb().string():this.getBoothColor().string("rgba");return r.color==="transparent"?r.color=l:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?_.borderWidth:e.borderWidth;let r=this.booth.rect.withPadding(t/2,t/2);const l=this.getBoothColor().string("rgba");e.shapes=[L(w.fromCoreRect(r,this.booth.rotate),l)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[S.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(S.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const e=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=e.string("rgba")}this.rendererService.update(o)}}getBoothPathColor(o){const e=this.booth;let t=i(o).hsl();if(e.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let m=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return i(m==="none"?r:m)}const l=i(r).hsl(),y=l.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(l.hue()).lightness(y)}else e.hover&&(t=t.darken(.1));return t}get defaultColor(){const o=this.booth;let e;if(o instanceof I)e=o.color||n.colors.booths.empty;else if(o instanceof D){if(u.isRebooking){if(!o.exhibitors?.length)return B[0].color.primary;const r=A((o.exhibitors??[]).map(l=>l.rebookingState));return r!==null?B[r].color.primary:"#000000"}const t=n.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}(e==="#666"||e==="#666666")&&(e="rgba(0,0,0,0.172)");try{e==="none"&&(e=n.colors.booths.default),i(e)}catch(t){e=n.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(i(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),e=f.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return v([o,e])}getBoothColor(){const o=this.booth;let e;if(f.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),l=i(p.heatmapStore.getColorByClicks(r));return o.selected?(e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),i(e==="none"?"#f33":e)):o.hover?l.darken(.2).alpha(l.alpha()*1.5):l}o.error?e="#f33":u.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=i(e==="none"?"#f33":e)}catch{t=i(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(f.monochrome||f.heatmapYah)&&(t=t.grayscale()),t}}})();
|
|
@@ -2,19 +2,19 @@ import { Booth } from "../../../../store/BoothStore";
|
|
|
2
2
|
import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
|
|
3
3
|
import { ImageDef } from "@expofp/renderer";
|
|
4
4
|
import { Rect } from "./Rect";
|
|
5
|
-
import {
|
|
6
|
-
export default function configBoothBookmarkImage(
|
|
5
|
+
import { RendererService } from "../../../../renderer";
|
|
6
|
+
export default function configBoothBookmarkImage(rendererService: RendererService, booth: Booth): BoothBookmarkDrawer | undefined;
|
|
7
7
|
declare class BoothBookmarkDrawer extends BoothDrawerBaseWithoutPainter {
|
|
8
|
-
protected
|
|
8
|
+
protected rendererService: RendererService;
|
|
9
9
|
protected shape: ImageDef;
|
|
10
10
|
protected bookmarkId: string;
|
|
11
11
|
protected readonly canvas: HTMLCanvasElement;
|
|
12
12
|
protected rect: Rect;
|
|
13
13
|
protected padding: number;
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(rendererService: RendererService, booth: Booth);
|
|
15
15
|
getShape: () => ImageDef;
|
|
16
16
|
update(bookmarked: boolean): void;
|
|
17
|
-
|
|
17
|
+
handleBookmarkScale(scale?: number): ImageDef | undefined;
|
|
18
18
|
}
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=config-booth-bookmark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{layersStore as
|
|
1
|
+
import{layersStore as o,uiState as a}from"../../../../store";import{BoothDrawerBaseWithoutPainter as m}from"./BoothDrawerBase";import{Rect as s}from"./Rect";import{reaction as h}from"mobx";import{createImageDef as k,createBookmarkCanvas as c,getClampedBoundsCanvas as l,getRotation as p}from"../../../../renderer";import{getRollValue as u}from"../../../../renderer";import{updateRectRotation as f}from"../../../../renderer";export default function b(t,e){if(!a.kiosk)return new S(t,e)}class S extends m{rendererService;shape;bookmarkId;canvas;rect;padding;constructor(e,r){super(r),this.rendererService=e,this.padding=this.booth.borderWidth/2,this.rect=s.fromCoreRect(this.booth.rect,this.booth.rotate),this.canvas=c(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=k(this.canvas,s.fromCoreRect(this.booth.rect,this.booth.rotate),{hidden:!r.bookmarked}),h(()=>[r.bookmarked,o.layersLoaded,this.booth.skipDim],()=>this.update(r.bookmarked),{fireImmediately:r.bookmarked}),h(()=>a.mapSettings,({roll:d})=>{u(d)&&this.rendererService.onRoll(`bookmark-roll-${this.bookmarkId}`,n=>{const i=p(n,this.rect.rotation);return i!==void 0&&(this.rect=f(this.rect,i),this.handleBookmarkScale()),this.shape})})}getShape=()=>this.shape;update(e){o.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.handleBookmarkScale(),this.shape.hidden?(this.rendererService.ptScaleRegistry.unregisterByName(this.bookmarkId),this.rendererService.rollRegistry.unregisterByName(`bookmark-roll-${this.bookmarkId}`)):this.rendererService.onPtScale(this.bookmarkId,this.handleBookmarkScale.bind(this)),this.rendererService.update(this.shape))}handleBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=l(this.rect,this.canvas,this.padding,e||this.rendererService.scale),this.shape}}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Booth } from "../../../../store/BoothStore";
|
|
2
2
|
import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
|
|
3
3
|
import { ShapeDef } from "@expofp/renderer";
|
|
4
|
-
import {
|
|
5
|
-
export default function configBoothBorder(
|
|
4
|
+
import { RendererService } from "../../../../renderer";
|
|
5
|
+
export default function configBoothBorder(rendererService: RendererService, booth: Booth): BoothBorderDrawer | undefined;
|
|
6
6
|
declare class BoothBorderDrawer extends BoothDrawerBaseWithoutPainter {
|
|
7
7
|
protected readonly shape: ShapeDef;
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(rendererService: RendererService, booth: Booth);
|
|
9
9
|
getShape(): ShapeDef;
|
|
10
10
|
}
|
|
11
11
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import g from"color";import{boothStore as c,layersStore as d}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as h}from"@expofp/renderer";import{reaction as B}from"mobx";import P from"../../../../core/Polygon";import W from"../../../../core/Rect";import{
|
|
1
|
+
import g from"color";import{boothStore as c,layersStore as d}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as h}from"@expofp/renderer";import{reaction as B}from"mobx";import P from"../../../../core/Polygon";import W from"../../../../core/Rect";import{createShapeDef as C}from"../../../../renderer";export default function D(r,e){if(a.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!c.borderWidth||e.paths&&!e.pathsWithRect))return new S(r,e)}function b(r){const e=[{x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:r.x3,y:r.y3},{x:r.x4,y:r.y4}],s=[[0,1,2],[2,3,0]];return new h(e,s)}class S extends w{shape;constructor(e,s){super(s);const y=g(s.selected?a.colors.booths.selectedBorder:s.borderColor),o=this.booth.rect,t=s.borderWidth||c.borderWidth,n=[],i=(p,f,l,x)=>{const u=b(P.fromRect(W.fromCxcywh(p,f,l,x)).rotate(s.rotate,o.cx,o.cy));n.push(u)};i(o.cx,o.cy-o.h/2,o.w+t,t),i(o.cx,o.cy+o.h/2,o.w+t,t),i(o.cx-o.w/2,o.cy,t,o.h+t),i(o.cx+o.w/2,o.cy,t,o.h+t);const m=h.merge(...n);this.shape=C(m,y.string("rgba")),B(()=>[this.booth.skipDim,d.layersLoaded],()=>{d.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,e.update(this.shape))})}getShape(){return this.shape}}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Booth, SpecialBooth } from "../../../../store/BoothStore";
|
|
2
2
|
import { BoothLabelDrawer } from "./config-booth-labels";
|
|
3
|
-
import {
|
|
4
|
-
import { FontSizeFactor } from "
|
|
5
|
-
import { TextDef } from "@expofp/renderer";
|
|
6
|
-
export default function configBoothLabelsSpecial(
|
|
3
|
+
import { RendererService } from "../../../../renderer";
|
|
4
|
+
import { FontSizeFactor } from "../../../../renderer";
|
|
5
|
+
import { ImageDef, TextDef } from "@expofp/renderer";
|
|
6
|
+
export default function configBoothLabelsSpecial(rendererService: RendererService, booth: Booth): BoothLabelSpecialDrawer | undefined;
|
|
7
7
|
declare class BoothLabelSpecialDrawer extends BoothLabelDrawer {
|
|
8
8
|
protected steps: FontSizeFactor[];
|
|
9
9
|
protected labelIsVertical: boolean;
|
|
10
10
|
protected text: string;
|
|
11
|
-
constructor(
|
|
12
|
-
getShape(): (
|
|
11
|
+
constructor(rendererService: RendererService, booth: SpecialBooth);
|
|
12
|
+
getShape(): (ImageDef | TextDef)[];
|
|
13
13
|
setFactors(text: string): void;
|
|
14
14
|
setText(): void;
|
|
15
15
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{SpecialBooth as R}from"../../../../store/BoothStore";import x from"../../../../tools/settings";import{heatmapStore as L,uiState as l,boothStore as D,layersStore as
|
|
2
|
-
`),this.shapeLabel.padding=[this.paddingScaled[0]*e+this.padding,this.paddingScaled[1]*e+this.padding],this.shapeLabel):(this.shapeLabel.lines[0].fontSize=0,this.shapeLabel)},
|
|
1
|
+
import{SpecialBooth as R}from"../../../../store/BoothStore";import x from"../../../../tools/settings";import{heatmapStore as L,uiState as l,boothStore as D,layersStore as v}from"../../../../store";import F from"./TextFitter";import{Rect as d}from"./Rect";import{getFont as y}from"./canvases";import{BoothLabelDrawer as T,getFontUrlByWeight as P,getMinZoomFactorForDot as w,isDirectionsMode as z}from"./config-booth-labels";import{reaction as u}from"mobx";import{createTextDef as k,updateTextDefRotation as C,getRotation as I,shouldFlip as M,updateRectRotation as B,getRollValue as W}from"../../../../renderer";import{FONT_WEIGHT_PRIMARY_BOOTH as V,FONT_WEIGHT_PRIMARY_SPECIAL as _}from"../../../../constants";const p=new Map;function $(i){let t=p.get(i);if(!t){const s=[18,16,14,12,10,7].map(n=>n*i),o=14*i;t=new F(y,s,o),p.set(i,t),setTimeout(()=>p.delete(i),5e3)}return t}export default function H(i,t){if(!(!(t instanceof R)||t.noLabels))return new N(i,t)}class N extends T{steps;labelIsVertical;text;constructor(t,s){super(t,s);const o=s.borderWidth/2||D.borderWidth/2,n=this.booth.rect,S=Number(getComputedStyle(document.body).getPropertyValue(_))||Number(getComputedStyle(document.body).getPropertyValue(V))||500,g=P(S,this.rendererService.fontUrls),m=n.withPadding(n.w*.05+o,n.h*.05+o);this.setText(),this.canvasRect=d.fromCoreRect(m,s.rotate),this.setFactors(this.text),this.labelIsVertical=Math.abs(Math.abs(s.rotate)-Math.PI/2)<.01,this.fontSizes=[this.steps,[]],this.minZoomDotVisible=w(this.steps.map(e=>e.scaleFactor)),this.shapeLabel=k([{text:this.text,color:s.labelColor||x.boothLabelColor,fontUrl:g,fontSize:0}],d.fromCoreRect(m,s.rotate),[o,o],{horizontal:"center",text:"center",vertical:"center"}),this.getShapeDot(),u(()=>[this.booth.skipDim,l.selectedRoute,v.layersLoaded],()=>{const e=z();this.shapeLabel.dim=e||this.booth.skipDim?!1:void 0,this.shapeDot.dim=e||this.booth.skipDim?!1:void 0,this.rendererService.update(this.shapeLabel,this.shapeDot)});const f=e=>{let a=this.steps.find(r=>r.scaleFactor<1/e);return a?(this.shapeLabel.lines[0].fontSize=a.value/devicePixelRatio*e,this.shapeLabel.lines[0].text=a.lines.join(`
|
|
2
|
+
`),this.shapeLabel.padding=[this.paddingScaled[0]*e+this.padding,this.paddingScaled[1]*e+this.padding],this.shapeLabel):(this.shapeLabel.lines[0].fontSize=0,this.shapeLabel)},b=e=>{let a=this.steps.find(c=>c.scaleFactor<1/e);const r=this.shapeDot.source.width*e,h=this.shapeDot.source.height*e;return this.shapeDot.bounds=new d({x:this.canvasRect.center.x-r/2,y:this.canvasRect.center.y-h/2},{x:this.canvasRect.center.x+r/2,y:this.canvasRect.center.y+h/2}),this.shapeDot.hidden=!!a,this.shapeDot};this.rendererService.onPtScale(`booth-special-label-${s.id}`,f),this.rendererService.onPtScale(`booth-special-dot-${s.id}`,b),u(()=>l.mapSettings,({roll:e})=>{W(e)&&this.rendererService.onRoll(`booth-special-roll-${s.id}`,a=>{const r=this.shapeLabel.bounds.rotation;if(this.labelIsVertical)M(a,r)&&(this.shapeLabel.bounds.rotation=-r);else{const h=I(a,r);if(h!==void 0){const{size:c}=this.canvasRect;this.shapeLabel=C(this.shapeLabel,h),c.x!==c.y&&!this.shapeLabel.hidden&&(this.canvasRect=B(this.canvasRect,h),this.setFactors(this.text),f(this.rendererService.scale),b(this.rendererService.scale))}}return[this.shapeLabel,this.shapeDot]})})}getShape(){return[this.shapeLabel,this.shapeDot]}setFactors(t){this.steps=$(devicePixelRatio).getStepsForRect(t,this.canvasRect.size.x,this.canvasRect.size.y)}setText(){const t=this.booth.title||this.booth.name,o=`Clicks: ${L.getTotalClicksByBooth(this.booth)}`;this.text=l.heatmap?`${t} - ${o}`:t}}
|
|
@@ -2,19 +2,19 @@ import { Booth } from "../../../../store/BoothStore";
|
|
|
2
2
|
import { ImageDef, Rect as RectShape, TextAlignment, TextDef } from "@expofp/renderer";
|
|
3
3
|
import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
|
|
4
4
|
import { Exhibitor } from "../../../../store/ExhibitorStore";
|
|
5
|
-
import {
|
|
6
|
-
import { FontSizeFactor, CustomFonts } from "
|
|
5
|
+
import { RendererService } from "../../../../renderer";
|
|
6
|
+
import { FontSizeFactor, CustomFonts } from "../../../../renderer";
|
|
7
7
|
type Prefix = {
|
|
8
8
|
fontSize: number;
|
|
9
9
|
name: string;
|
|
10
10
|
short?: boolean;
|
|
11
11
|
};
|
|
12
|
-
export default function configBoothLabels(
|
|
12
|
+
export default function configBoothLabels(rendererService: RendererService, booth: Booth): BoothLabelDrawer | undefined;
|
|
13
13
|
export declare function getMinZoomFactorForDot(scaleFactors: number[]): number;
|
|
14
14
|
export declare const isDirectionsMode: () => boolean;
|
|
15
15
|
export declare function getFontUrlByWeight(weight: number, customFonts?: CustomFonts[], style?: string): string;
|
|
16
16
|
export declare class BoothLabelDrawer extends BoothDrawerBaseWithoutPainter {
|
|
17
|
-
protected readonly
|
|
17
|
+
protected readonly rendererService: RendererService;
|
|
18
18
|
protected canvasRect: RectShape;
|
|
19
19
|
protected paddingScaled: [number, number];
|
|
20
20
|
protected padding: number;
|
|
@@ -29,7 +29,7 @@ export declare class BoothLabelDrawer extends BoothDrawerBaseWithoutPainter {
|
|
|
29
29
|
protected centerAlignment: TextAlignment;
|
|
30
30
|
protected prefixes: Prefix[];
|
|
31
31
|
protected fontUrls: [string, string];
|
|
32
|
-
constructor(
|
|
32
|
+
constructor(rendererService: RendererService, booth: Booth);
|
|
33
33
|
getShape(): (ImageDef | TextDef)[];
|
|
34
34
|
getShapeDot(): void;
|
|
35
35
|
private createLines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{layersStore as O,uiState as
|
|
1
|
+
import{layersStore as O,uiState as p}from"../../../../store";import{RegularBooth as H,SpecialBooth as I}from"../../../../store/BoothStore";import x from"../../../../tools/settings";import V from"../../../../utils/is-mobile";import U from"../../../../utils/is-webview";import{Rect as E}from"./Rect";import u from"../../../../data";import{BoothDrawerBaseWithoutPainter as Z}from"./BoothDrawerBase";import{getFont as M}from"./canvases";import{isArabicText as X}from"../../../../utils/rtl";import{t as L}from"../../../../utils/i18n";import{reaction as B}from"mobx";import{createTextDef as G,createTextDefLines as Y,updateLinesScale as $,updateTextDefRotation as k,getRotation as q,createShapeDot as j,DEFAULT_FONT_LIGHT_URL as J,DEFAULT_FONT_URL as _,getRollValue as K,updateRectRotation as Q}from"../../../../renderer";import{FONT_WEIGHT_PRIMARY_BOOTH as ee,FONT_WEIGHT_PRIMARY_EXHIBITOR as te,FONT_WEIGHT_SECONDARY_BOOTH as ie,FONT_WEIGHT_SECONDARY_EXHIBITOR as se}from"../../../../constants";let v=x.boothLabelColor;x.EXPO==="tqs2021"&&(v="#000");const b=V||U,D=h=>h.replace(" ","").substring(0,4).replace(/[0-9]/g,"3").replace(/[A-Z]/gi,"A"),P=document.createElement("canvas").getContext("2d");export default function oe(h,e){if(!(!(e instanceof H)||e.noLabels))return new BoothLabelDrawer(h,e)}export function getMinZoomFactorForDot(h){return Array.isArray(h)&&h.length>0?Math.max(...h.map(e=>e)):typeof h=="number"?h:-0}export const isDirectionsMode=()=>!!(p.selectedRoute?.from&&p.selectedRoute?.to);export function getFontUrlByWeight(h,e=[],t="normal"){return[...e,{weight:500,url:_,style:"normal"},{weight:300,url:J,style:"normal"}].find(i=>+i.weight===h&&i.style===t)?.url||_}const z="Details";export class BoothLabelDrawer extends Z{rendererService;canvasRect;paddingScaled;padding;minZoomDotVisible;maxZoomDotVisible;exh;shapeLabel;shapeDot;fontSizes;lines;topLeftAlignment;centerAlignment;prefixes;fontUrls;constructor(e,t){if(super(t),this.rendererService=e,this.canvasRect=E.fromCoreRect(t.rect,t.rotate),this.paddingScaled=[4,4],this.padding=(t.borderWidth||x.boothBorderWidth)/2,this.topLeftAlignment={horizontal:p.rtl?"right":"left",vertical:"top"},this.centerAlignment={horizontal:"center",vertical:"center"},this.prefixes=b?[{fontSize:7,name:"XS",short:!0},{fontSize:10,name:"S",short:!0},{fontSize:16,name:z,short:!1}]:[{fontSize:7,name:"XS",short:!0},{fontSize:10,name:"S",short:!0},{fontSize:12,name:"M",short:!0},{fontSize:14,name:"L",short:!0},{fontSize:18,name:z,short:!1}],t instanceof I)return;this.exh=u.hideExhibitors?[]:u.onlyFeaturedExhibitors?t.exhibitors.filter(i=>i.featured):t.exhibitors,b&&this.optimizationLevel()>=3&&(this.prefixes=this.prefixes.filter(i=>i.name!=="S")),this.createLines(),this.calculateFontSizeFactors(),this.shapeLabel=G(Y(this.lines,this.booth.labelColor||v,0,this.fontUrls),E.fromCoreRect(this.booth.rect,this.booth.rotate),[...this.paddingScaled],{horizontal:"left",vertical:"top"}),this.getShapeDot();const r=i=>{const o=this.lines[1]??[],s=this.fontSizes[1]??[];if(x.EXPO!=="wineparis2026"){const m=this.exh.length?this.topLeftAlignment:o.length?i<s[s.length-1].scaleFactor?this.topLeftAlignment:this.centerAlignment:this.topLeftAlignment;this.shapeLabel.alignment=m}if(!$(this.shapeLabel.lines,i,this.fontSizes,this.booth.name))return;const l=this.paddingScaled[0]*i+this.padding,d=this.paddingScaled[1]*i+this.padding;return this.shapeLabel.padding[0]=l,this.shapeLabel.padding[1]=d,this.shapeLabel},a=i=>{const o=i>=this.minZoomDotVisible&&i<=this.maxZoomDotVisible,s=this.shapeDot.source.width*i,n=this.shapeDot.source.height*i;if(!(!o&&this.shapeDot.hidden))return this.shapeDot.bounds.size={x:s,y:n},this.shapeDot.hidden=!o,this.shapeDot};B(()=>[this.booth.skipDim,p.selectedRoute,O.layersLoaded],()=>{if(!O.layersLoaded)return;const i=isDirectionsMode();this.shapeLabel.dim=i||this.booth.skipDim?!1:void 0,this.shapeDot.dim=i||this.booth.skipDim?!1:void 0,this.rendererService.update(this.shapeLabel,this.shapeDot)}),B(()=>p.mapSettings,({roll:i})=>{K(i)&&this.rendererService.onRoll(`booth-roll-${t.id}`,o=>{const s=q(o,this.shapeLabel.bounds.rotation),{size:n}=this.canvasRect;return s!==void 0&&(this.shapeLabel=k(this.shapeLabel,s),!this.shapeLabel.hidden&&!this.exh.length&&n.x!==n.y&&(this.canvasRect=Q(this.canvasRect,s),this.calculateFontSizeFactors(),r(this.rendererService.scale),a(this.rendererService.scale))),[this.shapeLabel,this.shapeDot]})}),this.rendererService.onPtScale(`booth-label-${t.id}`,r),this.rendererService.onPtScale(`booth-dot-${t.id}`,a)}getShape(){return[this.shapeLabel,this.shapeDot]}getShapeDot(){this.shapeDot=j(this.canvasRect,this.booth.labelColor||v),this.shapeDot.hidden=!0,this.maxZoomDotVisible=Math.min(this.canvasRect.size.x/this.shapeDot.source.width,this.canvasRect.size.y/this.shapeDot.source.height)}createLines(){const e=this.booth,t=[],r=[],a=b&&this.optimizationLevel()>=3?1:3;if(this.exh.length){const i=e.exhibitors.filter(s=>s.order===0),o=e.exhibitors.filter(s=>s.order);if(i.length>0)t.push(...i.map(s=>s.name));else if(u.onlyFeaturedExhibitors)t.push(...e.exhibitors.filter(s=>s.featured).map(s=>s.name));else if(o.length>0){t.push(...o.map(n=>n.name));const s=e.exhibitors.filter(n=>n.order===void 0);s.length>0&&t.push(L("and {{moreCount}} more",{moreCount:s.length}))}else e.exhibitors.length>a?t.push(`${e.exhibitors.length} ${u.exhibitorTermPlural}`):t.push(...e.exhibitors.map(s=>s.name));r.push(e.title||e.name)}else{const i=!!e.exhibitors.length;t.push(e.title||e.name),e.onHold?r.push(L("On Hold")):e.reserved?r.push(L("Reserved")):i||r.push(...e.exhibitors.map(o=>o.name).sort((o,s)=>o>s?1:-1)),e.size&&r.push(e.size.indexOf("/")>-1?e.size.substring(0,e.size.indexOf("/")).trim():e.size),e.price&&e.price!=="0"&&!p.previewMode&&r.push(e.price)}p.rtl&&t.forEach((i,o)=>{(i.endsWith(".")||i.endsWith("!")||i.endsWith("?"))&&(t[o]=t[o]+"\u200F"),X(i)&&(t[o]=t[o]+" ")}),this.lines=[t,r]}calculateFontSizeFactors(){let[e,t]=this.lines;const r=this.canvasRect,a=[],i=[],o=this.prefixes.slice(0,this.exh.length?this.prefixes.length:this.prefixes.length-1);let s=500,n=300;this.exh.length?(s=Number(getComputedStyle(document.body).getPropertyValue(te))||s,n=Number(getComputedStyle(document.body).getPropertyValue(se))||n):(s=Number(getComputedStyle(document.body).getPropertyValue(ee))||s,n=Number(getComputedStyle(document.body).getPropertyValue(ie))||n);for(const{fontSize:l,short:d}of o){const m=l*devicePixelRatio,R=.9*l*devicePixelRatio,f=M(m,s),y=M(R,n),F=u.hideExhibitorBoothNumber||d;let T,A,S,g;if(this.exh.length)d?t=[]:t=this.lines[1],S=Math.max(...e.map(c=>this.measureText(c,f).width),...t.map(c=>this.measureText(c,y).width)),T=Math.max(...e.map(c=>this.exh.length?this.measureText(D(c),f).width:this.measureText(D(c),f).width+3+3),...t.map(c=>this.measureText(D(c),y).width)),g=m*e.length+R*t.length+devicePixelRatio*(e.length+t.length)+3,A=F?g/e.length:null;else{const c=e[0].replace(/[0-9]/g,"3").replace(/[A-Z]/g,"A"),N=4;S=this.measureText(c,f).width+3+3,g=m+N}const W=r.size.x/(T||S),C=r.size.y/(A||g),w=Math.min(W,C);a.push({scaleFactor:w,value:l}),!F&&i.push({scaleFactor:w,value:.9*l})}if(!this.exh.length){const l=a[a.length-1],d=this.prefixes.find(m=>m.name===z);a.push({scaleFactor:l.scaleFactor/1.8,value:d.fontSize}),i.push({scaleFactor:l.scaleFactor/1.8,value:d.fontSize*(b?1:.9)})}this.fontUrls=[getFontUrlByWeight(s,this.rendererService.fontUrls),getFontUrlByWeight(n,this.rendererService.fontUrls)],this.minZoomDotVisible=getMinZoomFactorForDot(a.map(l=>l.scaleFactor)),this.fontSizes=[a,i]}calcArea(e,t){return Math.floor(Math.max(0,e)*Math.max(0,t)/1e3)}optimizationLevel(){return Math.min(u.viewOptimizationLevel?u.viewOptimizationLevel:Math.floor(this.calcArea(this.canvasRect.size.x,this.canvasRect.size.y)/5e3),3)}measureText(e,t){return P.font=t,P.measureText(e)}}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Booth } from "../../../../store/BoothStore";
|
|
2
2
|
import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
|
|
3
3
|
import { PathInfo } from "../../../../data/Data";
|
|
4
|
-
import {
|
|
4
|
+
import { RendererService } from "../../../../renderer";
|
|
5
5
|
import { ImageDef, ImageSource } from "@expofp/renderer";
|
|
6
6
|
export declare function canvasFromPath(paths: PathInfo[], scale: number | undefined, suffix: string): ImageSource;
|
|
7
|
-
export default function configScaledBooth(
|
|
7
|
+
export default function configScaledBooth(rendererService: RendererService, booth: Booth): ScaledBoothDrawer;
|
|
8
8
|
declare class ScaledBoothDrawer extends BoothDrawerBaseWithoutPainter {
|
|
9
9
|
protected shape: ImageDef;
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(rendererService: RendererService, booth: Booth);
|
|
11
11
|
getShape(): ImageDef[];
|
|
12
12
|
}
|
|
13
13
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import d,{layersStore as f}from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{BoothDrawerBaseWithoutPainter as u}from"./BoothDrawerBase";import{getTrianglesFromFpPaths as g}from"../../../../data/svg";import{reaction as p}from"mobx";import{Rect as E}from"./Rect";import{createImageDef as y
|
|
1
|
+
import d,{layersStore as f}from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{BoothDrawerBaseWithoutPainter as u}from"./BoothDrawerBase";import{getTrianglesFromFpPaths as g}from"../../../../data/svg";import{reaction as p}from"mobx";import{Rect as E}from"./Rect";import{createImageDef as y}from"../../../../renderer";const l=document.createElement("canvas"),a=l.getContext("2d");export function canvasFromPath(m,s=.5,t){var e=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];m.forEach(c=>{c.triangles=g(c.index,t),c.triangles.forEach(r=>{r.forEach(o=>{o[0]<e[0]?e[0]=o[0]:o[0]>e[2]&&(e[2]=o[0]),o[1]<e[1]?e[1]=o[1]:o[1]>e[3]&&(e[3]=o[1])})})});const n=e[0],i=e[1];return a.scale(s,s),m.forEach(c=>{a.beginPath(),a.fillStyle=c.color,c.triangles.forEach(r=>{a.moveTo(r[0][0]-n,r[0][1]-i),a.lineTo(r[1][0]-n,r[1][1]-i),a.lineTo(r[2][0]-n,r[2][1]-i),a.lineTo(r[0][0]-n,r[0][1]-i)}),a.fill()}),l}export default function x(m,s){return new L(m,s)}class L extends u{shape;constructor(s,t){super(t);const e=E.fromCoreRect(t.rect,t.rotate),n=canvasFromPath(t.paths,.5,d.layerStore.mode!==h.Default?t.layer.name:"");this.shape=y(n,e,{hidden:!0,dim:!0}),p(()=>[this.booth.skipDim,f.layersLoaded],()=>{f.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,s.update(this.shape))})}getShape(){return[this.shape]}}
|