@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 11.9 kB
JavaScript
import{__esDecorate as s,__runInitializers as Y}from"tslib";import{action as l,computed as i,reaction as H}from"mobx";import{CACHE_DURATION as K,LANGUAGE_TYPE as X,MOBILE_BREAKPOINT as q}from"../../constants";import J from"../../data";import{SessionsSubButtonProvider as Q}from"../providers/SessionsSubButtonProvider";import{SubButtonRegistry as Z}from"../SubButtonRegistry";import{PREFIXES as $}from"./constants";import{SearchButtonsActions as tt}from"./SearchButtonsActions";import{SearchButtonsFactory as et}from"./SearchButtonsFactory";import{SearchButtonsFilters as at}from"./SearchButtonsFilters";import{SearchButtonsState as st}from"./SearchButtonsState";import{countMapValues as it,extractPoiTypeId as lt,isValidConfig as nt}from"./utils";let ot=(()=>{let a=[],o,r,c,u,h,d,g,S,B,f,p,m,v,C,_,b,P,y,k,I,T,A,F,w,E,R,x,M,V,L,O,W,D,U,z,N,j,G;return class{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;o=[l],r=[i],c=[i],u=[i],h=[i],d=[i],g=[i],S=[i],B=[i],f=[i],p=[i],m=[i],v=[i],C=[i],_=[i],b=[i],P=[i],y=[i],k=[i],I=[i],T=[i],A=[l],F=[l],w=[l],E=[l],R=[l],x=[l],M=[l],V=[l],L=[l],O=[l],W=[l],D=[l],U=[l],z=[l],N=[l],j=[l],G=[l],s(this,null,o,{kind:"method",name:"invalidatePoiTypeCounts",static:!1,private:!1,access:{has:t=>"invalidatePoiTypeCounts"in t,get:t=>t.invalidatePoiTypeCounts},metadata:e},null,a),s(this,null,r,{kind:"getter",name:"isVisible",static:!1,private:!1,access:{has:t=>"isVisible"in t,get:t=>t.isVisible},metadata:e},null,a),s(this,null,c,{kind:"getter",name:"shouldShow",static:!1,private:!1,access:{has:t=>"shouldShow"in t,get:t=>t.shouldShow},metadata:e},null,a),s(this,null,u,{kind:"getter",name:"activePoiFilterId",static:!1,private:!1,access:{has:t=>"activePoiFilterId"in t,get:t=>t.activePoiFilterId},metadata:e},null,a),s(this,null,h,{kind:"getter",name:"activeSubButtonsParentId",static:!1,private:!1,access:{has:t=>"activeSubButtonsParentId"in t,get:t=>t.activeSubButtonsParentId},metadata:e},null,a),s(this,null,d,{kind:"getter",name:"activeSubButtonId",static:!1,private:!1,access:{has:t=>"activeSubButtonId"in t,get:t=>t.activeSubButtonId},metadata:e},null,a),s(this,null,g,{kind:"getter",name:"subButtonsEnabled",static:!1,private:!1,access:{has:t=>"subButtonsEnabled"in t,get:t=>t.subButtonsEnabled},metadata:e},null,a),s(this,null,S,{kind:"getter",name:"searchShortcutState",static:!1,private:!1,access:{has:t=>"searchShortcutState"in t,get:t=>t.searchShortcutState},metadata:e},null,a),s(this,null,B,{kind:"getter",name:"searchButtons",static:!1,private:!1,access:{has:t=>"searchButtons"in t,get:t=>t.searchButtons},metadata:e},null,a),s(this,null,f,{kind:"getter",name:"hasAnySearchButtons",static:!1,private:!1,access:{has:t=>"hasAnySearchButtons"in t,get:t=>t.hasAnySearchButtons},metadata:e},null,a),s(this,null,p,{kind:"getter",name:"hasActiveSearchButton",static:!1,private:!1,access:{has:t=>"hasActiveSearchButton"in t,get:t=>t.hasActiveSearchButton},metadata:e},null,a),s(this,null,m,{kind:"getter",name:"activeSearchButtonLabel",static:!1,private:!1,access:{has:t=>"activeSearchButtonLabel"in t,get:t=>t.activeSearchButtonLabel},metadata:e},null,a),s(this,null,v,{kind:"getter",name:"activeSubButtons",static:!1,private:!1,access:{has:t=>"activeSubButtons"in t,get:t=>t.activeSubButtons},metadata:e},null,a),s(this,null,C,{kind:"getter",name:"shouldShowSubButtons",static:!1,private:!1,access:{has:t=>"shouldShowSubButtons"in t,get:t=>t.shouldShowSubButtons},metadata:e},null,a),s(this,null,_,{kind:"getter",name:"hasActiveParentWithChildren",static:!1,private:!1,access:{has:t=>"hasActiveParentWithChildren"in t,get:t=>t.hasActiveParentWithChildren},metadata:e},null,a),s(this,null,b,{kind:"getter",name:"areAllSelected",static:!1,private:!1,access:{has:t=>"areAllSelected"in t,get:t=>t.areAllSelected},metadata:e},null,a),s(this,null,P,{kind:"getter",name:"activeChildrenCount",static:!1,private:!1,access:{has:t=>"activeChildrenCount"in t,get:t=>t.activeChildrenCount},metadata:e},null,a),s(this,null,y,{kind:"getter",name:"totalChildrenCount",static:!1,private:!1,access:{has:t=>"totalChildrenCount"in t,get:t=>t.totalChildrenCount},metadata:e},null,a),s(this,null,k,{kind:"getter",name:"poiTypeCounts",static:!1,private:!1,access:{has:t=>"poiTypeCounts"in t,get:t=>t.poiTypeCounts},metadata:e},null,a),s(this,null,I,{kind:"getter",name:"totalPoiTypeCount",static:!1,private:!1,access:{has:t=>"totalPoiTypeCount"in t,get:t=>t.totalPoiTypeCount},metadata:e},null,a),s(this,null,T,{kind:"getter",name:"activePoiTypeId",static:!1,private:!1,access:{has:t=>"activePoiTypeId"in t,get:t=>t.activePoiTypeId},metadata:e},null,a),s(this,null,A,{kind:"method",name:"handleSearchButtonClick",static:!1,private:!1,access:{has:t=>"handleSearchButtonClick"in t,get:t=>t.handleSearchButtonClick},metadata:e},null,a),s(this,null,F,{kind:"method",name:"handleExtendedSearchButtonClick",static:!1,private:!1,access:{has:t=>"handleExtendedSearchButtonClick"in t,get:t=>t.handleExtendedSearchButtonClick},metadata:e},null,a),s(this,null,w,{kind:"method",name:"handleMainButtonClick",static:!1,private:!1,access:{has:t=>"handleMainButtonClick"in t,get:t=>t.handleMainButtonClick},metadata:e},null,a),s(this,null,E,{kind:"method",name:"handleSessionsClick",static:!1,private:!1,access:{has:t=>"handleSessionsClick"in t,get:t=>t.handleSessionsClick},metadata:e},null,a),s(this,null,R,{kind:"method",name:"togglePoiType",static:!1,private:!1,access:{has:t=>"togglePoiType"in t,get:t=>t.togglePoiType},metadata:e},null,a),s(this,null,x,{kind:"method",name:"clearAllFilters",static:!1,private:!1,access:{has:t=>"clearAllFilters"in t,get:t=>t.clearAllFilters},metadata:e},null,a),s(this,null,M,{kind:"method",name:"showSubButtons",static:!1,private:!1,access:{has:t=>"showSubButtons"in t,get:t=>t.showSubButtons},metadata:e},null,a),s(this,null,V,{kind:"method",name:"hideSubButtons",static:!1,private:!1,access:{has:t=>"hideSubButtons"in t,get:t=>t.hideSubButtons},metadata:e},null,a),s(this,null,L,{kind:"method",name:"handleSubButtonClick",static:!1,private:!1,access:{has:t=>"handleSubButtonClick"in t,get:t=>t.handleSubButtonClick},metadata:e},null,a),s(this,null,O,{kind:"method",name:"toggleChildFilter",static:!1,private:!1,access:{has:t=>"toggleChildFilter"in t,get:t=>t.toggleChildFilter},metadata:e},null,a),s(this,null,W,{kind:"method",name:"clearPoiTypeFilters",static:!1,private:!1,access:{has:t=>"clearPoiTypeFilters"in t,get:t=>t.clearPoiTypeFilters},metadata:e},null,a),s(this,null,D,{kind:"method",name:"clearAllChildFilters",static:!1,private:!1,access:{has:t=>"clearAllChildFilters"in t,get:t=>t.clearAllChildFilters},metadata:e},null,a),s(this,null,U,{kind:"method",name:"setActiveParentId",static:!1,private:!1,access:{has:t=>"setActiveParentId"in t,get:t=>t.setActiveParentId},metadata:e},null,a),s(this,null,z,{kind:"method",name:"showShortcuts",static:!1,private:!1,access:{has:t=>"showShortcuts"in t,get:t=>t.showShortcuts},metadata:e},null,a),s(this,null,N,{kind:"method",name:"clearChildren",static:!1,private:!1,access:{has:t=>"clearChildren"in t,get:t=>t.clearChildren},metadata:e},null,a),s(this,null,j,{kind:"method",name:"setSubButtonId",static:!1,private:!1,access:{has:t=>"setSubButtonId"in t,get:t=>t.setSubButtonId},metadata:e},null,a),s(this,null,G,{kind:"method",name:"setPoiFilterId",static:!1,private:!1,access:{has:t=>"setPoiFilterId"in t,get:t=>t.setPoiFilterId},metadata:e},null,a),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}rootStore=Y(this,a);_subButtonRegistry;state;filters;actions;factory;poiTypeCountsCache=new Map;lastPoiTypeCountUpdate=0;constructor(e){this.rootStore=e,this.state=new st,this.filters=new at(e,this.state),this.actions=new tt(e,this.state,this.filters),this.factory=new et(e,this.state,this.actions),this.setupReactions()}setupReactions(){H(()=>this.rootStore.boothStore.booths.length,()=>this.invalidatePoiTypeCounts())}get subButtonRegistry(){return this._subButtonRegistry||(this._subButtonRegistry=new Z,this.registerSubButtonProviders()),this._subButtonRegistry}registerSubButtonProviders(){this.subButtonRegistry.register(new Q(this.rootStore))}invalidatePoiTypeCounts(){this.poiTypeCountsCache.clear(),this.lastPoiTypeCountUpdate=0}get isVisible(){return this.state.isVisible}get shouldShow(){const{uiState:e}=this.rootStore;if(e.screenSize.width>=q)return this.state.isVisible;const n=!!(e.selectedExhibitor||e.selectedBooth||e.selectedEventItem||e.selectedRoute||e.menu||e.list.type===X);return this.state.isVisible&&!n}get activePoiFilterId(){return this.state.activePoiFilterId}get activeSubButtonsParentId(){return this.state.activeSubButtonsParentId}get activeSubButtonId(){return this.state.activeSubButtonId}get subButtonsEnabled(){return this.state.subButtonsEnabled}get searchShortcutState(){return this.state.searchShortcutState}get searchButtons(){const e=J.filterButtonsConfig;if(!nt(e))return console.warn("[SearchButtonsStore] Invalid filterButtonsConfig detected"),[];const t=e.searchButtons;return this.factory.createButtons(t)}get hasAnySearchButtons(){return this.searchButtons.length>0}get hasActiveSearchButton(){return this.state.activePoiFilterId!==null||this.rootStore.uiState.selectedCategoryFilters.length>0}get activeSearchButtonLabel(){return this.state.activePoiFilterId?this.searchButtons.find(t=>t.id===this.state.activePoiFilterId)?.label||null:this.rootStore.uiState.selectedCategoryFilters.length>0?"Categories":null}get activeSubButtons(){return this.state.activeSubButtonsParentId?this.subButtonRegistry.getSubButtons(this.state.activeSubButtonsParentId):[]}get shouldShowSubButtons(){if(!this.state.subButtonsEnabled||!this.state.activeSubButtonsParentId)return!1;const e=this.searchButtons.find(t=>t.id===this.state.activeSubButtonsParentId);return!e||!e.active?!1:this.subButtonRegistry.shouldShowSubButtons(this.state.activeSubButtonsParentId)&&this.activeSubButtons.length>0}get hasActiveParentWithChildren(){return this.state.hasActiveParentWithChildren}get areAllSelected(){return this.filters.areAllSelected()}get activeChildrenCount(){return this.state.activeChildrenCount}get totalChildrenCount(){return this.filters.getChildrenCount()}get poiTypeCounts(){const e=Date.now();if(e-this.lastPoiTypeCountUpdate<K&&this.poiTypeCountsCache.size>0)return this.poiTypeCountsCache;const t=new Map;return this.rootStore.boothStore.booths.forEach(n=>{n.poiTypeId&&t.set(n.poiTypeId,(t.get(n.poiTypeId)||0)+1)}),this.poiTypeCountsCache=t,this.lastPoiTypeCountUpdate=e,t}get totalPoiTypeCount(){return it(this.poiTypeCounts)}get activePoiTypeId(){return this.state.activePoiFilterId?.startsWith($.POI_TYPE)?lt(this.state.activePoiFilterId):null}handleSearchButtonClick(e){this.actions.handleSearchButtonClick(e)}handleExtendedSearchButtonClick(e){this.actions.handleExtendedSearchButtonClick(e)}handleMainButtonClick(e){this.actions.handleMainButtonClick(e)}handleSessionsClick(){this.actions.handleSessionsClick()}togglePoiType(e){this.actions.togglePoiType(e)}clearAllFilters(){this.actions.clearAllFilters()}showSubButtons(e){this.actions.showSubButtons(e)}hideSubButtons(){this.actions.hideSubButtons()}handleSubButtonClick(e){this.state.activeSubButtonId!==e&&(this.state.setSubButton(e),this.state.activeSubButtonsParentId&&this.subButtonRegistry.handleSubButtonClick(this.state.activeSubButtonsParentId,e))}toggleChildFilter(e){this.filters.toggleChildFilter(e)}clearPoiTypeFilters(){this.filters.clearPoiTypeFilters()}clearAllChildFilters(){this.filters.clearAllChildFilters()}setActiveParentId(e){this.state.setActiveParentId(e)}showShortcuts(e){this.state.showShortcuts(e)}clearChildren(){this.state.clearChildren()}setSubButtonId(e){this.state.setSubButton(e)}setPoiFilterId(e){this.state.setPoiFilter(e)}getPoiTypeTotalCount(e){return this.poiTypeCounts.get(e)||0}isChildActive(e){return this.state.isChildActive(e)}getActiveParent(){return this.filters.getActiveParent()}}})();export default ot;