@seatlayer/js 0.92.5 → 0.94.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/{channelsMode-B41tbE29.d.cts → channelsMode-DYwJ6sfR.d.cts} +200 -27
- package/dist/{channelsMode-B41tbE29.d.ts → channelsMode-DYwJ6sfR.d.ts} +200 -27
- package/dist/channelsMode-YJO6FOPD.js +1 -0
- package/dist/{chunk-5VGXB6GJ.js → chunk-DR5JXWLO.js} +208 -228
- package/dist/chunk-JELR6YYZ.js +1 -0
- package/dist/hostedCheckout-GQQF4XDN.js +58 -0
- package/dist/index.cjs +40 -28
- package/dist/index.d.cts +82 -26
- package/dist/index.d.ts +82 -26
- package/dist/index.js +40 -28
- package/dist/manager.cjs +516 -340
- package/dist/manager.d.cts +2 -2
- package/dist/manager.d.ts +2 -2
- package/dist/manager.js +316 -120
- package/package.json +2 -2
- package/dist/channelsMode-KZU235GN.js +0 -1
- package/dist/hostedCheckout-K6C42MCF.js +0 -58
|
@@ -644,6 +644,16 @@ interface EventCategoryAssignmentResult {
|
|
|
644
644
|
categoryKey: string;
|
|
645
645
|
revision: number;
|
|
646
646
|
}
|
|
647
|
+
/** GET /category-assignments: what differs from the chart (list capped, count exact). */
|
|
648
|
+
interface EventCategoryDifferences {
|
|
649
|
+
chartAvailable: boolean;
|
|
650
|
+
differing: number;
|
|
651
|
+
units: Array<{
|
|
652
|
+
label: string;
|
|
653
|
+
categoryKey: string;
|
|
654
|
+
chartCategoryKey: string;
|
|
655
|
+
}>;
|
|
656
|
+
}
|
|
647
657
|
type EventTableBookingMode = 'individual' | 'whole' | 'variable';
|
|
648
658
|
interface EventTableBookingResult {
|
|
649
659
|
ok: true;
|
|
@@ -901,6 +911,15 @@ declare class ManageApi {
|
|
|
901
911
|
* snapshots retain their original configured value; future selection uses
|
|
902
912
|
* the new category. Requires `event:categories:manage`. */
|
|
903
913
|
setCategory(key: string, labels: string[], categoryKey: string): Promise<EventCategoryAssignmentResult>;
|
|
914
|
+
/**
|
|
915
|
+
* The inventory units this event sells under a different category than the
|
|
916
|
+
* chart currently does — what "Reset to chart defaults" would put back.
|
|
917
|
+
* Requires `event:view`.
|
|
918
|
+
*/
|
|
919
|
+
categoryDifferences(key: string): Promise<EventCategoryDifferences>;
|
|
920
|
+
/** Put every unit (or only `labels`) back on the chart's category, in one
|
|
921
|
+
* write. Requires `event:categories:manage`. */
|
|
922
|
+
resetCategoriesToChart(key: string, labels?: string[]): Promise<EventCategoryAssignmentResult>;
|
|
904
923
|
/** Change event-only table booking identity. The server refuses tables with
|
|
905
924
|
* held/booked/blocked inventory or channel assignments that would be lost. */
|
|
906
925
|
setTableBooking(key: string, tableIds: string[], mode: EventTableBookingMode, bounds?: {
|
|
@@ -1118,6 +1137,32 @@ declare class ManageApi {
|
|
|
1118
1137
|
reportCsv(key: string): Promise<Blob>;
|
|
1119
1138
|
}
|
|
1120
1139
|
|
|
1140
|
+
/**
|
|
1141
|
+
* The control room's View menu (plan item 5, slice D).
|
|
1142
|
+
*
|
|
1143
|
+
* Five toggles that change how the map READS, never what it holds: seat
|
|
1144
|
+
* labels, row labels, category colours, channel colours, booking momentum.
|
|
1145
|
+
* The letters are the ones seats.io operators already know (S · R · G · H ·
|
|
1146
|
+
* M), ridden on Shift because the tool tabs own the bare letters (S is
|
|
1147
|
+
* Sections, G is Categories, M is Monitor).
|
|
1148
|
+
*
|
|
1149
|
+
* The set is remembered per browser: an operator who works with labels off
|
|
1150
|
+
* keeps them off tomorrow. Storage is a convenience, never a dependency —
|
|
1151
|
+
* a private window or a blocked store simply starts from the defaults.
|
|
1152
|
+
*
|
|
1153
|
+
* Pure where it can be: the model, the markup and the storage rules are
|
|
1154
|
+
* here and tested without a cockpit; SeatManager owns the state and the
|
|
1155
|
+
* renderer calls.
|
|
1156
|
+
*/
|
|
1157
|
+
|
|
1158
|
+
interface MapView {
|
|
1159
|
+
seatLabels: boolean;
|
|
1160
|
+
rowLabels: boolean;
|
|
1161
|
+
categoryColours: boolean;
|
|
1162
|
+
channelColours: boolean;
|
|
1163
|
+
momentum: boolean;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1121
1166
|
/**
|
|
1122
1167
|
* managerTypes — the SeatManager cockpit's public contract (options, the
|
|
1123
1168
|
* capability set, the tallies/activity/connection payloads a host subscribes to)
|
|
@@ -1180,7 +1225,7 @@ interface SeatManagerActivity {
|
|
|
1180
1225
|
}
|
|
1181
1226
|
/** Fired after a successful organizer action, for host toasts/telemetry. */
|
|
1182
1227
|
interface SeatManagerActionResult {
|
|
1183
|
-
action: 'block' | 'unblock' | 'unblockAll' | 'cancelBooking' | 'setHoldTtl' | 'setCategory' | 'setTableBooking';
|
|
1228
|
+
action: 'block' | 'unblock' | 'unblockAll' | 'cancelBooking' | 'setHoldTtl' | 'setCategory' | 'resetCategories' | 'setTableBooking';
|
|
1184
1229
|
labels: string[];
|
|
1185
1230
|
count: number;
|
|
1186
1231
|
}
|
|
@@ -1330,8 +1375,15 @@ interface SeatManagerOptions {
|
|
|
1330
1375
|
}
|
|
1331
1376
|
/** Realtime link state, as reported to the embedding host. */
|
|
1332
1377
|
interface SeatManagerConnection {
|
|
1333
|
-
/**
|
|
1334
|
-
|
|
1378
|
+
/**
|
|
1379
|
+
* `live` while the socket is open; `reconnecting` from drop until reopen;
|
|
1380
|
+
* `ended` once the manage session cannot be renewed — the host's
|
|
1381
|
+
* `onTokenRefresh` kept failing (three times running, or with a refusal),
|
|
1382
|
+
* or a 401 arrived with no refresher wired. Nothing polls in `ended`: the
|
|
1383
|
+
* cockpit shows its own "session ended" card with a Try again, and a host
|
|
1384
|
+
* that mints tokens can call `retrySession()` after signing the user in.
|
|
1385
|
+
*/
|
|
1386
|
+
status: 'live' | 'reconnecting' | 'ended';
|
|
1335
1387
|
/**
|
|
1336
1388
|
* `Date.now()` of the last snapshot or delta accepted from the server, or
|
|
1337
1389
|
* null before the first one. This is the honest "as of" for whatever the host
|
|
@@ -1380,6 +1432,8 @@ declare class SeatManager {
|
|
|
1380
1432
|
private activityPanel;
|
|
1381
1433
|
private navigation;
|
|
1382
1434
|
private movingMap;
|
|
1435
|
+
/** How a drag on the map chooses seats in the bulk tools: a box, or a freehand lasso (item 5, slice C). */
|
|
1436
|
+
private marqueeShape;
|
|
1383
1437
|
private socketSnapshotSeen;
|
|
1384
1438
|
private monitorRefreshTimer;
|
|
1385
1439
|
/** `'auto'` is kept as asked, not as resolved — see {@link getThemeMode}. */
|
|
@@ -1434,6 +1488,12 @@ declare class SeatManager {
|
|
|
1434
1488
|
private paintHandle;
|
|
1435
1489
|
private trendWindowMinutes;
|
|
1436
1490
|
private heatEnabled;
|
|
1491
|
+
/** The View menu (plan item 5, slice D): labels, colours, momentum — remembered per browser. */
|
|
1492
|
+
private mapView;
|
|
1493
|
+
/** The bar's Find box — its chooser reads every seat, not just the tool's selectable ones. */
|
|
1494
|
+
private barFind;
|
|
1495
|
+
/** The venue overview in the map's corner (plan item 7); null under the compact breakpoint. */
|
|
1496
|
+
private minimap;
|
|
1437
1497
|
private followLive;
|
|
1438
1498
|
private lastKpiValues;
|
|
1439
1499
|
private activeKpiDeltas;
|
|
@@ -1459,6 +1519,10 @@ declare class SeatManager {
|
|
|
1459
1519
|
private tokenExpiresAt;
|
|
1460
1520
|
private tokenRefreshTimer;
|
|
1461
1521
|
private tokenRefreshInFlight;
|
|
1522
|
+
/** Consecutive failed `onTokenRefresh` calls; three in a row end the session. */
|
|
1523
|
+
private tokenRefreshFailures;
|
|
1524
|
+
/** The manage session cannot be renewed: every poll and socket is down until `retrySession()`. */
|
|
1525
|
+
private sessionEnded;
|
|
1462
1526
|
private sectionByObject;
|
|
1463
1527
|
private sectionLabelById;
|
|
1464
1528
|
private sectionsBase;
|
|
@@ -1489,6 +1553,16 @@ declare class SeatManager {
|
|
|
1489
1553
|
* they do not for as long as a network fetch takes.
|
|
1490
1554
|
*/
|
|
1491
1555
|
private channels;
|
|
1556
|
+
/**
|
|
1557
|
+
* The shared seat chooser for the tools that choose seats without a mode
|
|
1558
|
+
* object of their own (Block, Categories, Select) — plan item 5. Built per
|
|
1559
|
+
* rail paint, because what is selectable depends on the tool; its dialogs
|
|
1560
|
+
* mount through the manager's one modal primitive.
|
|
1561
|
+
*/
|
|
1562
|
+
private chooser;
|
|
1563
|
+
private chooserDialog;
|
|
1564
|
+
/** GET /category-assignments for the Categories tool's Reset count; null until read. */
|
|
1565
|
+
private categoryDifferences;
|
|
1492
1566
|
private channelCaps;
|
|
1493
1567
|
private categoryCanManage;
|
|
1494
1568
|
private tableCanManage;
|
|
@@ -1535,6 +1609,32 @@ declare class SeatManager {
|
|
|
1535
1609
|
* has no channels", which is a lie about inventory.
|
|
1536
1610
|
*/
|
|
1537
1611
|
private ensureChannels;
|
|
1612
|
+
/**
|
|
1613
|
+
* The adapter between the cockpit's internals and the shared seat chooser.
|
|
1614
|
+
* Every list the chooser offers is filtered to what THIS tool may select, so
|
|
1615
|
+
* a picker never adds a seat the tool would then refuse.
|
|
1616
|
+
*/
|
|
1617
|
+
private buildChooserHost;
|
|
1618
|
+
/**
|
|
1619
|
+
* The bar's Find (plan item 5, slice D): one box for every tool. Its host
|
|
1620
|
+
* reads EVERY seat — an organizer looking for D-12 does not care whether
|
|
1621
|
+
* the current tool could select it — and Enter selects on the choosing
|
|
1622
|
+
* tools, frames on Inspect and Monitor. Highlight rides the renderer.
|
|
1623
|
+
*/
|
|
1624
|
+
private wireBarFind;
|
|
1625
|
+
private isChoosingTool;
|
|
1626
|
+
/** Move the camera to these seats — Enter in the bar's Find on Inspect/Monitor. */
|
|
1627
|
+
private frameLabels;
|
|
1628
|
+
/** Find's highlight on the map: labels → ids; null clears. */
|
|
1629
|
+
private highlightLabels;
|
|
1630
|
+
/** A fresh chooser for the rail being painted (selectability is per tool). */
|
|
1631
|
+
private toolChooser;
|
|
1632
|
+
/**
|
|
1633
|
+
* The one line under every chooser: the count, what the tool says about the
|
|
1634
|
+
* selection, Select all and Clear. `data-ref` names are the tool's own so
|
|
1635
|
+
* its painters keep addressing them.
|
|
1636
|
+
*/
|
|
1637
|
+
private toolSelectionBar;
|
|
1538
1638
|
/** The adapter between the cockpit's internals and Channels mode. */
|
|
1539
1639
|
private buildChannelsHost;
|
|
1540
1640
|
/** Actual on-screen seat diameter, for the channel overlay's marks. The
|
|
@@ -1544,6 +1644,19 @@ declare class SeatManager {
|
|
|
1544
1644
|
private seatPixelSize;
|
|
1545
1645
|
/** Toggle the normalized sales-velocity outline overlay without changing seat colors. */
|
|
1546
1646
|
setHeatOverlay(enabled: boolean): void;
|
|
1647
|
+
/**
|
|
1648
|
+
* The View menu (plan item 5, slice D): seat labels, row labels, category
|
|
1649
|
+
* colours, channel colours, booking momentum. Each is a toggle the map
|
|
1650
|
+
* applies at once; the whole set is remembered per browser so an operator
|
|
1651
|
+
* who works with labels off keeps them off tomorrow.
|
|
1652
|
+
*/
|
|
1653
|
+
setMapView(patch: Partial<MapView>): void;
|
|
1654
|
+
getMapView(): MapView;
|
|
1655
|
+
private toggleMapView;
|
|
1656
|
+
/** Channel colours are the Channels tool's overlay; outside it there is nothing to colour by. */
|
|
1657
|
+
private channelColoursAvailable;
|
|
1658
|
+
private applyMapView;
|
|
1659
|
+
private paintMapViewMenu;
|
|
1547
1660
|
/** Toggle opt-in camera following for new buyer hold/book events. */
|
|
1548
1661
|
setFollowLive(enabled: boolean): void;
|
|
1549
1662
|
/** Update background-tab repaint policy without rebuilding the board. */
|
|
@@ -1609,6 +1722,18 @@ declare class SeatManager {
|
|
|
1609
1722
|
setToken(token: EventScopedManageToken, expiresAt?: number): void;
|
|
1610
1723
|
private scheduleTokenRefresh;
|
|
1611
1724
|
private rotateToken;
|
|
1725
|
+
/**
|
|
1726
|
+
* The manage session cannot be renewed. Every timer, poll and socket
|
|
1727
|
+
* stops; the map stays painted as it was, under a card that says so and
|
|
1728
|
+
* offers one Try again. The host hears `status: 'ended'` once.
|
|
1729
|
+
*/
|
|
1730
|
+
private endSession;
|
|
1731
|
+
/**
|
|
1732
|
+
* Ask the host for a token once more — after it signed the user back in —
|
|
1733
|
+
* and, if it answers, pick the live stream up where it stopped.
|
|
1734
|
+
*/
|
|
1735
|
+
retrySession(): Promise<boolean>;
|
|
1736
|
+
private paintSessionEnded;
|
|
1612
1737
|
/** Bulk block the given labels (or the current selection when omitted). */
|
|
1613
1738
|
block(labels?: string[], opts?: {
|
|
1614
1739
|
releaseAt?: number;
|
|
@@ -1676,11 +1801,49 @@ declare class SeatManager {
|
|
|
1676
1801
|
}>;
|
|
1677
1802
|
setHoldTtl(ms: number | null): Promise<void>;
|
|
1678
1803
|
zoomToFit(): void;
|
|
1804
|
+
/**
|
|
1805
|
+
* "−" walks back one level — seats → the section → the venue — the way the
|
|
1806
|
+
* buyer picker's does; leaving a focused section also drops the focus. A
|
|
1807
|
+
* renderer without the level walk falls back to the factor step.
|
|
1808
|
+
*/
|
|
1809
|
+
private zoomOutStep;
|
|
1810
|
+
/**
|
|
1811
|
+
* What the map chrome reads: the camera, the focus, the floor, and the
|
|
1812
|
+
* live counts the minimap snapshot carries (plan item 7). Painted on every
|
|
1813
|
+
* view change, so the crumb and the pills never lag the camera.
|
|
1814
|
+
*/
|
|
1815
|
+
private paintMapChrome;
|
|
1816
|
+
/** The renderer as a {@link MapCamera}, for the minimap and any other map chrome. */
|
|
1817
|
+
private mapCamera;
|
|
1818
|
+
/**
|
|
1819
|
+
* The venue overview in the map's corner. Not under the compact breakpoint
|
|
1820
|
+
* — the pills stay, the thumbnail goes — and rebuilt with the renderer so a
|
|
1821
|
+
* chart change never leaves a stale outline behind.
|
|
1822
|
+
*/
|
|
1823
|
+
private syncMinimap;
|
|
1824
|
+
private cssVar;
|
|
1679
1825
|
destroy(): void;
|
|
1680
1826
|
private buildRenderer;
|
|
1827
|
+
/**
|
|
1828
|
+
* The organizer's facts on the map's hover card (plan item 5, slice D):
|
|
1829
|
+
* STATUS · CHANNEL · FOR SALE, in one glance. CHANNEL appears once the
|
|
1830
|
+
* Channels list has loaded — a guess would be worse than a missing cell.
|
|
1831
|
+
* FOR SALE is the buyer's truth: free, its section open and shown, and its
|
|
1832
|
+
* category sellable.
|
|
1833
|
+
*/
|
|
1834
|
+
private hoverFactsFor;
|
|
1681
1835
|
/** Block always uses a marquee. Channels only enables its marquee after the
|
|
1682
1836
|
* organizer deliberately chooses Assign seats; Pan map keeps desktop drag
|
|
1683
1837
|
* available for large charts. */
|
|
1838
|
+
/** A tap on a row label takes the row in every tool that chooses seats. */
|
|
1839
|
+
private rowLabelSelectable;
|
|
1840
|
+
/**
|
|
1841
|
+
* The two map intents a choosing tool offers beside the chooser's pickers:
|
|
1842
|
+
* drag a box, or draw a lasso. One is always on; the choice survives a
|
|
1843
|
+
* repaint and a tool switch (an operator who prefers the lasso keeps it).
|
|
1844
|
+
*/
|
|
1845
|
+
private marqueeShapeChipsHtml;
|
|
1846
|
+
private wireMarqueeShapeChips;
|
|
1684
1847
|
private isBulkSelectMode;
|
|
1685
1848
|
/**
|
|
1686
1849
|
* Block never touches held or booked inventory, so it cannot select it.
|
|
@@ -1845,6 +2008,7 @@ declare class SeatManager {
|
|
|
1845
2008
|
*/
|
|
1846
2009
|
private railHeader;
|
|
1847
2010
|
private paintFollowLiveButton;
|
|
2011
|
+
/** Booking momentum lives in the View menu now; this keeps the item and the status line current. */
|
|
1848
2012
|
private paintHeatButton;
|
|
1849
2013
|
private paintMomentumHelp;
|
|
1850
2014
|
private paintFullscreenButton;
|
|
@@ -1866,6 +2030,15 @@ declare class SeatManager {
|
|
|
1866
2030
|
/** Seats in a chart category that the operator may act on in this mode. */
|
|
1867
2031
|
private categorySeats;
|
|
1868
2032
|
private renderCategoriesRail;
|
|
2033
|
+
/**
|
|
2034
|
+
* "Reset to chart defaults" says how many seats it would move BEFORE it is
|
|
2035
|
+
* pressed, and is disabled when the answer is none — a button that says
|
|
2036
|
+
* "reset" over a chart-identical event would be a lie.
|
|
2037
|
+
*/
|
|
2038
|
+
private loadCategoryDifferences;
|
|
2039
|
+
private paintCategoryReset;
|
|
2040
|
+
/** One click, no confirm (owner, 2026-09-20): the button already says what it will move. */
|
|
2041
|
+
resetCategoriesToChart(): Promise<void>;
|
|
1869
2042
|
private paintCategorySelection;
|
|
1870
2043
|
private renderTablesRail;
|
|
1871
2044
|
private renderInspectRail;
|
|
@@ -1898,13 +2071,11 @@ declare class SeatManager {
|
|
|
1898
2071
|
private paintLegend;
|
|
1899
2072
|
private paintFeed;
|
|
1900
2073
|
private renderBlockRail;
|
|
1901
|
-
private toggleCategory;
|
|
1902
2074
|
/** A category/filter is a real toggle: add the missing seats, or remove the
|
|
1903
2075
|
* whole group when every eligible seat in it is already selected. */
|
|
1904
2076
|
private toggleLabels;
|
|
1905
2077
|
private isBlockSelectable;
|
|
1906
2078
|
private paintSelBar;
|
|
1907
|
-
private paintCategoryControls;
|
|
1908
2079
|
private filteredBlockedSeats;
|
|
1909
2080
|
private paintBlockedInventory;
|
|
1910
2081
|
private confirmUnblockAll;
|
|
@@ -2132,7 +2303,14 @@ declare class ChannelsMode {
|
|
|
2132
2303
|
private conflict;
|
|
2133
2304
|
private dialog;
|
|
2134
2305
|
private detent;
|
|
2135
|
-
|
|
2306
|
+
/**
|
|
2307
|
+
* The shared seat chooser (plan item 5): the sections/rows dialog, the
|
|
2308
|
+
* category picker, the seat list and Find. Channels was the first caller —
|
|
2309
|
+
* those dialogs were written here and moved out unchanged — and paints its
|
|
2310
|
+
* dialogs through this mode's own scrim so every Channels sheet shares one
|
|
2311
|
+
* focus trap.
|
|
2312
|
+
*/
|
|
2313
|
+
private readonly chooser;
|
|
2136
2314
|
/**
|
|
2137
2315
|
* Hosted-link STATUS for the channel whose detail panel is open. This is the
|
|
2138
2316
|
* listing projection — it carries no url and no capability, because no route
|
|
@@ -2167,6 +2345,7 @@ declare class ChannelsMode {
|
|
|
2167
2345
|
private pollTimer;
|
|
2168
2346
|
private layer;
|
|
2169
2347
|
private canvas;
|
|
2348
|
+
private overlayVisible;
|
|
2170
2349
|
/** undefined = not resolved yet, null = this environment has no 2d canvas. */
|
|
2171
2350
|
private ctx;
|
|
2172
2351
|
private bannerEl;
|
|
@@ -2177,10 +2356,6 @@ declare class ChannelsMode {
|
|
|
2177
2356
|
private stagedDoneTimer;
|
|
2178
2357
|
private lastSelectionCount;
|
|
2179
2358
|
private lastCounts;
|
|
2180
|
-
/** Rows are structural chart data — they do not move while the organizer is
|
|
2181
|
-
* allocating. Deriving them walks every seat, so the view is cached for the
|
|
2182
|
-
* lifetime of this mode entry and ordinary selection repaints stay O(1). */
|
|
2183
|
-
private assignmentRowsCache;
|
|
2184
2359
|
/** The markup currently in the rail. An identical repaint is skipped, which is
|
|
2185
2360
|
* what keeps the organizer's scroll position (and open <select>) alive. */
|
|
2186
2361
|
private railHtml;
|
|
@@ -2232,6 +2407,12 @@ declare class ChannelsMode {
|
|
|
2232
2407
|
private loadAllocation;
|
|
2233
2408
|
private channelById;
|
|
2234
2409
|
private nameOf;
|
|
2410
|
+
/**
|
|
2411
|
+
* The channel a seat is allocated to, by name, for the map's hover card —
|
|
2412
|
+
* null until the list has loaded (the card then shows no CHANNEL cell rather
|
|
2413
|
+
* than a wrong "Public sale"). Unallocated = the public sale channel.
|
|
2414
|
+
*/
|
|
2415
|
+
channelNameForLabel(label: string): string | null;
|
|
2235
2416
|
private markerFor;
|
|
2236
2417
|
/** Channels an organizer may assign INTO: public sale plus every live channel. */
|
|
2237
2418
|
private assignableChannels;
|
|
@@ -2245,6 +2426,13 @@ declare class ChannelsMode {
|
|
|
2245
2426
|
* the guards, the memoised 2D context, and the command the section hit targets
|
|
2246
2427
|
* fire back into the rail.
|
|
2247
2428
|
*/
|
|
2429
|
+
/**
|
|
2430
|
+
* The View menu's "Channel colours" (plan item 5, slice D): the letter
|
|
2431
|
+
* flags and section tints are this tool's overlay, and the menu can put
|
|
2432
|
+
* them away while the tool stays open. Hidden = the canvas is cleared and
|
|
2433
|
+
* the flags are gone; the staged bar, banner and live line stay.
|
|
2434
|
+
*/
|
|
2435
|
+
setOverlayVisible(visible: boolean): void;
|
|
2248
2436
|
private paintOverlay;
|
|
2249
2437
|
private setStaged;
|
|
2250
2438
|
private paintStagedBar;
|
|
@@ -2348,24 +2536,8 @@ declare class ChannelsMode {
|
|
|
2348
2536
|
/** Open a channel's detail panel and start its buyer-link read. */
|
|
2349
2537
|
private openChannel;
|
|
2350
2538
|
private railAction;
|
|
2351
|
-
/** Derived once per mode entry — see `assignmentRowsCache`. */
|
|
2352
|
-
private assignmentRows;
|
|
2353
2539
|
private pickCategory;
|
|
2354
|
-
/**
|
|
2355
|
-
private promptChoice;
|
|
2356
|
-
/**
|
|
2357
|
-
* Add several whole sections, or several whole rows, in one operation.
|
|
2358
|
-
*
|
|
2359
|
-
* ADDITIVE by contract: the chooser starts from the labels already selected
|
|
2360
|
-
* and only ever grows that set, so opening it never destroys a hard-won
|
|
2361
|
-
* marquee or seat-list selection. The confirm button always states the net
|
|
2362
|
-
* number of seats it will add, and refuses to exceed `MAX_ASSIGNMENT_UNITS`.
|
|
2363
|
-
*
|
|
2364
|
-
* Rows get the richer variant. A large venue has thousands of them, so they
|
|
2365
|
-
* arrive collapsed under their section, with a section-level tri-state
|
|
2366
|
-
* checkbox, a search across every row, and a render cap — the flat list used
|
|
2367
|
-
* for sections would be an unusable wall of buttons.
|
|
2368
|
-
*/
|
|
2540
|
+
/** The additive sections/rows chooser — shared (seatChooser.ts); the dialog state keeps it re-renderable. */
|
|
2369
2541
|
private renderScopeDialog;
|
|
2370
2542
|
private openDialog;
|
|
2371
2543
|
private renderDialog;
|
|
@@ -2461,6 +2633,7 @@ declare class ChannelsMode {
|
|
|
2461
2633
|
* equivalent of canvas click / marquee / brush, grouped by section with
|
|
2462
2634
|
* per-section select actions.
|
|
2463
2635
|
*/
|
|
2636
|
+
/** The keyboard seat list — shared (seatChooser.ts), with the channel beside each seat. */
|
|
2464
2637
|
private renderSeatListDialog;
|
|
2465
2638
|
private reloadLinks;
|
|
2466
2639
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as a,U as b,V as c}from"./chunk-DR5JXWLO.js";import"./chunk-RZ2VKZ44.js";import"./chunk-OSZ7DOEH.js";export{b as CHANNELS_CSS,c as ChannelsMode,a as bucketRowsHtml};
|