@expofp/floorplan
Version:
Interactive floor plan library for expos and events
84 lines • 2.93 kB
TypeScript
import { Logo, MarketMaterial, RawExhibitor } from '@expofp/schema';
import { Booth } from './BoothStore';
import { Category } from './CategoryStore';
import { EventItem } from './EventStore';
import RootStore from './RootStore';
export declare enum RebookingState {
Unasked = 0,
Accepted = 1,
Rejected = 2,
Undecided = 3
}
export default class ExhibitorStore {
private readonly rootStore;
readonly exhibitors: Exhibitor[];
private timeout;
constructor(rootStore: RootStore);
highlightedByExternalIds: never[];
rebookingStateChangeRequested: boolean;
rebookingStateSaved: boolean;
get exhibitorById(): Map<number, Exhibitor>;
get exhibitorByExternalId(): Map<string, Exhibitor>;
get exhibitorByName(): Map<string, Exhibitor>;
get exhibitorBySlug(): Map<string, Exhibitor>;
get bookmarked(): Exhibitor[];
get visited(): Exhibitor[];
get advertised(): Exhibitor[];
replaceBookmarked(ids: number[]): void;
replaceVisited(ids: number[]): void;
setRebookingState(exhibitor: Exhibitor, state: RebookingState, rebookingNote: string): void;
findExhibitor(str: string): Exhibitor | undefined;
}
export declare class Exhibitor implements Omit<RawExhibitor, 'categories' | 'booths'> {
private readonly store;
readonly id: number;
readonly name: string;
readonly externalId: string;
featured: boolean;
readonly advertise: boolean;
readonly description: string;
readonly address: string;
readonly address2: string;
readonly city: string;
readonly state: string;
readonly zip: string;
readonly country: string;
readonly phone1: string;
readonly website: string;
readonly facebook: string;
readonly instagram: string;
readonly linkedin: string;
readonly twitter: string;
readonly googlePlus: string;
readonly xing: string;
readonly youtube: string;
readonly email: string;
readonly privateEmail: string;
readonly customButtonTitle: string;
readonly customButtonUrl: string;
readonly customButton2Title: string;
readonly customButton2Url: string;
readonly customButton3Title: string;
readonly customButton3Url: string;
readonly leadingImageUrl: string;
readonly leadingImageLinkUrl: string;
readonly videoUrl: string;
readonly order: number;
/** Always the object form — `normalizeLegacyData` converts legacy string logos. */
readonly logo?: Logo;
readonly logoInBooth: boolean;
readonly gallery: string[];
readonly marketMaterials: MarketMaterial[];
readonly slug: string;
bookmarked: boolean;
visited: boolean;
rebookingState: RebookingState;
rebookingNote: string;
readonly booths: Booth[];
readonly categories: Category[];
readonly schedule: EventItem[];
readonly entity: {
readonly type: 'exhibitor';
};
}
//# sourceMappingURL=ExhibitorStore.d.ts.map