@expofp/floorplan
Version:
Interactive floor plan library for expos and events
78 lines • 2.66 kB
TypeScript
import { ImageDef } from "@expofp/renderer";
import Rect from "../core/Rect";
import { PathInfo, RawPoiType, RawRegularBooth, ShapeBgDef } from "../data/Data";
import { EventItem } from "./EventStore";
import { Exhibitor } from "./ExhibitorStore";
import { Layer } from "./LayerStore";
import RootStore from "./RootStore";
export default class BoothStore {
readonly rootStore: RootStore;
booths: Booth[];
highlightedByExternalIds: never[];
get boothById(): Map<number, Booth>;
get boothByExternalId(): Map<string, Booth>;
get boothByName(): Map<string, Booth>;
get boothBySlug(): Map<string, Booth>;
get borderWidth(): number;
constructor(rootStore: RootStore);
get bookmarked(): Booth[];
getNearestBooth(point: Point): Booth;
getBoothAtPoint(point: Point): Booth;
findBooth(str: string): Booth | undefined;
replaceBookmarked(ids: number[]): void;
}
export declare abstract class BoothBase {
protected readonly store: BoothStore;
readonly id: number;
readonly name: string;
readonly externalId: string;
readonly title: string;
readonly rect: Rect;
readonly borderWidth: number;
readonly borderColor: string;
noLabels: boolean;
readonly rotate: number;
readonly paths: PathInfo[];
readonly pathsWithRect: boolean;
readonly slug: string;
readonly error: boolean;
readonly description: string;
readonly exhibitors: Exhibitor[];
readonly labelColor: string;
readonly schedule: EventItem[];
readonly poiTypeId: number;
readonly poiType: RawPoiType;
readonly poiIcon: string;
readonly meta: Record<string, string>;
layer: Layer;
bookmarkedDirectly: boolean;
get bookmarked(): boolean;
private get uiState();
get fullName(): string;
get visible(): boolean;
get hover(): boolean;
get selected(): boolean;
get skipDim(): boolean;
}
export type Booth = RegularBooth | SpecialBooth;
export declare class RegularBooth extends BoothBase implements Omit<RawRegularBooth, "exhibitors"> {
readonly buyUrl: string;
readonly reserveUrl: string;
readonly type: string;
readonly status: "onhold" | "reserved";
readonly price: string;
readonly entity: Entity;
readonly size: string;
readonly availColor: string;
readonly soldColor: string;
readonly holdColor: string;
readonly onHold: boolean;
readonly reserved: boolean;
shapes: (ShapeBgDef | ImageDef)[];
}
export declare class SpecialBooth extends BoothBase {
readonly color: string;
shapes: (ShapeBgDef | ImageDef)[];
readonly entity: Entity;
}
//# sourceMappingURL=BoothStore.d.ts.map