@expofp/floorplan
Version:
Interactive floor plan library for expos and events
33 lines • 1.64 kB
TypeScript
import type RootStore from '../RootStore';
import { BaseSubButtonProvider } from '../SubButtonProvider';
import { type SearchSubButtonConfig } from '../types';
export declare class SessionsSubButtonProvider extends BaseSubButtonProvider {
private rootStore;
readonly id = "sessions";
constructor(rootStore: RootStore);
private get computedSubButtons();
createSubButtons(): SearchSubButtonConfig[];
handleSubButtonClick(subButtonId: string): void;
shouldShowSubButtons(): boolean;
/**
* Reports a sub-button click to stats. Must run BEFORE the handler mutates
* state, because it compares against the sub-button currently selected — a
* click on the one already selected is not a new view of it. (The store's
* `handleSubButtonClick` guards the same case the same way, but the UI calls
* the `onClick` baked into each config and never reaches that guard.)
*
* Deliberately NOT the button's own `active`: `sessions_show_all` is also
* active whenever no sub-button and no track are selected — the state every
* path that opens the sessions list leaves behind — which made the first
* "All Tracks" click, the most common one there is, structurally impossible
* to report.
*
* Captions are data (`track.name`) or a plain literal, never `t()`, so the
* value is stable across locales. Tagged `subbutton` to keep this row
* separable from the main button row.
*/
private reportActivation;
private handleSessionsShowAllClick;
private handleSessionsTrackClick;
}
//# sourceMappingURL=SessionsSubButtonProvider.d.ts.map