@meridianlabs/log-viewer 0.3.249 → 0.3.251
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/lib/{AsciinemaPlayerImpl-qGoigKMF.js → AsciinemaPlayerImpl-Dy5o19PX.js} +18 -4
- package/lib/{AsciinemaPlayerImpl-qGoigKMF.js.map → AsciinemaPlayerImpl-Dy5o19PX.js.map} +1 -1
- package/lib/e2e/fixtures/handlers.d.ts.map +1 -1
- package/lib/e2e/log-list-find.spec.d.ts +2 -0
- package/lib/e2e/log-list-find.spec.d.ts.map +1 -0
- package/lib/e2e/message-deeplink.spec.d.ts +2 -0
- package/lib/e2e/message-deeplink.spec.d.ts.map +1 -0
- package/lib/e2e/turn-navigation.spec.d.ts +2 -0
- package/lib/e2e/turn-navigation.spec.d.ts.map +1 -0
- package/lib/index.js +39481 -34229
- package/lib/index.js.map +1 -1
- package/lib/src/app/log-list/LogsPanel.d.ts.map +1 -1
- package/lib/src/app/log-list/ViewerOptionsPopover.d.ts.map +1 -1
- package/lib/src/app/log-list/fileLogItem.d.ts +37 -0
- package/lib/src/app/log-list/fileLogItem.d.ts.map +1 -0
- package/lib/src/app/log-list/grid/LogListGrid.d.ts +11 -0
- package/lib/src/app/log-list/grid/LogListGrid.d.ts.map +1 -1
- package/lib/src/app/log-list/grid/columns/hooks.d.ts +6 -0
- package/lib/src/app/log-list/grid/columns/hooks.d.ts.map +1 -1
- package/lib/src/app/log-list/grid/logListRow.d.ts +5 -0
- package/lib/src/app/log-list/grid/logListRow.d.ts.map +1 -0
- package/lib/src/app/log-list/grid/useLogListData.d.ts +29 -11
- package/lib/src/app/log-list/grid/useLogListData.d.ts.map +1 -1
- package/lib/src/app/log-list/listing/applyListingQuery.d.ts +8 -0
- package/lib/src/app/log-list/listing/applyListingQuery.d.ts.map +1 -1
- package/lib/src/app/log-list/listing/planner.d.ts +10 -0
- package/lib/src/app/log-list/listing/planner.d.ts.map +1 -0
- package/lib/src/app/log-list/listing/types.d.ts +1 -9
- package/lib/src/app/log-list/listing/types.d.ts.map +1 -1
- package/lib/src/app/log-list/listing/useLogsListingQuery.d.ts +92 -7
- package/lib/src/app/log-list/listing/useLogsListingQuery.d.ts.map +1 -1
- package/lib/src/app/log-list/useLogsOverview.d.ts +18 -0
- package/lib/src/app/log-list/useLogsOverview.d.ts.map +1 -0
- package/lib/src/app/log-view/tabs/ModelsTab.d.ts.map +1 -1
- package/lib/src/app/navbar/ApplicationNavbar.d.ts +2 -0
- package/lib/src/app/navbar/ApplicationNavbar.d.ts.map +1 -1
- package/lib/src/app/navbar/Navbar.d.ts +4 -0
- package/lib/src/app/navbar/Navbar.d.ts.map +1 -1
- package/lib/src/app/routing/AppRouter.d.ts.map +1 -1
- package/lib/src/app/routing/RouteDispatcher.d.ts +1 -0
- package/lib/src/app/routing/RouteDispatcher.d.ts.map +1 -1
- package/lib/src/app/routing/SamplesRouter.d.ts.map +1 -1
- package/lib/src/app/routing/TasksRouter.d.ts.map +1 -1
- package/lib/src/app/routing/sampleNavigation.d.ts +1 -0
- package/lib/src/app/routing/sampleNavigation.d.ts.map +1 -1
- package/lib/src/app/routing/url.d.ts +12 -0
- package/lib/src/app/routing/url.d.ts.map +1 -1
- package/lib/src/app/samples/InlineSampleDisplay.d.ts.map +1 -1
- package/lib/src/app/samples/SampleDetailComponent.d.ts +4 -26
- package/lib/src/app/samples/SampleDetailComponent.d.ts.map +1 -1
- package/lib/src/app/samples/SampleDisplay.d.ts.map +1 -1
- package/lib/src/app/samples/SampleNavbar.d.ts +34 -0
- package/lib/src/app/samples/SampleNavbar.d.ts.map +1 -0
- package/lib/src/app/samples/SampleRetriedErrors.d.ts +3 -1
- package/lib/src/app/samples/SampleRetriedErrors.d.ts.map +1 -1
- package/lib/src/app/samples/event/SampleEventView.d.ts +11 -0
- package/lib/src/app/samples/event/SampleEventView.d.ts.map +1 -0
- package/lib/src/app/samples/retry-display/RetryTerminalAnchor.d.ts +3 -0
- package/lib/src/app/samples/retry-display/RetryTerminalAnchor.d.ts.map +1 -1
- package/lib/src/app/samples/scans/scanReferencePreviews.d.ts.map +1 -1
- package/lib/src/app/samples/transcript/TranscriptPanel.d.ts +18 -1
- package/lib/src/app/samples/transcript/TranscriptPanel.d.ts.map +1 -1
- package/lib/src/app/samples/transcript/chunked/ChunkedRowView.d.ts +18 -0
- package/lib/src/app/samples/transcript/chunked/ChunkedRowView.d.ts.map +1 -0
- package/lib/src/app/samples/transcript/chunked/ChunkedTranscriptPanel.d.ts +25 -0
- package/lib/src/app/samples/transcript/chunked/ChunkedTranscriptPanel.d.ts.map +1 -0
- package/lib/src/app/samples/transcript/chunked/mainViewOutline.d.ts +46 -0
- package/lib/src/app/samples/transcript/chunked/mainViewOutline.d.ts.map +1 -0
- package/lib/src/app/samples/transcript/chunked/useChunkedRows.d.ts +21 -0
- package/lib/src/app/samples/transcript/chunked/useChunkedRows.d.ts.map +1 -0
- package/lib/src/app/shared/data-grid/findMatches.d.ts +8 -4
- package/lib/src/app/shared/data-grid/findMatches.d.ts.map +1 -1
- package/lib/src/client/api/client-api.d.ts.map +1 -1
- package/lib/src/client/api/types.d.ts +7 -0
- package/lib/src/client/api/types.d.ts.map +1 -1
- package/lib/src/client/api/view-server/api-view-server.d.ts.map +1 -1
- package/lib/src/client/database/listing.d.ts +23 -0
- package/lib/src/client/database/listing.d.ts.map +1 -0
- package/lib/src/client/remote/remoteLogFile.d.ts +13 -0
- package/lib/src/client/remote/remoteLogFile.d.ts.map +1 -1
- package/lib/src/client/remote/remotePendingSampleData.d.ts.map +1 -1
- package/lib/src/components/DownloadButton.d.ts.map +1 -1
- package/lib/src/components/LinkButton.d.ts.map +1 -1
- package/lib/src/components/MessageBand.d.ts.map +1 -1
- package/lib/src/constants.d.ts +1 -0
- package/lib/src/constants.d.ts.map +1 -1
- package/lib/src/log_data/chunked/chunkStore.d.ts +85 -0
- package/lib/src/log_data/chunked/chunkStore.d.ts.map +1 -0
- package/lib/src/log_data/chunked/chunkedSample.d.ts +30 -0
- package/lib/src/log_data/chunked/chunkedSample.d.ts.map +1 -0
- package/lib/src/log_data/chunked/cursor.d.ts +35 -0
- package/lib/src/log_data/chunked/cursor.d.ts.map +1 -0
- package/lib/src/log_data/chunked/decode.d.ts +55 -0
- package/lib/src/log_data/chunked/decode.d.ts.map +1 -0
- package/lib/src/log_data/chunked/format.d.ts +39 -0
- package/lib/src/log_data/chunked/format.d.ts.map +1 -0
- package/lib/src/log_data/chunked/index.d.ts +17 -0
- package/lib/src/log_data/chunked/index.d.ts.map +1 -0
- package/lib/src/log_data/chunked/log.d.ts +14 -0
- package/lib/src/log_data/chunked/log.d.ts.map +1 -0
- package/lib/src/log_data/chunked/outlineRows.d.ts +33 -0
- package/lib/src/log_data/chunked/outlineRows.d.ts.map +1 -0
- package/lib/src/log_data/chunked/pyTimestamp.d.ts +23 -0
- package/lib/src/log_data/chunked/pyTimestamp.d.ts.map +1 -0
- package/lib/src/log_data/chunked/rowSpace.d.ts +53 -0
- package/lib/src/log_data/chunked/rowSpace.d.ts.map +1 -0
- package/lib/src/log_data/chunked/skeleton.d.ts +49 -0
- package/lib/src/log_data/chunked/skeleton.d.ts.map +1 -0
- package/lib/src/log_data/chunked/skeletonIndex.d.ts +23 -0
- package/lib/src/log_data/chunked/skeletonIndex.d.ts.map +1 -0
- package/lib/src/log_data/chunked/syntheticEvents.d.ts +9 -0
- package/lib/src/log_data/chunked/syntheticEvents.d.ts.map +1 -0
- package/lib/src/log_data/chunked/types.d.ts +104 -0
- package/lib/src/log_data/chunked/types.d.ts.map +1 -0
- package/lib/src/log_data/chunkedAttachments.d.ts +20 -0
- package/lib/src/log_data/chunkedAttachments.d.ts.map +1 -0
- package/lib/src/log_data/chunkedHydrate.d.ts +25 -0
- package/lib/src/log_data/chunkedHydrate.d.ts.map +1 -0
- package/lib/src/log_data/chunkedMessages.d.ts +28 -0
- package/lib/src/log_data/chunkedMessages.d.ts.map +1 -0
- package/lib/src/log_data/chunkedSampleQuery.d.ts +40 -0
- package/lib/src/log_data/chunkedSampleQuery.d.ts.map +1 -0
- package/lib/src/log_data/databaseListings.d.ts +14 -0
- package/lib/src/log_data/databaseListings.d.ts.map +1 -0
- package/lib/src/log_data/index.d.ts +6 -0
- package/lib/src/log_data/index.d.ts.map +1 -1
- package/lib/src/log_data/logsContent.d.ts +12 -4
- package/lib/src/log_data/logsContent.d.ts.map +1 -1
- package/lib/src/log_data/logsListingRead.d.ts +59 -0
- package/lib/src/log_data/logsListingRead.d.ts.map +1 -0
- package/lib/src/log_data/sampleData.d.ts +11 -1
- package/lib/src/log_data/sampleData.d.ts.map +1 -1
- package/lib/src/state/sampleSlice.d.ts +0 -1
- package/lib/src/state/sampleSlice.d.ts.map +1 -1
- package/lib/src/utils/uri.d.ts +2 -0
- package/lib/src/utils/uri.d.ts.map +1 -1
- package/lib/styles/index.css +4278 -3474
- package/package.json +13 -16
- package/lib/src/components/LargeModal.d.ts +0 -30
- package/lib/src/components/LargeModal.d.ts.map +0 -1
- package/lib/src/utils/json-worker.d.ts +0 -13
- package/lib/src/utils/json-worker.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogsPanel.d.ts","sourceRoot":"","sources":["../../../../src/app/log-list/LogsPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA6C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LogsPanel.d.ts","sourceRoot":"","sources":["../../../../src/app/log-list/LogsPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA6C,MAAM,OAAO,CAAC;AA4CtE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7C,UAAU,cAAc;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA2VxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerOptionsPopover.d.ts","sourceRoot":"","sources":["../../../../src/app/log-list/ViewerOptionsPopover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAUrC,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ViewerOptionsPopover.d.ts","sourceRoot":"","sources":["../../../../src/app/log-list/ViewerOptionsPopover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAUrC,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAkI9D,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { LogListingRow } from '../../log_data';
|
|
2
|
+
import { FileLogItem } from './LogItem';
|
|
3
|
+
import { LogsPanelMode } from './LogsPanel';
|
|
4
|
+
/** The view inputs that determine a log's file item (and whether it has one). */
|
|
5
|
+
export interface FileLogItemView {
|
|
6
|
+
mode: LogsPanelMode;
|
|
7
|
+
logDir: string;
|
|
8
|
+
/** The directory being listed (folder mode lists it; tasks mode ignores it
|
|
9
|
+
* and lists the whole `logDir`). */
|
|
10
|
+
currentDir: string;
|
|
11
|
+
showRetriedLogs: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The path-derived part of a file item — id, display name, and url — or
|
|
15
|
+
* `undefined` when the path isn't a file row of the view (folder mode: not
|
|
16
|
+
* directly in the current directory; it displays through its folder
|
|
17
|
+
* instead). Pure path logic: display toggles like retried-hiding live in
|
|
18
|
+
* {@link fileLogItem}, so overview facts that need pre-hide membership (and
|
|
19
|
+
* URL derivations that have only a name) can use this directly.
|
|
20
|
+
*/
|
|
21
|
+
export declare const fileLogIdentity: (name: string, view: FileLogItemView) => {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
url: string;
|
|
25
|
+
} | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Map a listing row to the file item it displays as under `view`, or
|
|
28
|
+
* `undefined` when the view has no file row for it: a retried run while
|
|
29
|
+
* retried logs are hidden, or (folder mode) a file that isn't directly in
|
|
30
|
+
* the current directory.
|
|
31
|
+
*
|
|
32
|
+
* This is the row-universe membership + identity function for the log list:
|
|
33
|
+
* LogsPanel builds its items through it, and the listing query applies it to
|
|
34
|
+
* database records, so the two can never disagree about which files are rows.
|
|
35
|
+
*/
|
|
36
|
+
export declare const fileLogItem: (logFile: LogListingRow, view: FileLogItemView) => FileLogItem | undefined;
|
|
37
|
+
//# sourceMappingURL=fileLogItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileLogItem.d.ts","sourceRoot":"","sources":["../../../../src/app/log-list/fileLogItem.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf;yCACqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,MAAM,eAAe,KACpB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAyB9C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,aAAa,EACtB,MAAM,eAAe,KACpB,WAAW,GAAG,SAMhB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { SortingState } from '@tanstack/react-table';
|
|
2
2
|
import { FC } from 'react';
|
|
3
|
+
import { Condition, OrderByModel } from '@tsmono/inspect-common/query';
|
|
3
4
|
import { ColumnFilter } from '@tsmono/inspect-components/columnFilter';
|
|
5
|
+
import { LogsListingDescriptor } from '../listing/useLogsListingQuery';
|
|
4
6
|
import { LogListMode } from './columns/hooks';
|
|
5
7
|
import { LogListRow } from './columns/types';
|
|
6
8
|
interface LogListGridProps {
|
|
@@ -14,12 +16,21 @@ interface LogListGridProps {
|
|
|
14
16
|
* state; changes persist via `setGridState`). */
|
|
15
17
|
sorting: SortingState;
|
|
16
18
|
columnFilters?: Record<string, ColumnFilter>;
|
|
19
|
+
/** The compiled query inputs the rows were produced under (from
|
|
20
|
+
* `useLogListData`) — the find band's match query runs under the same
|
|
21
|
+
* ones rather than re-deriving them. */
|
|
22
|
+
filter?: Condition;
|
|
23
|
+
orderBy?: OrderByModel[];
|
|
17
24
|
currentPath?: string;
|
|
18
25
|
scopeKey?: string;
|
|
19
26
|
mode?: LogListMode;
|
|
20
27
|
/** The listing is still being brought up to date (drives the empty-state
|
|
21
28
|
* loading indicator). */
|
|
22
29
|
busy: boolean;
|
|
30
|
+
/** The listing source the rows were queried from — the find band runs its
|
|
31
|
+
* match query against the same universe (so matches cover rows beyond
|
|
32
|
+
* the loaded page once the listing paginates). */
|
|
33
|
+
listing: LogsListingDescriptor<LogListRow>;
|
|
23
34
|
}
|
|
24
35
|
export declare const LogListGrid: FC<LogListGridProps>;
|
|
25
36
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogListGrid.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/grid/LogListGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,yCAAyC,CAAC;AAYjD,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,UAAU,gBAAgB;IACxB;4BACwB;IACxB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB;+DAC2D;IAC3D,aAAa,EAAE,MAAM,CAAC;IACtB;sDACkD;IAClD,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;8BAC0B;IAC1B,IAAI,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LogListGrid.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/grid/LogListGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,yCAAyC,CAAC;AAYjD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,UAAU,gBAAgB;IACxB;4BACwB;IACxB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB;+DAC2D;IAC3D,aAAa,EAAE,MAAM,CAAC;IACtB;sDACkD;IAClD,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C;;6CAEyC;IACzC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;8BAC0B;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd;;uDAEmD;IACnD,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAmT5C,CAAC"}
|
|
@@ -35,6 +35,12 @@ viewMode?: ScoresViewMode) => {
|
|
|
35
35
|
getComparator: (columnId: string) => ColumnComparator | undefined;
|
|
36
36
|
/** Per-column filter type (from column meta) for client-side filtering. */
|
|
37
37
|
getFilterType: (columnId: string) => FilterType | undefined;
|
|
38
|
+
/** Cache identity of the accessors above: the scorer schema they're built
|
|
39
|
+
* from. The schema arrives asynchronously, so a query that closes over
|
|
40
|
+
* the accessors must carry this in its key — score-column semantics
|
|
41
|
+
* (by-metric accessors, numeric comparators/filter types) change when it
|
|
42
|
+
* lands, with no other query input changing. */
|
|
43
|
+
accessorsKey: string;
|
|
38
44
|
setColumnVisibility: (visibility: Record<string, boolean>) => void;
|
|
39
45
|
};
|
|
40
46
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../../src/app/log-list/grid/columns/hooks.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAgB1E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,KAAK,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AA8BnD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,CAAC;AAExD,eAAO,MAAM,iBAAiB,GAC5B,OAAM,WAAoB;AAC1B;;;;GAIG;AACH,WAAW,MAAM;AACjB;;;;;GAKG;AACH,WAAU,cAA4B,KACrC;IACD;;8EAE0E;IAC1E,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;;4DAEwD;IACxD,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD,2EAA2E;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAClE,2EAA2E;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IAC5D,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../../src/app/log-list/grid/columns/hooks.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAgB1E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,KAAK,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AA8BnD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,CAAC;AAExD,eAAO,MAAM,iBAAiB,GAC5B,OAAM,WAAoB;AAC1B;;;;GAIG;AACH,WAAW,MAAM;AACjB;;;;;GAKG;AACH,WAAU,cAA4B,KACrC;IACD;;8EAE0E;IAC1E,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;;4DAEwD;IACxD,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD,2EAA2E;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAClE,2EAA2E;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IAC5D;;;;qDAIiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CA+xBpE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FileLogItem, FolderLogItem, PendingTaskItem } from '../LogItem';
|
|
2
|
+
import { LogListRow } from './columns/types';
|
|
3
|
+
export type LogListItem = FileLogItem | FolderLogItem | PendingTaskItem;
|
|
4
|
+
export declare const buildLogListRow: (item: LogListItem) => LogListRow;
|
|
5
|
+
//# sourceMappingURL=logListRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logListRow.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/grid/logListRow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,CAAC;AAQxE,eAAO,MAAM,eAAe,GAAI,MAAM,WAAW,KAAG,UAyDnD,CAAC"}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { SortingState } from '@tanstack/react-table';
|
|
2
|
+
import { Condition, OrderByModel } from '@tsmono/inspect-common/query';
|
|
2
3
|
import { ColumnFilter } from '@tsmono/inspect-components/columnFilter';
|
|
3
4
|
import { FilterTypeAccessor, ValueAccessor, ValueComparator } from '../listing/types';
|
|
4
|
-
import {
|
|
5
|
+
import { LogsListingDescriptor } from '../listing/useLogsListingQuery';
|
|
6
|
+
import { FolderLogItem, PendingTaskItem } from '../LogItem';
|
|
5
7
|
import { LogListRow } from './columns/types';
|
|
6
|
-
|
|
8
|
+
/** Pending rows minus the tasks that already have a file row in `fileRows`
|
|
9
|
+
* (pending row ids are task ids; file rows carry their record's task_id). */
|
|
10
|
+
export declare const dropSettledPendingRows: (pendingRows: LogListRow[], fileRows: LogListRow[]) => LogListRow[];
|
|
7
11
|
interface UseLogListDataParams {
|
|
8
|
-
|
|
12
|
+
/** Presentation rows with no database record: folders (pinned) and
|
|
13
|
+
* pending tasks (merged into the queried page as a sorted overlay).
|
|
14
|
+
* File rows come from the listing query below. */
|
|
15
|
+
overlayItems: Array<FolderLogItem | PendingTaskItem>;
|
|
9
16
|
/** Per-scope sorting/filters are read under this key (`undefined` while
|
|
10
17
|
* logDir is still hydrating — defaults apply, nothing is written). */
|
|
11
18
|
scopeKey?: string;
|
|
12
19
|
getValue: ValueAccessor<LogListRow>;
|
|
13
20
|
getComparator: (columnId: string) => ValueComparator | undefined;
|
|
14
21
|
getFilterType?: FilterTypeAccessor;
|
|
22
|
+
/** Cache identity of the accessors (see `useLogListColumns`). */
|
|
23
|
+
accessorsKey: string;
|
|
24
|
+
listing: LogsListingDescriptor<LogListRow>;
|
|
15
25
|
}
|
|
16
26
|
export interface LogListData {
|
|
17
27
|
/** Display rows: folders pinned on top, then the filtered+sorted files. */
|
|
18
28
|
rows: LogListRow[];
|
|
19
|
-
/** Pre-filter row count — distinguishes "no items yet" (loading
|
|
20
|
-
* empty-state) from "filters matched nothing". */
|
|
21
|
-
totalRowCount: number;
|
|
22
29
|
/** Folders + matching files (reflects any active filter) — the footer
|
|
23
30
|
* count. */
|
|
24
31
|
filteredCount: number;
|
|
@@ -26,13 +33,24 @@ export interface LogListData {
|
|
|
26
33
|
* passed through so grid and query can't diverge. */
|
|
27
34
|
sorting: SortingState;
|
|
28
35
|
columnFilters?: Record<string, ColumnFilter>;
|
|
36
|
+
/** The compiled query inputs derived from them — passed through for the
|
|
37
|
+
* find band's match query, so its membership can't drift from the rows
|
|
38
|
+
* via a second derivation. */
|
|
39
|
+
filter?: Condition;
|
|
40
|
+
orderBy: OrderByModel[];
|
|
41
|
+
/** The listing query has no result to show yet (first read in flight). */
|
|
42
|
+
pending: boolean;
|
|
43
|
+
/** The listing read failed — `rows` carries only the overlay items, so
|
|
44
|
+
* render this rather than an empty-looking list. */
|
|
45
|
+
error: Error | undefined;
|
|
29
46
|
}
|
|
30
47
|
/**
|
|
31
|
-
* The log-list data pipeline:
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* the grid just renders the
|
|
48
|
+
* The log-list data pipeline: run the scope's persisted sorting/filters as a
|
|
49
|
+
* listing query against the listing source (IndexedDB in dir mode), shape the
|
|
50
|
+
* resulting records into grid rows, merge in transient rows (pending tasks),
|
|
51
|
+
* and pin folders on top. Called by LogsPanel; the grid just renders the
|
|
52
|
+
* result.
|
|
35
53
|
*/
|
|
36
|
-
export declare const useLogListData: ({
|
|
54
|
+
export declare const useLogListData: ({ overlayItems, scopeKey, getValue, getComparator, getFilterType, accessorsKey, listing, }: UseLogListDataParams) => LogListData;
|
|
37
55
|
export {};
|
|
38
56
|
//# sourceMappingURL=useLogListData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogListData.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/grid/useLogListData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLogListData.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/grid/useLogListData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAU5E,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C;8EAC8E;AAC9E,eAAO,MAAM,sBAAsB,GACjC,aAAa,UAAU,EAAE,EACzB,UAAU,UAAU,EAAE,KACrB,UAAU,EASZ,CAAC;AAEF,UAAU,oBAAoB;IAC5B;;uDAEmD;IACnD,YAAY,EAAE,KAAK,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC;IACrD;2EACuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IACjE,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB;iBACa;IACb,aAAa,EAAE,MAAM,CAAC;IACtB;0DACsD;IACtD,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C;;mCAE+B;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB;yDACqD;IACrD,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,4FAQ5B,oBAAoB,KAAG,WAoHzB,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { ListingQuery, LogsListingResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Merge two individually-sorted row lists into one sorted list; ties place
|
|
4
|
+
* `base` rows first. Without a comparator the overlay is appended (the
|
|
5
|
+
* unsorted listing shows transient rows after files). This is how transient
|
|
6
|
+
* rows (e.g. pending tasks, which have no database record) join a
|
|
7
|
+
* database-produced page without forcing the whole listing back into memory.
|
|
8
|
+
*/
|
|
9
|
+
export declare function mergeSortedRows<TRow>(base: TRow[], overlay: TRow[], compare?: (a: TRow, b: TRow) => number): TRow[];
|
|
2
10
|
/**
|
|
3
11
|
* TRANSITIONAL client-side stand-in for a server `getLogsListing(dir, filter,
|
|
4
12
|
* orderBy, pagination)`. Filters → sorts → paginates the in-memory rows and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyListingQuery.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/applyListingQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"applyListingQuery.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/applyListingQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAClC,IAAI,EAAE,IAAI,EAAE,EACZ,OAAO,EAAE,IAAI,EAAE,EACf,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,MAAM,GACrC,IAAI,EAAE,CAcR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EACpC,IAAI,EAAE,IAAI,EAAE,EACZ,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,GACxB,iBAAiB,CAAC,IAAI,CAAC,CAOzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DatabaseListingPlan } from '../../../client/database/listing';
|
|
2
|
+
import { ListingQuery } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Compile the wire filter and ordering into record-level listing operations.
|
|
5
|
+
*
|
|
6
|
+
* `compare` has no position tiebreak: executors sort stably over the
|
|
7
|
+
* source's listing order, so ties (and the unsorted listing) keep it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const createListingPlan: <TRow>(query: ListingQuery<TRow>) => DatabaseListingPlan<TRow>;
|
|
10
|
+
//# sourceMappingURL=planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/planner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,IAAI,EACpC,OAAO,YAAY,CAAC,IAAI,CAAC,KACxB,mBAAmB,CAAC,IAAI,CAkB1B,CAAC"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { Condition, OrderByModel, Pagination } from '@tsmono/inspect-common/query';
|
|
2
2
|
import { FilterType } from '@tsmono/inspect-components/columnFilter';
|
|
3
|
-
|
|
4
|
-
* Opaque pagination cursor for the client-side listing query. Mirrors scout's
|
|
5
|
-
* cursor shape (`Pagination.cursor` is `{ [k]: unknown } | null`); we store a
|
|
6
|
-
* simple offset.
|
|
7
|
-
*/
|
|
8
|
-
export interface Cursor {
|
|
9
|
-
offset: number;
|
|
10
|
-
[key: string]: unknown;
|
|
11
|
-
}
|
|
3
|
+
import { Cursor } from '../../../client/database/listing';
|
|
12
4
|
/**
|
|
13
5
|
* Result of a listing query — mirrors scout's `TranscriptsResponse`
|
|
14
6
|
* (`{ items, total_count, next_cursor }`). Named `*Result` to avoid colliding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAE1E
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI;IACrC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;kFAIkF;AAClF,MAAM,MAAM,eAAe,GAAG,CAC5B,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,YAAY,EAAE,OAAO,KAClB,MAAM,CAAC;AAEZ,wEAAwE;AACxE,MAAM,MAAM,aAAa,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AAE3E,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,YAAY,CAAC,IAAI;IAChC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,oEAAoE;IACpE,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IACjE,0EAA0E;IAC1E,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SortingState } from '@tanstack/react-table';
|
|
2
2
|
import { Condition, OrderByModel, Pagination } from '@tsmono/inspect-common/query';
|
|
3
|
+
import { AsyncData } from '@tsmono/util';
|
|
4
|
+
import { LogListingRow } from '../../../log_data';
|
|
3
5
|
import { FilterTypeAccessor, LogsListingResult, ValueAccessor, ValueComparator } from './types';
|
|
4
6
|
/** TanStack `SortingState` → API `OrderBy[]`. Mirrors scout's helper. */
|
|
5
7
|
export declare const sortingStateToOrderBy: (sorting: SortingState) => OrderByModel[];
|
|
@@ -14,14 +16,97 @@ interface UseLogsListingParams<TRow> {
|
|
|
14
16
|
getFilterType?: FilterTypeAccessor;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
|
-
* The
|
|
18
|
-
* scout's `getTranscripts(filter, orderBy, pagination)` tail
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* moves filter/sort server-side this hook becomes a `useQuery` that fetches a
|
|
23
|
-
* filtered/sorted page instead.
|
|
19
|
+
* The generic in-memory listing query: filter + sort + paginate over the
|
|
20
|
+
* rows. Mirrors scout's `getTranscripts(filter, orderBy, pagination)` tail
|
|
21
|
+
* and response shape. Retained for samples listings, which don't have a
|
|
22
|
+
* database-backed path yet — the log list uses
|
|
23
|
+
* {@link useDatabaseLogsListingQuery}.
|
|
24
24
|
*/
|
|
25
25
|
export declare function useLogsListingQuery<TRow>({ rows, filter, orderBy, pagination, getValue, getComparator, getFilterType, }: UseLogsListingParams<TRow>): LogsListingResult<TRow>;
|
|
26
|
+
/** The listing source a view queries — shared by the row query, the find
|
|
27
|
+
* band's match query, and (eventually) the offset lookup, so they can
|
|
28
|
+
* never disagree about the row universe. */
|
|
29
|
+
export interface LogsListingDescriptor<TRow> {
|
|
30
|
+
/** The synced directory whose rows are the source (see `readLogsListing`
|
|
31
|
+
* for where they're read from). */
|
|
32
|
+
logDir: string;
|
|
33
|
+
/** Row-universe scan prefix (folder mode lists a subdirectory). */
|
|
34
|
+
prefix: string;
|
|
35
|
+
/** Cache identity of the row universe: everything `toRow` reads beyond
|
|
36
|
+
* the record itself (view mode, directory, display toggles).
|
|
37
|
+
* `undefined` while the scope is still hydrating — disables queries. */
|
|
38
|
+
universe: string | undefined;
|
|
39
|
+
/** Shape a source record into the view's row, or `undefined` when the
|
|
40
|
+
* view has no row for it (row-universe membership). */
|
|
41
|
+
toRow: (log: LogListingRow) => TRow | undefined;
|
|
42
|
+
}
|
|
43
|
+
interface UseDatabaseLogsListingParams<TRow> {
|
|
44
|
+
filter?: Condition;
|
|
45
|
+
orderBy?: OrderByModel[];
|
|
46
|
+
pagination?: Pagination;
|
|
47
|
+
getValue: ValueAccessor<TRow>;
|
|
48
|
+
getComparator: (columnId: string) => ValueComparator | undefined;
|
|
49
|
+
getFilterType?: FilterTypeAccessor;
|
|
50
|
+
/** Cache identity of the accessors above (see `useLogListColumns`) — the
|
|
51
|
+
* score-column schema lands asynchronously and changes what the plan
|
|
52
|
+
* computes, so it must key the query alongside filter/orderBy. */
|
|
53
|
+
accessorsKey: string;
|
|
54
|
+
listing: LogsListingDescriptor<TRow>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The log listing query: rows are read from the listing source (IndexedDB
|
|
58
|
+
* in dir mode — see `readLogsListing`) and shaped per view inside the
|
|
59
|
+
* queryFn, so the full row list never has to live in memory for the grid's
|
|
60
|
+
* sake. Results are asynchronous by design: the first read shows whatever
|
|
61
|
+
* has replicated so far, and the write path's throttled invalidation
|
|
62
|
+
* streams further rows in as they land. `loading` covers hydration and the
|
|
63
|
+
* universe's first read; within one universe a re-filter/sort reports the
|
|
64
|
+
* previous result as `data` (no loading flash) until the new read lands.
|
|
65
|
+
*/
|
|
66
|
+
export declare function useDatabaseLogsListingQuery<TRow>({ filter, orderBy, pagination, getValue, getComparator, getFilterType, accessorsKey, listing, }: UseDatabaseLogsListingParams<TRow>): AsyncData<LogsListingResult<TRow>>;
|
|
67
|
+
interface UseLogsListingMatchesParams<TRow> {
|
|
68
|
+
/** The same query inputs the row query ran under (pass them through from
|
|
69
|
+
* `useLogListData` rather than re-deriving — the match membership must
|
|
70
|
+
* never disagree with the rendered rows). */
|
|
71
|
+
filter?: Condition;
|
|
72
|
+
orderBy?: OrderByModel[];
|
|
73
|
+
getValue: ValueAccessor<TRow>;
|
|
74
|
+
getComparator: (columnId: string) => ValueComparator | undefined;
|
|
75
|
+
getFilterType?: FilterTypeAccessor;
|
|
76
|
+
accessorsKey: string;
|
|
77
|
+
listing: LogsListingDescriptor<TRow>;
|
|
78
|
+
/** The live find term. The query runs under a debounced copy: every
|
|
79
|
+
* distinct term is a fresh scan of the listing source, so keystrokes
|
|
80
|
+
* coalesce here while the input (and cheap overlay matching) stay live. */
|
|
81
|
+
term: string;
|
|
82
|
+
/** Whether the find band is open — the query never runs while closed. */
|
|
83
|
+
enabled: boolean;
|
|
84
|
+
getRowId: (row: TRow) => string;
|
|
85
|
+
/** A row's searchable text, already lowercased (see `rowSearchText`). */
|
|
86
|
+
rowText: (row: TRow) => string;
|
|
87
|
+
/** Cache identity of `rowText` — the searchable (visible) column ids. */
|
|
88
|
+
searchKey: readonly string[];
|
|
89
|
+
}
|
|
90
|
+
export interface LogsListingMatches {
|
|
91
|
+
/** Ids of the file rows matching the debounced term — membership only;
|
|
92
|
+
* display order comes from the rendered rows. */
|
|
93
|
+
ids: string[] | undefined;
|
|
94
|
+
/** `ids` is a real result for the live term under the current universe —
|
|
95
|
+
* debounce flushed, not pending, not another key's placeholder, not an
|
|
96
|
+
* error. Only then may the UI claim "no results". */
|
|
97
|
+
settled: boolean;
|
|
98
|
+
/** Cancel the pending debounce and clear the match term (band closed). */
|
|
99
|
+
reset: () => void;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The find band's data-level match query, beside the row query so the two
|
|
103
|
+
* share key shape and universe semantics: the key is the row query's key
|
|
104
|
+
* (same universe slot, so `listingKeyUniverse` and the root invalidation
|
|
105
|
+
* cover both) extended with the find-only inputs, and the placeholder keeps
|
|
106
|
+
* previous matches only within one universe — folder-mode row ids are
|
|
107
|
+
* basenames, so another directory's ids could otherwise mark unrelated
|
|
108
|
+
* same-named rows as matches while a scope change's refetch is in flight.
|
|
109
|
+
*/
|
|
110
|
+
export declare function useLogsListingMatches<TRow>({ filter, orderBy, getValue, getComparator, getFilterType, accessorsKey, listing, term, enabled, getRowId, rowText, searchKey, }: UseLogsListingMatchesParams<TRow>): LogsListingMatches;
|
|
26
111
|
export {};
|
|
27
112
|
//# sourceMappingURL=useLogsListingQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogsListingQuery.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/useLogsListingQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLogsListingQuery.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-list/listing/useLogsListingQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AsyncData } from '@tsmono/util';
|
|
2
|
+
import { LogsOverview, LogsOverviewView } from '../../log_data';
|
|
3
|
+
interface UseLogsOverviewParams {
|
|
4
|
+
logDir: string;
|
|
5
|
+
/** Cache identity of the view (see `useDatabaseLogsListingQuery`'s
|
|
6
|
+
* `universe`) — everything `view` reads beyond the records. `undefined`
|
|
7
|
+
* while the scope is hydrating (disables the query). */
|
|
8
|
+
universe: string | undefined;
|
|
9
|
+
view: LogsOverviewView;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The page-level aggregates beside the row query (see `readLogsOverview`).
|
|
13
|
+
* Keyed under the listing root so the write path's throttled invalidation
|
|
14
|
+
* refreshes it alongside the row queries.
|
|
15
|
+
*/
|
|
16
|
+
export declare const useLogsOverview: ({ logDir, universe, view, }: UseLogsOverviewParams) => AsyncData<LogsOverview>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=useLogsOverview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLogsOverview.d.ts","sourceRoot":"","sources":["../../../../src/app/log-list/useLogsOverview.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf;;6DAEyD;IACzD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,6BAI7B,qBAAqB,KAAG,SAAS,CAAC,YAAY,CAShD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelsTab.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-view/tabs/ModelsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAYnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,GAAG,SAAS,EAC9B,WAAW,SAAS,GAAG,SAAS,EAChC,aAAa,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe3B,CAAC;AAEF,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"ModelsTab.d.ts","sourceRoot":"","sources":["../../../../../src/app/log-view/tabs/ModelsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAYnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,GAAG,SAAS,EAC9B,WAAW,SAAS,GAAG,SAAS,EAChC,aAAa,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe3B,CAAC;AAEF,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA2FtC,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { FC, ReactNode } from 'react';
|
|
|
2
2
|
interface ApplicationNavbarProps {
|
|
3
3
|
currentPath: string | undefined;
|
|
4
4
|
fnNavigationUrl: (file: string, log_dir?: string) => string;
|
|
5
|
+
backUrl?: string;
|
|
6
|
+
homeUrl?: string;
|
|
5
7
|
bordered?: boolean;
|
|
6
8
|
children?: ReactNode;
|
|
7
9
|
breadcrumbsEnabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationNavbar.d.ts","sourceRoot":"","sources":["../../../../src/app/navbar/ApplicationNavbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAiBhD,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;oEACgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ApplicationNavbar.d.ts","sourceRoot":"","sources":["../../../../src/app/navbar/ApplicationNavbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAiBhD,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;oEACgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAoDxD,CAAC"}
|
|
@@ -4,6 +4,10 @@ interface NavbarProps {
|
|
|
4
4
|
bordered?: boolean;
|
|
5
5
|
fnNavigationUrl: (file: string, log_dir?: string) => string;
|
|
6
6
|
currentPath: string | undefined;
|
|
7
|
+
/** Override the back button's target (default: parent of currentPath). */
|
|
8
|
+
backUrl?: string;
|
|
9
|
+
/** Override the home button's target (default: root listing). */
|
|
10
|
+
homeUrl?: string;
|
|
7
11
|
breadcrumbsEnabled?: boolean;
|
|
8
12
|
}
|
|
9
13
|
export declare const Navbar: FC<NavbarProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/app/navbar/Navbar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,SAAS,EAAmB,MAAM,OAAO,CAAC;AAYjE,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/app/navbar/Navbar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,SAAS,EAAmB,MAAM,OAAO,CAAC;AAYjE,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAuHlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppRouter.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/AppRouter.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppRouter.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/AppRouter.tsx"],"names":[],"mappings":"AAyFA,eAAO,MAAM,SAAS,uCAwCrB,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { FC } from 'react';
|
|
|
4
4
|
*
|
|
5
5
|
* Routes to:
|
|
6
6
|
* - SamplePrintView: for print URLs (/logs/path/samples/sample/id/epoch/print)
|
|
7
|
+
* - SampleEventView: for single-event URLs (/logs/path/samples/sample/id/epoch/event?event=<id>)
|
|
7
8
|
* - LogSampleDetailView: for sample detail URLs (/logs/path/samples/sample/id/epoch)
|
|
8
9
|
* - FlowPanel: for flow files (.yaml/.yml)
|
|
9
10
|
* - LogViewContainer: for log files (.eval/.json)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/RouteDispatcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RouteDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/RouteDispatcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAY3B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,EA0C7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SamplesRouter.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/SamplesRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SamplesRouter.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/SamplesRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAW3B;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,EA6B3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TasksRouter.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/TasksRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TasksRouter.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/TasksRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAY3B;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EA+BzB,CAAC"}
|
|
@@ -33,6 +33,7 @@ export declare const useSampleNavigationActions: () => {
|
|
|
33
33
|
export declare const useSampleDetailNavigation: () => {
|
|
34
34
|
message: string | null;
|
|
35
35
|
event: string | null;
|
|
36
|
+
follow: boolean;
|
|
36
37
|
};
|
|
37
38
|
/**
|
|
38
39
|
* Hook for navigating to sample details from the samples grid.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampleNavigation.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/sampleNavigation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sampleNavigation.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/sampleNavigation.ts"],"names":[],"mappings":"AAgBA,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM;IAC7C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;CACrB,KAAG,MAAM,GAAG,SAQZ,CAAC;AAEF,eAAO,MAAM,YAAY,mBAyBT,MAAM,GAAG,MAAM,SAClB,MAAM,wBACS,MAAM,uBAmBjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;qBA8C9B,MAAM,GAAG,MAAM,SAAS,MAAM,yBAAyB,MAAM;;;;;;;6BAgEtD,MAAM,GAAG,MAAM,SAClB,MAAM,wBACS,MAAM;;CAuCjC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;CAYrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;sCAM5B,MAAM,YACL,MAAM,GAAG,MAAM,SAClB,MAAM;CAoBlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;;;CA0HzC,CAAC"}
|
|
@@ -80,6 +80,18 @@ export declare const logSamplesUrl: (logPath: string, sampleId?: string | number
|
|
|
80
80
|
export declare const printSampleUrl: (logPath: string, sampleId: string | number, epoch: string | number, view: string, prefix?: RoutePrefix) => string;
|
|
81
81
|
export declare const samplesSampleUrl: (logPath: string, sampleId: string | number, epoch: string | number, sampleTabId?: string) => string;
|
|
82
82
|
export declare const sampleEventUrl: (builder: SampleUrlBuilder, eventId: string, logPath: string, sampleId?: string | number, sampleEpoch?: string | number) => string;
|
|
83
|
+
/**
|
|
84
|
+
* Builder for the focus-mode entry href: a `#`-prefixed hash-route URL for the
|
|
85
|
+
* single-event focus page. Relative `#…` so a ctrl/cmd- or middle-click opens
|
|
86
|
+
* it in a new browser tab of the same SPA, while a plain click is intercepted
|
|
87
|
+
* for in-window navigation (see `TranscriptLayout.onOpenEventFocus`). The
|
|
88
|
+
* VS Code webview has no browser-tab model, but in-window focus mode works
|
|
89
|
+
* there like any hash navigation, so the control is no longer suppressed.
|
|
90
|
+
*
|
|
91
|
+
* Returns undefined (hiding the control) when the log path / sample can't be
|
|
92
|
+
* resolved.
|
|
93
|
+
*/
|
|
94
|
+
export declare const useSampleEventFocusUrlBuilder: () => ((eventId: string, selectedTab?: string) => string | undefined);
|
|
83
95
|
export declare const useSampleMessageUrl: (messageId: string | null | undefined, sampleId?: string | number, sampleEpoch?: string | number) => string | undefined;
|
|
84
96
|
export declare const useSampleEventUrl: (eventId: string, sampleId?: string | number, sampleEpoch?: string | number) => string | undefined;
|
|
85
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/url.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/app/routing/url.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineSampleDisplay.d.ts","sourceRoot":"","sources":["../../../../src/app/samples/InlineSampleDisplay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"InlineSampleDisplay.d.ts","sourceRoot":"","sources":["../../../../src/app/samples/InlineSampleDisplay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAazD,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;kEAC8D;IAC9D,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA6E5D,CAAC"}
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
export interface SampleNavigationConfig {
|
|
6
|
-
/** Handler for navigating to previous sample */
|
|
7
|
-
onPrevious: () => void;
|
|
8
|
-
/** Handler for navigating to next sample */
|
|
9
|
-
onNext: () => void;
|
|
10
|
-
/** Whether there is a previous sample to navigate to */
|
|
11
|
-
hasPrevious: boolean;
|
|
12
|
-
/** Whether there is a next sample to navigate to */
|
|
13
|
-
hasNext: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Configuration for the application navbar
|
|
17
|
-
*/
|
|
18
|
-
export interface NavbarConfig {
|
|
19
|
-
/** The current path to display in breadcrumb */
|
|
20
|
-
currentPath: string | undefined;
|
|
21
|
-
/** Function to build navigation URLs for breadcrumb segments */
|
|
22
|
-
fnNavigationUrl: (file: string, log_dir?: string) => string;
|
|
23
|
-
/** Whether to show a border on the navbar */
|
|
24
|
-
bordered?: boolean;
|
|
25
|
-
breadcrumbsEnabled?: boolean;
|
|
26
|
-
}
|
|
2
|
+
import { NavbarConfig, SampleNavigationConfig } from './SampleNavbar';
|
|
3
|
+
export type { NavbarConfig, SampleNavigationConfig };
|
|
27
4
|
/**
|
|
28
5
|
* Props for the SampleDetailComponent
|
|
29
6
|
*/
|
|
@@ -44,7 +21,8 @@ export interface SampleDetailComponentProps {
|
|
|
44
21
|
* Used by both SampleDetailView (for /samples route) and LogSampleDetailView (for /logs route).
|
|
45
22
|
*
|
|
46
23
|
* This component handles:
|
|
47
|
-
* - Keyboard shortcuts (
|
|
24
|
+
* - Keyboard shortcuts (Ctrl+F for find; arrow-key sample nav lives in
|
|
25
|
+
* SampleNavbar)
|
|
48
26
|
* - Find band integration
|
|
49
27
|
* - Sample tab synchronization (URL → state)
|
|
50
28
|
* - Navigation controls UI (prev/next buttons + sample info)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SampleDetailComponent.d.ts","sourceRoot":"","sources":["../../../../src/app/samples/SampleDetailComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SampleDetailComponent.d.ts","sourceRoot":"","sources":["../../../../src/app/samples/SampleDetailComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAmC,MAAM,OAAO,CAAC;AAc5D,OAAO,EACL,YAAY,EAEZ,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mFAAmF;IACnF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,UAAU,EAAE,sBAAsB,CAAC;IACnC,8DAA8D;IAC9D,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA+DhE,CAAC"}
|