@expofp/floorplan
Version:
Interactive floor plan library for expos and events
58 lines • 2.43 kB
TypeScript
import RootStore from "../RootStore";
import type { SearchButtonConfig, SearchButtonTypeConfig, SearchShortcutState, SearchSubButtonConfig } from "../types";
export default class SearchButtonsStore {
private readonly rootStore;
private _subButtonRegistry?;
private readonly state;
private readonly filters;
private readonly actions;
private readonly factory;
private poiTypeCountsCache;
private lastPoiTypeCountUpdate;
constructor(rootStore: RootStore);
private setupReactions;
private get subButtonRegistry();
private registerSubButtonProviders;
private invalidatePoiTypeCounts;
get isVisible(): boolean;
get shouldShow(): boolean;
get activePoiFilterId(): string | null;
get activeSubButtonsParentId(): string | null;
get activeSubButtonId(): string | null;
get subButtonsEnabled(): boolean;
get searchShortcutState(): SearchShortcutState;
get searchButtons(): SearchButtonConfig[];
get hasAnySearchButtons(): boolean;
get hasActiveSearchButton(): boolean;
get activeSearchButtonLabel(): string | null;
get activeSubButtons(): SearchSubButtonConfig[];
get shouldShowSubButtons(): boolean;
get hasActiveParentWithChildren(): boolean;
get areAllSelected(): boolean;
get activeChildrenCount(): number;
get totalChildrenCount(): number;
get poiTypeCounts(): Map<number, number>;
get totalPoiTypeCount(): number;
get activePoiTypeId(): number | null;
handleSearchButtonClick(searchButtonId: string): void;
handleExtendedSearchButtonClick(buttonId: string): void;
handleMainButtonClick(buttonId: string): void;
handleSessionsClick(): void;
togglePoiType(poiTypeId: number): void;
clearAllFilters(): void;
showSubButtons(parentButtonId: string): void;
hideSubButtons(): void;
handleSubButtonClick(subButtonId: string): void;
toggleChildFilter(childId: string): void;
clearPoiTypeFilters(): void;
clearAllChildFilters(): void;
setActiveParentId(parentId: string | null): void;
showShortcuts(visible: boolean): void;
clearChildren(): void;
setSubButtonId(buttonId: string | null): void;
setPoiFilterId(filterId: string | null): void;
getPoiTypeTotalCount(poiTypeId: number): number;
isChildActive(childId: string): boolean;
getActiveParent(): SearchButtonTypeConfig | null;
}
//# sourceMappingURL=SearchButtonsStore.d.ts.map