@pstdio/workbench 0.2.1 → 0.3.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 +100 -88
- package/dist/context-key-service-W4QEfVdN.js +1031 -0
- package/dist/context-key-service-W4QEfVdN.js.map +1 -0
- package/dist/extensions.d.ts +739 -275
- package/dist/extensions.js +891 -699
- package/dist/extensions.js.map +1 -1
- package/dist/file-renderer-view-DrrhYnb_.js.map +1 -1
- package/dist/index.d.ts +746 -448
- package/dist/index.js +2974 -60
- package/dist/index.js.map +1 -1
- package/dist/layout-types-DMoZz38-.js +100 -0
- package/dist/layout-types-DMoZz38-.js.map +1 -0
- package/dist/react.d.ts +735 -231
- package/dist/react.js +3562 -2584
- package/dist/react.js.map +1 -1
- package/dist/storage.d.ts +109 -14
- package/dist/storage.js +142 -47
- package/dist/storage.js.map +1 -1
- package/dist/surface-map-C1pOTUmF.js +52 -0
- package/dist/surface-map-C1pOTUmF.js.map +1 -0
- package/dist/testing.d.ts +685 -198
- package/dist/testing.js +46 -34
- package/dist/testing.js.map +1 -1
- package/dist/webview-runtime.js +5 -1
- package/dist/webview-runtime.js.map +1 -1
- package/dist/workbench-menu-paths-B_QJzcNU.js +12 -0
- package/dist/workbench-menu-paths-B_QJzcNU.js.map +1 -0
- package/package.json +6 -7
- package/dist/context-key-service-C--cHa0B.js +0 -447
- package/dist/context-key-service-C--cHa0B.js.map +0 -1
- package/dist/core.d.ts +0 -1885
- package/dist/core.js +0 -64
- package/dist/core.js.map +0 -1
- package/dist/surface-reconcile-DkRf01ro.js +0 -260
- package/dist/surface-reconcile-DkRf01ro.js.map +0 -1
- package/dist/workbench-core-DFpwi8Lo.js +0 -2264
- package/dist/workbench-core-DFpwi8Lo.js.map +0 -1
- package/dist/workbench-menu-paths-CQVH6z4_.js +0 -11
- package/dist/workbench-menu-paths-CQVH6z4_.js.map +0 -1
package/dist/react.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { ParamEditorProps } from '@pstdio/ui';
|
|
|
11
11
|
import { ReactElement } from 'react';
|
|
12
12
|
import { ReactNode } from 'react';
|
|
13
13
|
import { ReactPortal } from 'react';
|
|
14
|
+
import { ResourceContextAction as ResourceContextAction_2 } from '@pstdio/ui';
|
|
14
15
|
import { TerminalBridge } from '@pstdio/ui/terminal';
|
|
15
16
|
import { ThemePreference as ThemePreference_3 } from '@pstdio/ui';
|
|
16
17
|
import { ThemePreferenceOption as ThemePreferenceOption_3 } from '@pstdio/ui';
|
|
@@ -25,7 +26,7 @@ declare interface AttributeDescriptor {
|
|
|
25
26
|
displayable?: boolean;
|
|
26
27
|
editable?: boolean;
|
|
27
28
|
display?: AttributeDisplayDescriptor;
|
|
28
|
-
render?: (value: unknown, row:
|
|
29
|
+
render?: (value: unknown, row: KanbanRendererRow) => ReactNode;
|
|
29
30
|
compare?: (a: unknown, b: unknown) => number;
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -95,7 +96,7 @@ declare interface CollectionSettingsPanel<TItem = unknown> extends SettingsPanel
|
|
|
95
96
|
itemLabel(item: TItem): string;
|
|
96
97
|
itemIcon?(item: TItem): string | undefined;
|
|
97
98
|
groupBy?: SettingsCollectionGroupBy<TItem>;
|
|
98
|
-
renderItem(item: TItem, input:
|
|
99
|
+
renderItem(item: TItem, input: WorkbenchPanelRenderInput): unknown;
|
|
99
100
|
actions?: SettingsAction[];
|
|
100
101
|
}
|
|
101
102
|
|
|
@@ -271,8 +272,6 @@ declare interface ControlsQueryResult {
|
|
|
271
272
|
readOnly?: boolean;
|
|
272
273
|
}
|
|
273
274
|
|
|
274
|
-
declare type ControlsRendererArea = "main-right" | "secondary" | "overlay";
|
|
275
|
-
|
|
276
275
|
declare interface ControlsRendererContribution {
|
|
277
276
|
id: string;
|
|
278
277
|
title: string;
|
|
@@ -292,12 +291,12 @@ declare interface ControlsRendererContribution {
|
|
|
292
291
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
293
292
|
}
|
|
294
293
|
|
|
295
|
-
declare type ControlsRendererImplementation = (input:
|
|
294
|
+
declare type ControlsRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
296
295
|
controlsRendererId: string;
|
|
297
296
|
}) => unknown;
|
|
298
297
|
|
|
299
298
|
declare interface ControlsRendererLayout {
|
|
300
|
-
|
|
299
|
+
region?: ControlsRendererRegion;
|
|
301
300
|
defaultPx?: number;
|
|
302
301
|
minPx?: number;
|
|
303
302
|
maxPx?: number;
|
|
@@ -309,6 +308,8 @@ declare interface ControlsRendererRefreshEvent {
|
|
|
309
308
|
|
|
310
309
|
declare type ControlsRendererRefreshListener = (event: ControlsRendererRefreshEvent) => void;
|
|
311
310
|
|
|
311
|
+
declare type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
|
|
312
|
+
|
|
312
313
|
declare interface ControlsRendererRegistry {
|
|
313
314
|
controlsStore: WorkbenchStore<ControlsRendererStoreState>;
|
|
314
315
|
registerControlsRenderer(contribution: ControlsRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
@@ -369,10 +370,12 @@ declare interface CreateWorkbenchRendererRegistryInput {
|
|
|
369
370
|
createHost?: () => HTMLElement;
|
|
370
371
|
}
|
|
371
372
|
|
|
373
|
+
export declare const createWorkbenchResourceActions: (workbench: WorkbenchCoreContributionContext, resource: ResourceRef) => ResourceContextAction_2[];
|
|
374
|
+
|
|
372
375
|
export declare const createWorkbenchSettingsModule: (options?: WorkbenchSettingsModuleOptions) => WorkbenchModuleContribution;
|
|
373
376
|
|
|
374
377
|
/**
|
|
375
|
-
* Host-owned terminal surface: tabbed placements in the `secondary`
|
|
378
|
+
* Host-owned terminal surface: tabbed placements in the `secondary` region whose
|
|
376
379
|
* chrome, focus, lifecycle, and styling belong to the workbench. Sessions are
|
|
377
380
|
* owned by `workbench.terminal` (the same registry the `terminal.session`
|
|
378
381
|
* webview capability uses); the host injects a session opener via
|
|
@@ -387,108 +390,113 @@ export declare const createWorkbenchTerminalModule: () => WorkbenchModuleContrib
|
|
|
387
390
|
*/
|
|
388
391
|
declare interface CustomSettingsPanel extends SettingsPanelBase {
|
|
389
392
|
kind: "custom";
|
|
390
|
-
render(input:
|
|
393
|
+
render(input: WorkbenchPanelRenderInput): unknown;
|
|
391
394
|
}
|
|
392
395
|
|
|
393
|
-
declare interface
|
|
396
|
+
declare interface DataTableRendererColumn {
|
|
397
|
+
id: string;
|
|
398
|
+
label?: string;
|
|
399
|
+
description?: string;
|
|
400
|
+
icon?: unknown;
|
|
401
|
+
hidden?: boolean;
|
|
402
|
+
stat?: DataTableRendererColumnStat;
|
|
403
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
declare type DataTableRendererColumnRenderer = {
|
|
407
|
+
type: "json";
|
|
408
|
+
} | {
|
|
409
|
+
type: "color-scale";
|
|
410
|
+
stops: Array<{
|
|
411
|
+
value: number;
|
|
412
|
+
color: DataTableRendererThemeColor;
|
|
413
|
+
}>;
|
|
414
|
+
} | {
|
|
415
|
+
type: "categorical-color";
|
|
416
|
+
categories: Array<{
|
|
417
|
+
value: string | number | boolean | null;
|
|
418
|
+
color: DataTableRendererThemeColor;
|
|
419
|
+
}>;
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
declare type DataTableRendererColumnStat = {
|
|
423
|
+
type: "unique";
|
|
424
|
+
} | {
|
|
425
|
+
type: "histogram";
|
|
426
|
+
bins?: number;
|
|
427
|
+
} | {
|
|
428
|
+
type: "top-values";
|
|
429
|
+
limit?: number;
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
declare interface DataTableRendererContribution {
|
|
394
433
|
id: string;
|
|
395
434
|
title: string;
|
|
396
435
|
resourceKind?: string;
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
402
|
-
* static array to let the contribution mutate its schema at runtime —
|
|
403
|
-
* `WorkbenchDataView` subscribes so additions / removals / kind changes
|
|
404
|
-
* propagate live without re-registering the renderer.
|
|
405
|
-
*/
|
|
406
|
-
attributes: AttributeDescriptor[] | AttributesSource;
|
|
407
|
-
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
408
|
-
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
409
|
-
hideToolbar?: boolean;
|
|
436
|
+
columns?: DataTableRendererColumn[];
|
|
437
|
+
rowActions?: DataTableRendererRowAction[];
|
|
438
|
+
initialPageSize?: number;
|
|
439
|
+
pageSizeOptions?: number[];
|
|
410
440
|
emptyTitle?: string;
|
|
411
441
|
emptyDescription?: string;
|
|
412
|
-
|
|
413
|
-
defaultSettings?: Partial<DataRendererSettings>;
|
|
414
|
-
defaultFilters?: DataRendererFilterState;
|
|
415
|
-
/**
|
|
416
|
-
* Data source. Receives the current display state so backends can paginate
|
|
417
|
-
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
418
|
-
* so this can return unfiltered rows in simple cases.
|
|
419
|
-
*/
|
|
420
|
-
executeQuery(state: DataRendererQueryState): Promise<TRow[]> | TRow[];
|
|
442
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
421
443
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
422
|
-
|
|
423
|
-
onRowClick?: (row: TRow) => void;
|
|
424
|
-
/** Per-row right-click context menu actions (mirrored from <DataRenderer>). */
|
|
425
|
-
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
426
|
-
/**
|
|
427
|
-
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
428
|
-
* the board (the renderer passes the grouping attribute id + the target
|
|
429
|
-
* column value).
|
|
430
|
-
*/
|
|
431
|
-
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
432
|
-
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
433
|
-
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
434
|
-
onCreateRow?: (columnId: string) => void;
|
|
435
|
-
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
444
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
436
445
|
}
|
|
437
446
|
|
|
438
|
-
declare type
|
|
439
|
-
|
|
440
|
-
declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
441
|
-
dataRendererId: string;
|
|
447
|
+
declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
448
|
+
dataTableRendererId: string;
|
|
442
449
|
}) => unknown;
|
|
443
450
|
|
|
444
|
-
declare interface
|
|
445
|
-
|
|
446
|
-
|
|
451
|
+
declare interface DataTableRendererQueryContext {
|
|
452
|
+
resource?: ResourceRef;
|
|
453
|
+
modeId?: string;
|
|
447
454
|
}
|
|
448
455
|
|
|
449
|
-
declare interface
|
|
450
|
-
|
|
451
|
-
|
|
456
|
+
declare interface DataTableRendererQueryResult {
|
|
457
|
+
rows: DataTableRendererRow[];
|
|
458
|
+
columns?: DataTableRendererColumn[];
|
|
452
459
|
}
|
|
453
460
|
|
|
454
|
-
declare interface
|
|
455
|
-
|
|
461
|
+
declare interface DataTableRendererRefreshEvent {
|
|
462
|
+
dataTableRendererId: string;
|
|
456
463
|
}
|
|
457
464
|
|
|
458
|
-
declare
|
|
465
|
+
declare interface DataTableRendererRegistry {
|
|
466
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
467
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
468
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
469
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
470
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
471
|
+
refreshDataTableRenderer(id: string): void;
|
|
472
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
473
|
+
}
|
|
459
474
|
|
|
460
|
-
declare interface
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
getDataRenderer(id: string): RegisteredDataRendererContribution | undefined;
|
|
465
|
-
listDataRenderers(): RegisteredDataRendererContribution[];
|
|
466
|
-
refreshDataRenderer(id: string): void;
|
|
467
|
-
onDidRefreshDataRenderer(listener: DataRendererRefreshListener): Disposable_2;
|
|
475
|
+
declare interface DataTableRendererRow {
|
|
476
|
+
id: string;
|
|
477
|
+
values: Record<string, unknown>;
|
|
478
|
+
resource?: ResourceRef;
|
|
468
479
|
}
|
|
469
480
|
|
|
470
|
-
declare interface
|
|
481
|
+
declare interface DataTableRendererRowAction {
|
|
471
482
|
id: string;
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
* resource via the workbench).
|
|
477
|
-
*/
|
|
478
|
-
resource?: unknown;
|
|
479
|
-
attributes: Record<string, unknown>;
|
|
483
|
+
label: string;
|
|
484
|
+
icon?: unknown;
|
|
485
|
+
destructive?: boolean;
|
|
486
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
480
487
|
}
|
|
481
488
|
|
|
482
|
-
declare interface
|
|
483
|
-
|
|
484
|
-
columnGrouping: string | typeof NO_GROUPING;
|
|
485
|
-
rowGrouping: string | typeof NO_GROUPING;
|
|
486
|
-
ordering: DataRendererOrdering;
|
|
487
|
-
displayProperties: string[];
|
|
489
|
+
declare interface DataTableRendererStoreState {
|
|
490
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
488
491
|
}
|
|
489
492
|
|
|
490
|
-
declare interface
|
|
491
|
-
|
|
493
|
+
declare interface DataTableRendererThemeColor {
|
|
494
|
+
light: string;
|
|
495
|
+
dark: string;
|
|
496
|
+
foreground?: {
|
|
497
|
+
light: string;
|
|
498
|
+
dark: string;
|
|
499
|
+
};
|
|
492
500
|
}
|
|
493
501
|
|
|
494
502
|
declare interface Disposable_2 {
|
|
@@ -568,7 +576,7 @@ declare interface FileRendererContribution {
|
|
|
568
576
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
569
577
|
}
|
|
570
578
|
|
|
571
|
-
declare type FileRendererImplementation = (input:
|
|
579
|
+
declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
572
580
|
fileRendererId: string;
|
|
573
581
|
}) => unknown;
|
|
574
582
|
|
|
@@ -599,28 +607,177 @@ declare interface HistoryController {
|
|
|
599
607
|
goPrevious(): HistoryEntry | undefined;
|
|
600
608
|
recentlyClosed(): readonly HistoryEntry[];
|
|
601
609
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
610
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
611
|
+
getPersistenceScope(): string | undefined;
|
|
612
|
+
restore(): HistoryEntry | undefined;
|
|
613
|
+
flush(): void;
|
|
602
614
|
clear(): void;
|
|
603
615
|
}
|
|
604
616
|
|
|
605
|
-
declare
|
|
606
|
-
entryId: string;
|
|
607
|
-
recordedAt: number;
|
|
608
|
-
kind: "resource" | "widget" | "mode";
|
|
609
|
-
modeId?: string;
|
|
610
|
-
resource?: ResourceRef;
|
|
611
|
-
widgetId?: string;
|
|
612
|
-
contributionId?: string;
|
|
613
|
-
title?: string;
|
|
614
|
-
}
|
|
617
|
+
declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
615
618
|
|
|
616
619
|
declare interface HistoryStoreState {
|
|
617
|
-
entries: readonly
|
|
620
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
618
621
|
cursor: number;
|
|
619
|
-
recentlyClosed: readonly
|
|
622
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
623
|
+
hydrating: boolean;
|
|
620
624
|
}
|
|
621
625
|
|
|
622
626
|
export declare const isSettingsScopeVisible: (scope: SettingsScope | undefined, hasProjectScope: boolean) => boolean;
|
|
623
627
|
|
|
628
|
+
declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
629
|
+
id: string;
|
|
630
|
+
title: string;
|
|
631
|
+
resourceKind?: string;
|
|
632
|
+
/**
|
|
633
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
634
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
635
|
+
*
|
|
636
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
637
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
638
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
639
|
+
* propagate live without re-registering the renderer.
|
|
640
|
+
*/
|
|
641
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
642
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
643
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
644
|
+
hideToolbar?: boolean;
|
|
645
|
+
emptyTitle?: string;
|
|
646
|
+
emptyDescription?: string;
|
|
647
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
648
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
649
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
650
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
651
|
+
defaultActiveViewId?: string;
|
|
652
|
+
/**
|
|
653
|
+
* Data source. Receives the current display state so backends can paginate
|
|
654
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
655
|
+
* so this can return unfiltered rows in simple cases.
|
|
656
|
+
*/
|
|
657
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
658
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
659
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
660
|
+
onRowClick?: (row: TRow) => void;
|
|
661
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
662
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
663
|
+
/**
|
|
664
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
665
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
666
|
+
* column value).
|
|
667
|
+
*/
|
|
668
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
669
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
670
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
671
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
672
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
673
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
declare interface KanbanRendererCreateField {
|
|
677
|
+
id: string;
|
|
678
|
+
label: string;
|
|
679
|
+
description?: string;
|
|
680
|
+
placeholder?: string;
|
|
681
|
+
type: KanbanRendererCreateFieldType;
|
|
682
|
+
required?: boolean;
|
|
683
|
+
defaultValue?: unknown;
|
|
684
|
+
options?: EnumOption[];
|
|
685
|
+
/** `files` fields only. */
|
|
686
|
+
multiple?: boolean;
|
|
687
|
+
accept?: string;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
691
|
+
|
|
692
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
693
|
+
declare interface KanbanRendererCreateLabels {
|
|
694
|
+
cancel: string;
|
|
695
|
+
properties: string;
|
|
696
|
+
submitError: string;
|
|
697
|
+
removeFile: string;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
declare interface KanbanRendererCreateRowConfig {
|
|
701
|
+
title: string;
|
|
702
|
+
submitLabel: string;
|
|
703
|
+
fields: KanbanRendererCreateField[];
|
|
704
|
+
labels: KanbanRendererCreateLabels;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
declare interface KanbanRendererCreateSubmission {
|
|
708
|
+
columnId: string;
|
|
709
|
+
columnAttributeId?: string;
|
|
710
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
711
|
+
values: Record<string, unknown>;
|
|
712
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
713
|
+
attributeValues: Record<string, unknown>;
|
|
714
|
+
files: File[];
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
718
|
+
|
|
719
|
+
declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
720
|
+
kanbanRendererId: string;
|
|
721
|
+
}) => unknown;
|
|
722
|
+
|
|
723
|
+
declare interface KanbanRendererOrdering {
|
|
724
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
725
|
+
direction: SortDirection;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
declare interface KanbanRendererQueryState {
|
|
729
|
+
settings: KanbanRendererSettings;
|
|
730
|
+
filters: KanbanRendererFilterState;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
declare interface KanbanRendererRefreshEvent {
|
|
734
|
+
kanbanRendererId: string;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
738
|
+
|
|
739
|
+
declare interface KanbanRendererRegistry {
|
|
740
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
741
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
742
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
743
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
744
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
745
|
+
refreshKanbanRenderer(id: string): void;
|
|
746
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
declare interface KanbanRendererRow {
|
|
750
|
+
id: string;
|
|
751
|
+
title: string;
|
|
752
|
+
/**
|
|
753
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
754
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
755
|
+
* resource via the workbench).
|
|
756
|
+
*/
|
|
757
|
+
resource?: unknown;
|
|
758
|
+
attributes: Record<string, unknown>;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
declare interface KanbanRendererSavedView {
|
|
762
|
+
id: string;
|
|
763
|
+
title: string;
|
|
764
|
+
settings: KanbanRendererSettings;
|
|
765
|
+
filters: KanbanRendererFilterState;
|
|
766
|
+
isDefault?: boolean;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
declare interface KanbanRendererSettings {
|
|
770
|
+
viewMode: ViewMode;
|
|
771
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
772
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
773
|
+
ordering: KanbanRendererOrdering;
|
|
774
|
+
displayProperties: string[];
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
declare interface KanbanRendererStoreState {
|
|
778
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
779
|
+
}
|
|
780
|
+
|
|
624
781
|
declare interface Keybinding {
|
|
625
782
|
commandId: string;
|
|
626
783
|
keybinding: KeybindingSequence;
|
|
@@ -646,33 +803,62 @@ declare interface LayoutModel {
|
|
|
646
803
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
647
804
|
dispose(): void;
|
|
648
805
|
};
|
|
806
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
807
|
+
dispose(): void;
|
|
808
|
+
};
|
|
649
809
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
650
810
|
dispose(): void;
|
|
651
811
|
};
|
|
812
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
813
|
+
dispose(): void;
|
|
814
|
+
};
|
|
815
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
816
|
+
dispose(): void;
|
|
817
|
+
};
|
|
818
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
819
|
+
dispose(): void;
|
|
820
|
+
};
|
|
652
821
|
unregisterWidget(id: string, options?: {
|
|
653
822
|
removePlacements?: boolean;
|
|
654
823
|
persist?: boolean;
|
|
655
824
|
}): void;
|
|
656
|
-
getPlaceholder(
|
|
825
|
+
getPlaceholder(regionId: WorkbenchRegion_2): RegisteredPlaceholderContribution | undefined;
|
|
657
826
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
827
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
828
|
+
getRegionSize(regionId: WorkbenchRegion_2): WorkbenchRegionSize | undefined;
|
|
829
|
+
getRegionCollapsible(regionId: WorkbenchRegion_2): boolean;
|
|
830
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion_2): boolean;
|
|
831
|
+
setRegionVisible(regionId: WorkbenchRegion_2, visible: boolean): void;
|
|
832
|
+
setRegionSize(regionId: WorkbenchRegion_2, size: number): void;
|
|
663
833
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
664
834
|
listWidgets(): RegisteredWidgetContribution[];
|
|
835
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
836
|
+
listPanelInstances(region?: WorkbenchRegion_2): WorkbenchPanelInstance[];
|
|
837
|
+
getActivePanel(region?: WorkbenchRegion_2): WorkbenchPanelInstance | undefined;
|
|
665
838
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
839
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
840
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
841
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
842
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
843
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
666
844
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
845
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
846
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
667
847
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
848
|
+
setRegionActiveWidget(regionId: WorkbenchRegion_2, widgetId: string | undefined): void;
|
|
668
849
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
669
850
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
670
|
-
|
|
671
|
-
|
|
851
|
+
clearRegion(regionId: WorkbenchRegion_2): void;
|
|
852
|
+
resetRegions(): void;
|
|
672
853
|
getLayout(): WorkbenchLayout;
|
|
673
854
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
674
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
855
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
856
|
+
carryRegionState?: readonly WorkbenchRegion_2[];
|
|
857
|
+
}): void;
|
|
675
858
|
getPersistenceScope(): LayoutScope | undefined;
|
|
859
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
860
|
+
dispose(): void;
|
|
861
|
+
};
|
|
676
862
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
677
863
|
dispose(): void;
|
|
678
864
|
};
|
|
@@ -686,6 +872,7 @@ declare const MANUAL_ORDERING = "manual";
|
|
|
686
872
|
|
|
687
873
|
declare interface MenuItem {
|
|
688
874
|
commandId: string;
|
|
875
|
+
sourceCommandId?: string;
|
|
689
876
|
label?: string;
|
|
690
877
|
description?: string;
|
|
691
878
|
icon?: string;
|
|
@@ -750,7 +937,13 @@ declare interface NavigationTargetCompound {
|
|
|
750
937
|
targets: readonly NavigationTargetItem[];
|
|
751
938
|
}
|
|
752
939
|
|
|
753
|
-
declare type NavigationTargetItem = NavigationTargetResource |
|
|
940
|
+
declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
941
|
+
|
|
942
|
+
declare interface NavigationTargetPanel {
|
|
943
|
+
kind: "panel";
|
|
944
|
+
panelId: string;
|
|
945
|
+
input?: OpenWorkbenchPanelInput;
|
|
946
|
+
}
|
|
754
947
|
|
|
755
948
|
declare interface NavigationTargetResource {
|
|
756
949
|
kind: "resource";
|
|
@@ -758,12 +951,6 @@ declare interface NavigationTargetResource {
|
|
|
758
951
|
input?: OpenResourceInput;
|
|
759
952
|
}
|
|
760
953
|
|
|
761
|
-
declare interface NavigationTargetView {
|
|
762
|
-
kind: "view";
|
|
763
|
-
widgetId: string;
|
|
764
|
-
input?: OpenWidgetInput;
|
|
765
|
-
}
|
|
766
|
-
|
|
767
954
|
declare const NO_GROUPING = "none";
|
|
768
955
|
|
|
769
956
|
export declare const normalizeWorkbenchKeybinding: (keybinding: KeybindingSequence) => KeybindingSequence;
|
|
@@ -784,20 +971,39 @@ declare interface OpenResourceInput {
|
|
|
784
971
|
declare interface OpenWidgetInput {
|
|
785
972
|
resource?: ResourceRef;
|
|
786
973
|
title?: string;
|
|
787
|
-
|
|
974
|
+
region?: WorkbenchRegion_2;
|
|
788
975
|
ownerId?: string;
|
|
789
976
|
source?: ContributionSource;
|
|
790
977
|
pinned?: boolean;
|
|
791
978
|
closable?: boolean;
|
|
792
979
|
mountStrategy?: WidgetMountStrategy;
|
|
793
980
|
hiddenByDefault?: boolean;
|
|
981
|
+
tabRetention?: WorkbenchTabRetention;
|
|
982
|
+
tabPosition?: WorkbenchTabPosition;
|
|
983
|
+
tab?: WorkbenchWidgetTab;
|
|
794
984
|
replaceActive?: boolean;
|
|
985
|
+
replaceWidgetId?: string;
|
|
795
986
|
}
|
|
796
987
|
|
|
797
|
-
|
|
988
|
+
declare interface OpenWorkbenchPanelInput {
|
|
989
|
+
resource?: ResourceRef;
|
|
990
|
+
title?: string;
|
|
991
|
+
region?: WorkbenchRegion_2;
|
|
992
|
+
pinned?: boolean;
|
|
993
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
994
|
+
hiddenByDefault?: boolean;
|
|
995
|
+
tab?: WorkbenchPanelTab;
|
|
996
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
export declare const openWorkbenchTerminal: (ctx: WorkbenchCoreContributionContext, input?: OpenWorkbenchTerminalOptions) => WorkbenchPanelInstance_2;
|
|
798
1000
|
|
|
799
1001
|
declare type OpenWorkbenchTerminalInput = NonNullable<Parameters<WorkbenchCoreContributionContext["layout"]["openWidget"]>[1]>;
|
|
800
1002
|
|
|
1003
|
+
declare type OpenWorkbenchTerminalOptions = OpenWorkbenchTerminalInput & {
|
|
1004
|
+
reveal?: boolean;
|
|
1005
|
+
};
|
|
1006
|
+
|
|
801
1007
|
declare type ParamValue = Parameters<NonNullable<ParamEditorProps["onChange"]>>[1];
|
|
802
1008
|
|
|
803
1009
|
export declare const paramValueToPreference: (schema: PreferencePropertySchema, value: ParamValue) => PreferenceValue;
|
|
@@ -805,10 +1011,10 @@ export declare const paramValueToPreference: (schema: PreferencePropertySchema,
|
|
|
805
1011
|
declare interface PlaceholderContribution {
|
|
806
1012
|
id: string;
|
|
807
1013
|
title: string;
|
|
808
|
-
|
|
1014
|
+
region: WorkbenchRegion_2;
|
|
809
1015
|
rendererId: string;
|
|
810
|
-
|
|
811
|
-
|
|
1016
|
+
regionSize?: WorkbenchRegionSize;
|
|
1017
|
+
regionCollapsible?: boolean;
|
|
812
1018
|
config?: unknown;
|
|
813
1019
|
priority?: number;
|
|
814
1020
|
}
|
|
@@ -870,12 +1076,15 @@ declare interface RegisteredContributionMetadata {
|
|
|
870
1076
|
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
871
1077
|
}
|
|
872
1078
|
|
|
873
|
-
declare interface
|
|
1079
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
874
1080
|
}
|
|
875
1081
|
|
|
876
1082
|
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
877
1083
|
}
|
|
878
1084
|
|
|
1085
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
1086
|
+
}
|
|
1087
|
+
|
|
879
1088
|
declare interface RegisteredKeepAliveHost {
|
|
880
1089
|
rendererId: string;
|
|
881
1090
|
host: HTMLElement;
|
|
@@ -911,8 +1120,10 @@ declare interface RegisteredTreeRendererContribution extends TreeRendererContrib
|
|
|
911
1120
|
}
|
|
912
1121
|
|
|
913
1122
|
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
1123
|
+
ownedPanelMenuIds?: readonly string[];
|
|
914
1124
|
singleton: boolean;
|
|
915
1125
|
reuse: WidgetReusePolicy;
|
|
1126
|
+
role: WorkbenchWidgetRole;
|
|
916
1127
|
} & RegisteredContributionMetadata;
|
|
917
1128
|
|
|
918
1129
|
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
@@ -926,7 +1137,9 @@ declare interface RegisteredWorkbenchNotification extends RegisteredContribution
|
|
|
926
1137
|
metadata?: Record<string, unknown>;
|
|
927
1138
|
}
|
|
928
1139
|
|
|
929
|
-
declare type
|
|
1140
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1141
|
+
|
|
1142
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
930
1143
|
|
|
931
1144
|
declare interface ResourceBrowseEntry {
|
|
932
1145
|
resource: ResourceRef;
|
|
@@ -948,6 +1161,13 @@ declare interface ResourceContextAction {
|
|
|
948
1161
|
separatorBefore?: boolean;
|
|
949
1162
|
}
|
|
950
1163
|
|
|
1164
|
+
declare interface ResourceHierarchyProvider {
|
|
1165
|
+
id: string;
|
|
1166
|
+
priority?: number;
|
|
1167
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1168
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
951
1171
|
declare interface ResourceKindContribution {
|
|
952
1172
|
kind: string;
|
|
953
1173
|
label: string;
|
|
@@ -968,11 +1188,11 @@ declare interface ResourceNavigator<TResult = unknown> {
|
|
|
968
1188
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
969
1189
|
}
|
|
970
1190
|
|
|
971
|
-
declare interface
|
|
1191
|
+
declare interface ResourcePresenter {
|
|
972
1192
|
id: string;
|
|
973
1193
|
priority?: number;
|
|
974
1194
|
canOpen(resource: ResourceRef): boolean;
|
|
975
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1195
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
976
1196
|
}
|
|
977
1197
|
|
|
978
1198
|
declare interface ResourceProvider {
|
|
@@ -1005,19 +1225,24 @@ declare interface ResourceRegistry {
|
|
|
1005
1225
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
1006
1226
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
1007
1227
|
listKinds(): RegisteredResourceKind[];
|
|
1008
|
-
|
|
1009
|
-
|
|
1228
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1229
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
1010
1230
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
1011
1231
|
listProviders(): ResourceProvider[];
|
|
1012
1232
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
1013
|
-
|
|
1233
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1234
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1235
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1236
|
+
isOpeningResource(): boolean;
|
|
1237
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
1014
1238
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
1015
1239
|
}
|
|
1016
1240
|
|
|
1017
1241
|
declare interface ResourceRegistryStoreState {
|
|
1018
1242
|
kinds: Record<string, RegisteredResourceKind>;
|
|
1019
|
-
|
|
1243
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
1020
1244
|
providers: Record<string, ResourceProvider>;
|
|
1245
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
1021
1246
|
}
|
|
1022
1247
|
|
|
1023
1248
|
declare type ResourceSurface = "primary" | "secondary" | "attached";
|
|
@@ -1102,7 +1327,7 @@ declare interface SettingsRegistryStoreState {
|
|
|
1102
1327
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
1103
1328
|
declare type SettingsScope = "global" | "project";
|
|
1104
1329
|
|
|
1105
|
-
/** An ordered
|
|
1330
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
1106
1331
|
declare interface SettingsSectionContribution {
|
|
1107
1332
|
id: string;
|
|
1108
1333
|
title?: string;
|
|
@@ -1210,6 +1435,8 @@ declare interface TreeNode {
|
|
|
1210
1435
|
hiddenByDefault?: boolean;
|
|
1211
1436
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1212
1437
|
canHide?: boolean;
|
|
1438
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1439
|
+
canReorder?: boolean;
|
|
1213
1440
|
}
|
|
1214
1441
|
|
|
1215
1442
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1227,7 +1454,7 @@ declare interface TreeRendererContribution {
|
|
|
1227
1454
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1228
1455
|
}
|
|
1229
1456
|
|
|
1230
|
-
declare type TreeRendererImplementation = (input:
|
|
1457
|
+
declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1231
1458
|
treeId: string;
|
|
1232
1459
|
}) => unknown;
|
|
1233
1460
|
|
|
@@ -1285,9 +1512,13 @@ declare interface TreeViewSection {
|
|
|
1285
1512
|
hiddenByDefault?: boolean;
|
|
1286
1513
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1287
1514
|
canHide?: boolean;
|
|
1515
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1516
|
+
canReorder?: boolean;
|
|
1288
1517
|
}
|
|
1289
1518
|
|
|
1290
|
-
export declare const useWorkbenchClaim: () =>
|
|
1519
|
+
export declare const useWorkbenchClaim: () => WorkbenchPanelRenderInput | undefined;
|
|
1520
|
+
|
|
1521
|
+
export declare const useWorkbenchResourceActionResolver: (workbench: WorkbenchCoreContributionContext) => (resource: ResourceRef) => ResourceContextAction_2[];
|
|
1291
1522
|
|
|
1292
1523
|
export declare const useWorkbenchStore: <TState, TSlice>(store: WorkbenchStore<TState>, selector: (state: TState) => TSlice) => TSlice;
|
|
1293
1524
|
|
|
@@ -1300,8 +1531,8 @@ export declare const useWorkbenchThemePreferences: (workbench: WorkbenchCore) =>
|
|
|
1300
1531
|
})[];
|
|
1301
1532
|
|
|
1302
1533
|
/**
|
|
1303
|
-
* Core-owned contracts for
|
|
1304
|
-
*
|
|
1534
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1535
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1305
1536
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1306
1537
|
* API shape to UI package ownership.
|
|
1307
1538
|
*/
|
|
@@ -1310,19 +1541,26 @@ declare type ViewMode = "board" | "list";
|
|
|
1310
1541
|
declare interface WidgetContribution {
|
|
1311
1542
|
id: string;
|
|
1312
1543
|
title: string;
|
|
1313
|
-
|
|
1314
|
-
|
|
1544
|
+
icon?: string;
|
|
1545
|
+
region: WorkbenchRegion_2;
|
|
1546
|
+
fallbackRegion?: WorkbenchRegion_2;
|
|
1315
1547
|
singleton?: boolean;
|
|
1316
1548
|
reuse?: WidgetReusePolicy;
|
|
1317
1549
|
mountStrategy?: WidgetMountStrategy;
|
|
1318
1550
|
closable?: boolean;
|
|
1319
1551
|
hiddenByDefault?: boolean;
|
|
1320
|
-
|
|
1321
|
-
|
|
1552
|
+
regionSize?: WorkbenchRegionSize;
|
|
1553
|
+
regionCollapsible?: boolean;
|
|
1322
1554
|
headerBorderBottom?: boolean;
|
|
1555
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1323
1556
|
resourceKinds?: string[];
|
|
1324
1557
|
priority?: number;
|
|
1325
1558
|
rendererId: string;
|
|
1559
|
+
openCommandId?: string;
|
|
1560
|
+
role?: WorkbenchWidgetRole;
|
|
1561
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1562
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1563
|
+
tab?: WorkbenchWidgetTab;
|
|
1326
1564
|
config?: unknown;
|
|
1327
1565
|
canOpen?(resource: ResourceRef): boolean;
|
|
1328
1566
|
}
|
|
@@ -1349,43 +1587,7 @@ export declare const WORKBENCH_TERMINAL_OPEN_COMMAND_ID = "workbench.terminal.op
|
|
|
1349
1587
|
|
|
1350
1588
|
export declare const WORKBENCH_TERMINAL_WIDGET_ID = "workbench.terminal";
|
|
1351
1589
|
|
|
1352
|
-
export declare const
|
|
1353
|
-
|
|
1354
|
-
declare type WorkbenchArea_2 = (typeof workbenchAreas)[number];
|
|
1355
|
-
|
|
1356
|
-
declare interface WorkbenchAreaProps {
|
|
1357
|
-
workbench: WorkbenchCore;
|
|
1358
|
-
area: WorkbenchArea_2;
|
|
1359
|
-
title?: string;
|
|
1360
|
-
showHeader?: boolean;
|
|
1361
|
-
hideSingleTabHeader?: boolean;
|
|
1362
|
-
pointerEvents?: "auto" | "none";
|
|
1363
|
-
transparent?: boolean;
|
|
1364
|
-
}
|
|
1365
|
-
|
|
1366
|
-
declare const workbenchAreas: readonly ["nav", "activity", "left-header", "left", "main-header", "main-left", "main", "main-right", "secondary-header", "secondary", "status", "overlay", "floating-header", "floating"];
|
|
1367
|
-
|
|
1368
|
-
declare interface WorkbenchAreaSize {
|
|
1369
|
-
defaultPx?: number;
|
|
1370
|
-
minPx?: number;
|
|
1371
|
-
maxPx?: number;
|
|
1372
|
-
}
|
|
1373
|
-
|
|
1374
|
-
declare interface WorkbenchAreaState {
|
|
1375
|
-
id: WorkbenchArea_2;
|
|
1376
|
-
visible: boolean;
|
|
1377
|
-
size?: number;
|
|
1378
|
-
widgets: WorkbenchWidgetPlacement[];
|
|
1379
|
-
activeWidgetId?: string;
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
export declare const WorkbenchAreaTabs: (props: WorkbenchAreaTabsProps) => JSX.Element | null;
|
|
1383
|
-
|
|
1384
|
-
declare interface WorkbenchAreaTabsProps {
|
|
1385
|
-
workbench: WorkbenchCore;
|
|
1386
|
-
area: WorkbenchArea_2;
|
|
1387
|
-
visibilityStorageKey?: string;
|
|
1388
|
-
}
|
|
1590
|
+
export declare const WorkbenchAttachedSidePanel: (props: WorkbenchSidePanelProps) => JSX.Element;
|
|
1389
1591
|
|
|
1390
1592
|
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1391
1593
|
|
|
@@ -1400,6 +1602,7 @@ declare interface WorkbenchBreadcrumbController {
|
|
|
1400
1602
|
declare interface WorkbenchBreadcrumbItem {
|
|
1401
1603
|
title: unknown;
|
|
1402
1604
|
icon?: string;
|
|
1605
|
+
indicator?: "session-status";
|
|
1403
1606
|
url?: string;
|
|
1404
1607
|
onClick?: () => void;
|
|
1405
1608
|
resource?: ResourceRef;
|
|
@@ -1415,10 +1618,18 @@ declare interface WorkbenchBreadcrumbViewProps {
|
|
|
1415
1618
|
workbench: WorkbenchCore;
|
|
1416
1619
|
}
|
|
1417
1620
|
|
|
1418
|
-
export declare const WorkbenchClaimContext: Context<
|
|
1621
|
+
export declare const WorkbenchClaimContext: Context<WorkbenchPanelRenderInput | undefined>;
|
|
1622
|
+
|
|
1623
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1624
|
+
region: WorkbenchPanelRegion;
|
|
1625
|
+
reference: WorkbenchSubPanelRef;
|
|
1626
|
+
resource?: ResourceRef;
|
|
1627
|
+
title?: string;
|
|
1628
|
+
}
|
|
1419
1629
|
|
|
1420
1630
|
declare interface WorkbenchCommandExecutionContext {
|
|
1421
1631
|
resource?: ResourceRef;
|
|
1632
|
+
source?: "panel-add";
|
|
1422
1633
|
}
|
|
1423
1634
|
|
|
1424
1635
|
declare interface WorkbenchCommandExecutionError {
|
|
@@ -1484,6 +1695,7 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1484
1695
|
}
|
|
1485
1696
|
|
|
1486
1697
|
declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1698
|
+
host: WorkbenchHost;
|
|
1487
1699
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1488
1700
|
unregisterModule(moduleId: string): void;
|
|
1489
1701
|
}
|
|
@@ -1507,7 +1719,8 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1507
1719
|
renderers: WorkbenchRenderers;
|
|
1508
1720
|
resources: ResourceRegistry;
|
|
1509
1721
|
settings: SettingsRegistry;
|
|
1510
|
-
|
|
1722
|
+
shell: WorkbenchShellController;
|
|
1723
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1511
1724
|
terminal: WorkbenchTerminalController;
|
|
1512
1725
|
themes: ThemeRegistry;
|
|
1513
1726
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1517,34 +1730,46 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1517
1730
|
onDidChangeActiveResource(listener: (resource: ResourceRef | undefined) => void): Disposable_2;
|
|
1518
1731
|
}
|
|
1519
1732
|
|
|
1733
|
+
export declare const WorkbenchDataTableView: (props: WorkbenchDataTableViewProps) => JSX.Element;
|
|
1734
|
+
|
|
1735
|
+
declare interface WorkbenchDataTableViewProps {
|
|
1736
|
+
workbench: WorkbenchCore;
|
|
1737
|
+
contribution: RegisteredDataTableRendererContribution;
|
|
1738
|
+
placement: WorkbenchPanelInstance;
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1520
1741
|
declare interface WorkbenchFileIconThemeStoreState {
|
|
1521
1742
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1522
1743
|
}
|
|
1523
1744
|
|
|
1524
|
-
declare type
|
|
1745
|
+
declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1525
1746
|
|
|
1526
|
-
declare const
|
|
1747
|
+
export declare const WorkbenchFloatingSidePanel: (props: WorkbenchSidePanelProps) => JSX.Element | null;
|
|
1527
1748
|
|
|
1528
|
-
declare type WorkbenchFocusChangeListener = (
|
|
1749
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1529
1750
|
|
|
1530
1751
|
declare interface WorkbenchFocusController {
|
|
1531
1752
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1532
|
-
|
|
1753
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1533
1754
|
clearFocus(): void;
|
|
1534
|
-
|
|
1755
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1535
1756
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1536
1757
|
}
|
|
1537
1758
|
|
|
1538
1759
|
export declare const WorkbenchFocusRegion: (props: WorkbenchFocusRegionProps) => JSX.Element;
|
|
1539
1760
|
|
|
1761
|
+
declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1762
|
+
|
|
1540
1763
|
declare interface WorkbenchFocusRegionProps extends BoxProps {
|
|
1541
1764
|
workbench: WorkbenchCore;
|
|
1542
|
-
|
|
1765
|
+
region: WorkbenchFocusRegionId;
|
|
1543
1766
|
children: ReactNode;
|
|
1544
1767
|
}
|
|
1545
1768
|
|
|
1769
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1770
|
+
|
|
1546
1771
|
declare interface WorkbenchFocusState {
|
|
1547
|
-
|
|
1772
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1548
1773
|
}
|
|
1549
1774
|
|
|
1550
1775
|
export declare const WorkbenchHeaderActions: (props: WorkbenchHeaderActionsProps) => JSX.Element | null;
|
|
@@ -1552,6 +1777,16 @@ export declare const WorkbenchHeaderActions: (props: WorkbenchHeaderActionsProps
|
|
|
1552
1777
|
declare interface WorkbenchHeaderActionsProps {
|
|
1553
1778
|
workbench: WorkbenchCore;
|
|
1554
1779
|
menuPath: MenuPath;
|
|
1780
|
+
controlSize?: "2xs" | "xs";
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
declare interface WorkbenchHost {
|
|
1784
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1785
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1786
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1787
|
+
carryRegions?: readonly WorkbenchRegion_2[];
|
|
1788
|
+
}): void;
|
|
1789
|
+
getPersistenceScope(): string | undefined;
|
|
1555
1790
|
}
|
|
1556
1791
|
|
|
1557
1792
|
export declare interface WorkbenchHotkeyRegistration {
|
|
@@ -1590,8 +1825,10 @@ declare interface WorkbenchLastResourceController {
|
|
|
1590
1825
|
}
|
|
1591
1826
|
|
|
1592
1827
|
declare interface WorkbenchLayout {
|
|
1593
|
-
|
|
1828
|
+
regions: Record<WorkbenchRegion_2, WorkbenchRegionState>;
|
|
1829
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1594
1830
|
activeWidgetId?: string;
|
|
1831
|
+
activeLocationWidgetId?: string;
|
|
1595
1832
|
activeResourceUri?: string;
|
|
1596
1833
|
}
|
|
1597
1834
|
|
|
@@ -1600,7 +1837,25 @@ declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
|
1600
1837
|
declare interface WorkbenchLayoutStoreState {
|
|
1601
1838
|
layout: WorkbenchLayout;
|
|
1602
1839
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1603
|
-
placeholders: Partial<Record<
|
|
1840
|
+
placeholders: Partial<Record<WorkbenchRegion_2, RegisteredPlaceholderContribution>>;
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1844
|
+
|
|
1845
|
+
declare interface WorkbenchLocationEligibility {
|
|
1846
|
+
modeIds?: string[];
|
|
1847
|
+
resourceKinds?: string[];
|
|
1848
|
+
resourceIds?: string[];
|
|
1849
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
declare interface WorkbenchLocationRef {
|
|
1853
|
+
key: string;
|
|
1854
|
+
modeId?: string;
|
|
1855
|
+
resource?: ResourceRef;
|
|
1856
|
+
contributionId?: string;
|
|
1857
|
+
instanceKey?: string;
|
|
1858
|
+
title?: string;
|
|
1604
1859
|
}
|
|
1605
1860
|
|
|
1606
1861
|
export declare interface WorkbenchMenuItem {
|
|
@@ -1631,16 +1886,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1631
1886
|
declare interface WorkbenchModeContribution {
|
|
1632
1887
|
id: string;
|
|
1633
1888
|
label?: string;
|
|
1889
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1634
1890
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1891
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1892
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1635
1893
|
}
|
|
1636
1894
|
|
|
1637
1895
|
declare interface WorkbenchModeRegistry {
|
|
1638
1896
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1897
|
+
dispose(): void;
|
|
1639
1898
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1640
1899
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1641
1900
|
listModes(): WorkbenchModeContribution[];
|
|
1642
1901
|
getActiveModeId(): string | undefined;
|
|
1643
|
-
|
|
1902
|
+
isTransitioning(): boolean;
|
|
1903
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1904
|
+
deferSeed?: boolean;
|
|
1905
|
+
}): void;
|
|
1906
|
+
seedActiveMode(): void;
|
|
1644
1907
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1645
1908
|
}
|
|
1646
1909
|
|
|
@@ -1651,6 +1914,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1651
1914
|
|
|
1652
1915
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1653
1916
|
|
|
1917
|
+
declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1918
|
+
|
|
1654
1919
|
declare interface WorkbenchModuleContribution {
|
|
1655
1920
|
id: string;
|
|
1656
1921
|
source?: ContributionSource;
|
|
@@ -1658,7 +1923,7 @@ declare interface WorkbenchModuleContribution {
|
|
|
1658
1923
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1659
1924
|
}
|
|
1660
1925
|
|
|
1661
|
-
declare type WorkbenchModuleContributionContext =
|
|
1926
|
+
declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1662
1927
|
|
|
1663
1928
|
export declare const WorkbenchModuleHost: (props: WorkbenchModuleHostProps) => null;
|
|
1664
1929
|
|
|
@@ -1671,6 +1936,20 @@ export declare interface WorkbenchModuleHostRegistration {
|
|
|
1671
1936
|
disposable: Disposable_2;
|
|
1672
1937
|
}
|
|
1673
1938
|
|
|
1939
|
+
declare interface WorkbenchNavigationEntry {
|
|
1940
|
+
entryId: string;
|
|
1941
|
+
recordedAt: number;
|
|
1942
|
+
location: WorkbenchLocationRef;
|
|
1943
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1944
|
+
kind: "resource" | "widget" | "mode";
|
|
1945
|
+
modeId?: string;
|
|
1946
|
+
resource?: ResourceRef;
|
|
1947
|
+
widgetId?: string;
|
|
1948
|
+
contributionId?: string;
|
|
1949
|
+
title?: string;
|
|
1950
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1674
1953
|
declare interface WorkbenchNotification {
|
|
1675
1954
|
id?: string;
|
|
1676
1955
|
level: WorkbenchNotificationLevel;
|
|
@@ -1734,20 +2013,171 @@ export declare interface WorkbenchOverlayWidgetConfig {
|
|
|
1734
2013
|
closeTriggerTop?: string;
|
|
1735
2014
|
}
|
|
1736
2015
|
|
|
2016
|
+
declare interface WorkbenchPanelContribution {
|
|
2017
|
+
id: string;
|
|
2018
|
+
title: string;
|
|
2019
|
+
icon?: string;
|
|
2020
|
+
region: WorkbenchRegion_2;
|
|
2021
|
+
fallbackRegion?: WorkbenchRegion_2;
|
|
2022
|
+
rendererId: string;
|
|
2023
|
+
closable: boolean;
|
|
2024
|
+
singleton?: boolean;
|
|
2025
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
2026
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2027
|
+
hiddenByDefault?: boolean;
|
|
2028
|
+
regionSize?: WorkbenchRegionSize;
|
|
2029
|
+
regionCollapsible?: boolean;
|
|
2030
|
+
headerBorderBottom?: boolean;
|
|
2031
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
2032
|
+
resourceKinds?: string[];
|
|
2033
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
2034
|
+
priority?: number;
|
|
2035
|
+
openCommandId?: string;
|
|
2036
|
+
tab?: WorkbenchPanelTab;
|
|
2037
|
+
config?: unknown;
|
|
2038
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
2039
|
+
ownerId?: string;
|
|
2040
|
+
source?: ContributionSource;
|
|
2041
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
declare interface WorkbenchPanelInstance {
|
|
2045
|
+
instanceId: string;
|
|
2046
|
+
panelId: string;
|
|
2047
|
+
ownerId?: string;
|
|
2048
|
+
source?: ContributionSource;
|
|
2049
|
+
resource?: ResourceRef;
|
|
2050
|
+
resourceUri?: string;
|
|
2051
|
+
ownerResourceUri?: string;
|
|
2052
|
+
title?: string;
|
|
2053
|
+
pinned?: boolean;
|
|
2054
|
+
closable: boolean;
|
|
2055
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2056
|
+
hiddenByDefault?: boolean;
|
|
2057
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2058
|
+
tab?: WorkbenchPanelTab;
|
|
2059
|
+
}
|
|
2060
|
+
|
|
2061
|
+
declare interface WorkbenchPanelInstance_2 {
|
|
2062
|
+
instanceId: string;
|
|
2063
|
+
panelId: string;
|
|
2064
|
+
ownerId?: string;
|
|
2065
|
+
source?: ContributionSource_2;
|
|
2066
|
+
resource?: ResourceRef_2;
|
|
2067
|
+
resourceUri?: string;
|
|
2068
|
+
ownerResourceUri?: string;
|
|
2069
|
+
title?: string;
|
|
2070
|
+
pinned?: boolean;
|
|
2071
|
+
closable: boolean;
|
|
2072
|
+
mountStrategy?: WorkbenchPanelMountStrategy_2;
|
|
2073
|
+
hiddenByDefault?: boolean;
|
|
2074
|
+
tabRetention?: WorkbenchTabRetention_2;
|
|
2075
|
+
tab?: WorkbenchPanelTab_2;
|
|
2076
|
+
}
|
|
2077
|
+
|
|
2078
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2079
|
+
region: WorkbenchPanelMenuRegion;
|
|
2080
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
2081
|
+
};
|
|
2082
|
+
|
|
2083
|
+
declare interface WorkbenchPanelMenuDefinition {
|
|
2084
|
+
id: string;
|
|
2085
|
+
title: string;
|
|
2086
|
+
icon?: string;
|
|
2087
|
+
side: WorkbenchPanelMenuSide;
|
|
2088
|
+
singleton?: boolean;
|
|
2089
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
2090
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2091
|
+
hiddenByDefault?: boolean;
|
|
2092
|
+
regionSize?: WorkbenchRegionSize;
|
|
2093
|
+
regionCollapsible?: boolean;
|
|
2094
|
+
headerBorderBottom?: boolean;
|
|
2095
|
+
rendererId: string;
|
|
2096
|
+
priority?: number;
|
|
2097
|
+
config?: unknown;
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
2101
|
+
level: "panel";
|
|
2102
|
+
contributionId?: string;
|
|
2103
|
+
} | {
|
|
2104
|
+
level: "sub-panel";
|
|
2105
|
+
contributionId: string;
|
|
2106
|
+
};
|
|
2107
|
+
|
|
2108
|
+
declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
2109
|
+
|
|
2110
|
+
declare const workbenchPanelMenuRegions: {
|
|
2111
|
+
readonly main: {
|
|
2112
|
+
readonly left: "main-left-menu";
|
|
2113
|
+
readonly right: "main-right-menu";
|
|
2114
|
+
};
|
|
2115
|
+
readonly secondary: {
|
|
2116
|
+
readonly left: "secondary-left-menu";
|
|
2117
|
+
readonly right: "secondary-right-menu";
|
|
2118
|
+
};
|
|
2119
|
+
readonly side: {
|
|
2120
|
+
readonly left: "side-left-menu";
|
|
2121
|
+
readonly right: "side-right-menu";
|
|
2122
|
+
};
|
|
2123
|
+
};
|
|
2124
|
+
|
|
2125
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
2126
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
2127
|
+
}
|
|
2128
|
+
|
|
2129
|
+
declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
2130
|
+
|
|
2131
|
+
declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
2132
|
+
|
|
2133
|
+
declare type WorkbenchPanelMountStrategy_2 = WidgetMountStrategy_2;
|
|
2134
|
+
|
|
2135
|
+
declare type WorkbenchPanelOpenStrategy = {
|
|
2136
|
+
kind: "activate-or-open";
|
|
2137
|
+
position?: WorkbenchTabPosition;
|
|
2138
|
+
} | {
|
|
2139
|
+
kind: "replace-active";
|
|
2140
|
+
} | {
|
|
2141
|
+
kind: "replace-panel";
|
|
2142
|
+
instanceId: string;
|
|
2143
|
+
} | {
|
|
2144
|
+
kind: "preview";
|
|
2145
|
+
position?: WorkbenchTabPosition;
|
|
2146
|
+
};
|
|
2147
|
+
|
|
2148
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
2149
|
+
|
|
2150
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
2151
|
+
|
|
2152
|
+
export declare interface WorkbenchPanelRenderInput {
|
|
2153
|
+
workbench: WorkbenchCore;
|
|
2154
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
2155
|
+
instance: WorkbenchPanelInstance;
|
|
2156
|
+
refresh: () => void;
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
2160
|
+
|
|
1737
2161
|
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1738
2162
|
|
|
1739
2163
|
declare interface WorkbenchPanelsController {
|
|
1740
2164
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1741
|
-
isOpen(
|
|
1742
|
-
setOpen(
|
|
1743
|
-
toggle(
|
|
2165
|
+
isOpen(regionId: string): boolean;
|
|
2166
|
+
setOpen(regionId: string, open: boolean): void;
|
|
2167
|
+
toggle(regionId: string): void;
|
|
2168
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
2169
|
+
getPersistenceScope(): string | undefined;
|
|
1744
2170
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1745
2171
|
}
|
|
1746
2172
|
|
|
1747
2173
|
declare interface WorkbenchPanelsState {
|
|
1748
|
-
|
|
2174
|
+
openByRegionId: Record<string, boolean>;
|
|
1749
2175
|
}
|
|
1750
2176
|
|
|
2177
|
+
declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
2178
|
+
|
|
2179
|
+
declare type WorkbenchPanelTab_2 = WorkbenchWidgetTab_2;
|
|
2180
|
+
|
|
1751
2181
|
export declare const WorkbenchPreferencesForm: (props: WorkbenchPreferencesFormProps) => JSX.Element;
|
|
1752
2182
|
|
|
1753
2183
|
export declare interface WorkbenchPreferencesFormProps {
|
|
@@ -1768,12 +2198,48 @@ declare interface WorkbenchProps {
|
|
|
1768
2198
|
renderParamField?: CommandParamFieldRenderer;
|
|
1769
2199
|
}
|
|
1770
2200
|
|
|
2201
|
+
export declare const WorkbenchRegion: (props: WorkbenchRegionProps) => JSX.Element | null;
|
|
2202
|
+
|
|
2203
|
+
declare type WorkbenchRegion_2 = (typeof workbenchRegions)[number];
|
|
2204
|
+
|
|
2205
|
+
declare interface WorkbenchRegionProps {
|
|
2206
|
+
workbench: WorkbenchCore;
|
|
2207
|
+
region: WorkbenchRegion_2;
|
|
2208
|
+
title?: string;
|
|
2209
|
+
pointerEvents?: "auto" | "none";
|
|
2210
|
+
transparent?: boolean;
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
declare const workbenchRegions: readonly ["nav", "activity", "sidenav-header", "sidenav", "main-header", "main-left-menu", "main", "main-right-menu", "secondary-header", "secondary-left-menu", "secondary", "secondary-right-menu", "side-header", "side-left-menu", "side", "side-right-menu", "status", "overlay"];
|
|
2214
|
+
|
|
2215
|
+
declare interface WorkbenchRegionSize {
|
|
2216
|
+
defaultPx?: number;
|
|
2217
|
+
minPx?: number;
|
|
2218
|
+
maxPx?: number;
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
declare interface WorkbenchRegionState {
|
|
2222
|
+
id: WorkbenchRegion_2;
|
|
2223
|
+
visible: boolean;
|
|
2224
|
+
size?: number;
|
|
2225
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
2226
|
+
activeWidgetId?: string;
|
|
2227
|
+
}
|
|
2228
|
+
|
|
2229
|
+
export declare const WorkbenchRegionTabs: (props: WorkbenchRegionTabsProps) => JSX.Element | null;
|
|
2230
|
+
|
|
2231
|
+
declare interface WorkbenchRegionTabsProps {
|
|
2232
|
+
workbench: WorkbenchCore;
|
|
2233
|
+
region: WorkbenchRegion_2;
|
|
2234
|
+
visibilityStorageKey?: string;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
1771
2237
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
1772
2238
|
|
|
1773
2239
|
export declare type WorkbenchRendererRegistration = {
|
|
1774
2240
|
id: string;
|
|
1775
2241
|
keepAlive?: false;
|
|
1776
|
-
render: (input:
|
|
2242
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1777
2243
|
} | {
|
|
1778
2244
|
id: string;
|
|
1779
2245
|
keepAlive: true;
|
|
@@ -1786,50 +2252,68 @@ export declare interface WorkbenchRendererRegistry {
|
|
|
1786
2252
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1787
2253
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1788
2254
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1789
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
2255
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1790
2256
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1791
|
-
getClaim(rendererId: string):
|
|
2257
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1792
2258
|
}
|
|
1793
2259
|
|
|
1794
|
-
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry &
|
|
2260
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1795
2261
|
|
|
1796
2262
|
declare interface WorkbenchRendererStoreState {
|
|
1797
2263
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1798
2264
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1799
|
-
claims: Record<string,
|
|
2265
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
export declare interface WorkbenchSettingsModuleOptions {
|
|
2269
|
+
/** Maps a preference scope (e.g. "project") to its scope id; project entries hide until this resolves. */
|
|
2270
|
+
resolveScopeId?: (scope: PreferenceScope) => string | undefined;
|
|
2271
|
+
/** Heading shown at the top of the settings overlay. */
|
|
2272
|
+
title?: string;
|
|
1800
2273
|
}
|
|
1801
2274
|
|
|
1802
|
-
|
|
2275
|
+
declare interface WorkbenchShellController {
|
|
2276
|
+
getRegionState(region: WorkbenchRegion_2): WorkbenchShellRegionState;
|
|
2277
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
2278
|
+
setRegionSize(region: WorkbenchRegion_2, size: number): void;
|
|
2279
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
2280
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
2281
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
2282
|
+
}
|
|
1803
2283
|
|
|
1804
|
-
|
|
2284
|
+
declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1805
2285
|
|
|
1806
|
-
declare
|
|
2286
|
+
declare interface WorkbenchShellRegionState {
|
|
2287
|
+
open: boolean;
|
|
2288
|
+
size?: number;
|
|
2289
|
+
}
|
|
2290
|
+
|
|
2291
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
1807
2292
|
|
|
1808
|
-
declare interface
|
|
1809
|
-
store: WorkbenchStore<
|
|
1810
|
-
getMode():
|
|
1811
|
-
setMode(mode:
|
|
1812
|
-
onDidChange(listener:
|
|
2293
|
+
declare interface WorkbenchSidePanelController {
|
|
2294
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
2295
|
+
getMode(): WorkbenchSidePanelMode;
|
|
2296
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
2297
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
1813
2298
|
}
|
|
1814
2299
|
|
|
1815
|
-
declare type
|
|
2300
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
2301
|
+
|
|
2302
|
+
declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
1816
2303
|
|
|
1817
|
-
declare interface
|
|
2304
|
+
declare interface WorkbenchSidePanelProps {
|
|
1818
2305
|
workbench: WorkbenchCore;
|
|
1819
2306
|
contentSlotRef: (node: HTMLDivElement | null) => void;
|
|
1820
2307
|
bottomOffset?: string;
|
|
1821
2308
|
header?: ReactNode;
|
|
1822
2309
|
}
|
|
1823
2310
|
|
|
1824
|
-
declare interface
|
|
1825
|
-
mode:
|
|
2311
|
+
declare interface WorkbenchSidePanelState {
|
|
2312
|
+
mode: WorkbenchSidePanelMode;
|
|
1826
2313
|
}
|
|
1827
2314
|
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
resolveScopeId?: (scope: PreferenceScope) => string | undefined;
|
|
1831
|
-
/** Heading shown at the top of the settings overlay. */
|
|
1832
|
-
title?: string;
|
|
2315
|
+
declare interface WorkbenchSnapshot {
|
|
2316
|
+
layout: WorkbenchLayout;
|
|
1833
2317
|
}
|
|
1834
2318
|
|
|
1835
2319
|
declare interface WorkbenchStore<TState> {
|
|
@@ -1848,6 +2332,27 @@ declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
|
1848
2332
|
|
|
1849
2333
|
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
1850
2334
|
|
|
2335
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2336
|
+
region: WorkbenchPanelRegion;
|
|
2337
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
2338
|
+
} & WorkbenchPanelMenusContribution;
|
|
2339
|
+
|
|
2340
|
+
declare interface WorkbenchSubPanelRef {
|
|
2341
|
+
contributionId: string;
|
|
2342
|
+
resourceUri?: string;
|
|
2343
|
+
instanceKey?: string;
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2346
|
+
declare type WorkbenchTabPosition = "start" | "end" | {
|
|
2347
|
+
beforeWidgetId: string;
|
|
2348
|
+
} | {
|
|
2349
|
+
afterWidgetId: string;
|
|
2350
|
+
};
|
|
2351
|
+
|
|
2352
|
+
declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
2353
|
+
|
|
2354
|
+
declare type WorkbenchTabRetention_2 = "preview" | "persistent";
|
|
2355
|
+
|
|
1851
2356
|
declare interface WorkbenchTerminalController {
|
|
1852
2357
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
1853
2358
|
/** True once the host injected a session opener. */
|
|
@@ -1882,14 +2387,15 @@ declare interface WorkbenchTerminalController {
|
|
|
1882
2387
|
|
|
1883
2388
|
/**
|
|
1884
2389
|
* Body of the host-owned terminal panel. Chrome (tab, title, close action,
|
|
1885
|
-
* resize) comes from the workbench `secondary`
|
|
1886
|
-
* the terminal bound to the workbench terminal controller.
|
|
1887
|
-
*
|
|
2390
|
+
* resize) comes from the workbench `secondary` region; this component only mounts
|
|
2391
|
+
* the terminal bound to the workbench terminal controller. Collapsing the panel
|
|
2392
|
+
* keeps the terminal mounted. Closing its tab unmounts the terminal and kills
|
|
2393
|
+
* its session (close = kill).
|
|
1888
2394
|
*/
|
|
1889
2395
|
export declare const WorkbenchTerminalPanel: (props: WorkbenchTerminalPanelProps) => JSX.Element;
|
|
1890
2396
|
|
|
1891
2397
|
declare interface WorkbenchTerminalPanelProps {
|
|
1892
|
-
placement:
|
|
2398
|
+
placement: WorkbenchPanelInstance;
|
|
1893
2399
|
workbench: WorkbenchCore;
|
|
1894
2400
|
}
|
|
1895
2401
|
|
|
@@ -1972,6 +2478,7 @@ declare interface WorkbenchTreeViewProps {
|
|
|
1972
2478
|
viewId?: string;
|
|
1973
2479
|
renderParamField?: CommandParamFieldRenderer;
|
|
1974
2480
|
onOpenResourceError?: (error: unknown) => void;
|
|
2481
|
+
onSidenavContextActionsChange?: (actions: ResourceContextAction_2[]) => void;
|
|
1975
2482
|
}
|
|
1976
2483
|
|
|
1977
2484
|
export declare const WorkbenchWidgetHost: (props: WorkbenchWidgetHostProps) => JSX.Element;
|
|
@@ -1989,32 +2496,29 @@ declare interface WorkbenchWidgetPlacement {
|
|
|
1989
2496
|
source?: ContributionSource;
|
|
1990
2497
|
resource?: ResourceRef;
|
|
1991
2498
|
resourceUri?: string;
|
|
2499
|
+
ownerResourceUri?: string;
|
|
1992
2500
|
title?: string;
|
|
1993
2501
|
pinned?: boolean;
|
|
1994
2502
|
closable?: boolean;
|
|
1995
2503
|
mountStrategy?: WidgetMountStrategy;
|
|
1996
2504
|
hiddenByDefault?: boolean;
|
|
2505
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2506
|
+
tab?: WorkbenchWidgetTab;
|
|
2507
|
+
role?: WorkbenchWidgetRole;
|
|
1997
2508
|
}
|
|
1998
2509
|
|
|
1999
|
-
declare
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
resourceUri?: string;
|
|
2006
|
-
title?: string;
|
|
2007
|
-
pinned?: boolean;
|
|
2008
|
-
closable?: boolean;
|
|
2009
|
-
mountStrategy?: WidgetMountStrategy_2;
|
|
2010
|
-
hiddenByDefault?: boolean;
|
|
2510
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2511
|
+
|
|
2512
|
+
declare interface WorkbenchWidgetTab {
|
|
2513
|
+
contentRendererId?: string;
|
|
2514
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2515
|
+
customMenuRendererId?: string;
|
|
2011
2516
|
}
|
|
2012
2517
|
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
refresh: () => void;
|
|
2518
|
+
declare interface WorkbenchWidgetTab_2 {
|
|
2519
|
+
contentRendererId?: string;
|
|
2520
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2521
|
+
customMenuRendererId?: string;
|
|
2018
2522
|
}
|
|
2019
2523
|
|
|
2020
2524
|
export { }
|