@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/testing.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ declare interface AttributeDescriptor {
|
|
|
13
13
|
displayable?: boolean;
|
|
14
14
|
editable?: boolean;
|
|
15
15
|
display?: AttributeDisplayDescriptor;
|
|
16
|
-
render?: (value: unknown, row:
|
|
16
|
+
render?: (value: unknown, row: KanbanRendererRow) => ReactNode;
|
|
17
17
|
compare?: (a: unknown, b: unknown) => number;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -76,7 +76,7 @@ declare interface CollectionSettingsPanel<TItem = unknown> extends SettingsPanel
|
|
|
76
76
|
itemLabel(item: TItem): string;
|
|
77
77
|
itemIcon?(item: TItem): string | undefined;
|
|
78
78
|
groupBy?: SettingsCollectionGroupBy<TItem>;
|
|
79
|
-
renderItem(item: TItem, input:
|
|
79
|
+
renderItem(item: TItem, input: WorkbenchPanelRenderInput): unknown;
|
|
80
80
|
actions?: SettingsAction[];
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -219,8 +219,6 @@ declare interface ControlsQueryResult {
|
|
|
219
219
|
readOnly?: boolean;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
declare type ControlsRendererArea = "main-right" | "secondary" | "overlay";
|
|
223
|
-
|
|
224
222
|
declare interface ControlsRendererContribution {
|
|
225
223
|
id: string;
|
|
226
224
|
title: string;
|
|
@@ -240,12 +238,12 @@ declare interface ControlsRendererContribution {
|
|
|
240
238
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
241
239
|
}
|
|
242
240
|
|
|
243
|
-
declare type ControlsRendererImplementation = (input:
|
|
241
|
+
declare type ControlsRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
244
242
|
controlsRendererId: string;
|
|
245
243
|
}) => unknown;
|
|
246
244
|
|
|
247
245
|
declare interface ControlsRendererLayout {
|
|
248
|
-
|
|
246
|
+
region?: ControlsRendererRegion;
|
|
249
247
|
defaultPx?: number;
|
|
250
248
|
minPx?: number;
|
|
251
249
|
maxPx?: number;
|
|
@@ -257,6 +255,8 @@ declare interface ControlsRendererRefreshEvent {
|
|
|
257
255
|
|
|
258
256
|
declare type ControlsRendererRefreshListener = (event: ControlsRendererRefreshEvent) => void;
|
|
259
257
|
|
|
258
|
+
declare type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
|
|
259
|
+
|
|
260
260
|
declare interface ControlsRendererRegistry {
|
|
261
261
|
controlsStore: WorkbenchStore<ControlsRendererStoreState>;
|
|
262
262
|
registerControlsRenderer(contribution: ControlsRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
@@ -289,108 +289,113 @@ declare interface ControlsUpdateValueInput {
|
|
|
289
289
|
*/
|
|
290
290
|
declare interface CustomSettingsPanel extends SettingsPanelBase {
|
|
291
291
|
kind: "custom";
|
|
292
|
-
render(input:
|
|
292
|
+
render(input: WorkbenchPanelRenderInput): unknown;
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
declare interface
|
|
295
|
+
declare interface DataTableRendererColumn {
|
|
296
|
+
id: string;
|
|
297
|
+
label?: string;
|
|
298
|
+
description?: string;
|
|
299
|
+
icon?: unknown;
|
|
300
|
+
hidden?: boolean;
|
|
301
|
+
stat?: DataTableRendererColumnStat;
|
|
302
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
declare type DataTableRendererColumnRenderer = {
|
|
306
|
+
type: "json";
|
|
307
|
+
} | {
|
|
308
|
+
type: "color-scale";
|
|
309
|
+
stops: Array<{
|
|
310
|
+
value: number;
|
|
311
|
+
color: DataTableRendererThemeColor;
|
|
312
|
+
}>;
|
|
313
|
+
} | {
|
|
314
|
+
type: "categorical-color";
|
|
315
|
+
categories: Array<{
|
|
316
|
+
value: string | number | boolean | null;
|
|
317
|
+
color: DataTableRendererThemeColor;
|
|
318
|
+
}>;
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
declare type DataTableRendererColumnStat = {
|
|
322
|
+
type: "unique";
|
|
323
|
+
} | {
|
|
324
|
+
type: "histogram";
|
|
325
|
+
bins?: number;
|
|
326
|
+
} | {
|
|
327
|
+
type: "top-values";
|
|
328
|
+
limit?: number;
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
declare interface DataTableRendererContribution {
|
|
296
332
|
id: string;
|
|
297
333
|
title: string;
|
|
298
334
|
resourceKind?: string;
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
304
|
-
* static array to let the contribution mutate its schema at runtime —
|
|
305
|
-
* `WorkbenchDataView` subscribes so additions / removals / kind changes
|
|
306
|
-
* propagate live without re-registering the renderer.
|
|
307
|
-
*/
|
|
308
|
-
attributes: AttributeDescriptor[] | AttributesSource;
|
|
309
|
-
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
310
|
-
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
311
|
-
hideToolbar?: boolean;
|
|
335
|
+
columns?: DataTableRendererColumn[];
|
|
336
|
+
rowActions?: DataTableRendererRowAction[];
|
|
337
|
+
initialPageSize?: number;
|
|
338
|
+
pageSizeOptions?: number[];
|
|
312
339
|
emptyTitle?: string;
|
|
313
340
|
emptyDescription?: string;
|
|
314
|
-
|
|
315
|
-
defaultSettings?: Partial<DataRendererSettings>;
|
|
316
|
-
defaultFilters?: DataRendererFilterState;
|
|
317
|
-
/**
|
|
318
|
-
* Data source. Receives the current display state so backends can paginate
|
|
319
|
-
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
320
|
-
* so this can return unfiltered rows in simple cases.
|
|
321
|
-
*/
|
|
322
|
-
executeQuery(state: DataRendererQueryState): Promise<TRow[]> | TRow[];
|
|
341
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
323
342
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
324
|
-
|
|
325
|
-
onRowClick?: (row: TRow) => void;
|
|
326
|
-
/** Per-row right-click context menu actions (mirrored from <DataRenderer>). */
|
|
327
|
-
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
328
|
-
/**
|
|
329
|
-
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
330
|
-
* the board (the renderer passes the grouping attribute id + the target
|
|
331
|
-
* column value).
|
|
332
|
-
*/
|
|
333
|
-
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
334
|
-
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
335
|
-
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
336
|
-
onCreateRow?: (columnId: string) => void;
|
|
337
|
-
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
343
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
338
344
|
}
|
|
339
345
|
|
|
340
|
-
declare type
|
|
341
|
-
|
|
342
|
-
declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
343
|
-
dataRendererId: string;
|
|
346
|
+
declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
347
|
+
dataTableRendererId: string;
|
|
344
348
|
}) => unknown;
|
|
345
349
|
|
|
346
|
-
declare interface
|
|
347
|
-
|
|
348
|
-
|
|
350
|
+
declare interface DataTableRendererQueryContext {
|
|
351
|
+
resource?: ResourceRef;
|
|
352
|
+
modeId?: string;
|
|
349
353
|
}
|
|
350
354
|
|
|
351
|
-
declare interface
|
|
352
|
-
|
|
353
|
-
|
|
355
|
+
declare interface DataTableRendererQueryResult {
|
|
356
|
+
rows: DataTableRendererRow[];
|
|
357
|
+
columns?: DataTableRendererColumn[];
|
|
354
358
|
}
|
|
355
359
|
|
|
356
|
-
declare interface
|
|
357
|
-
|
|
360
|
+
declare interface DataTableRendererRefreshEvent {
|
|
361
|
+
dataTableRendererId: string;
|
|
358
362
|
}
|
|
359
363
|
|
|
360
|
-
declare
|
|
364
|
+
declare interface DataTableRendererRegistry {
|
|
365
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
366
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
367
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
368
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
369
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
370
|
+
refreshDataTableRenderer(id: string): void;
|
|
371
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
372
|
+
}
|
|
361
373
|
|
|
362
|
-
declare interface
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
getDataRenderer(id: string): RegisteredDataRendererContribution | undefined;
|
|
367
|
-
listDataRenderers(): RegisteredDataRendererContribution[];
|
|
368
|
-
refreshDataRenderer(id: string): void;
|
|
369
|
-
onDidRefreshDataRenderer(listener: DataRendererRefreshListener): Disposable_2;
|
|
374
|
+
declare interface DataTableRendererRow {
|
|
375
|
+
id: string;
|
|
376
|
+
values: Record<string, unknown>;
|
|
377
|
+
resource?: ResourceRef;
|
|
370
378
|
}
|
|
371
379
|
|
|
372
|
-
declare interface
|
|
380
|
+
declare interface DataTableRendererRowAction {
|
|
373
381
|
id: string;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
* resource via the workbench).
|
|
379
|
-
*/
|
|
380
|
-
resource?: unknown;
|
|
381
|
-
attributes: Record<string, unknown>;
|
|
382
|
+
label: string;
|
|
383
|
+
icon?: unknown;
|
|
384
|
+
destructive?: boolean;
|
|
385
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
382
386
|
}
|
|
383
387
|
|
|
384
|
-
declare interface
|
|
385
|
-
|
|
386
|
-
columnGrouping: string | typeof NO_GROUPING;
|
|
387
|
-
rowGrouping: string | typeof NO_GROUPING;
|
|
388
|
-
ordering: DataRendererOrdering;
|
|
389
|
-
displayProperties: string[];
|
|
388
|
+
declare interface DataTableRendererStoreState {
|
|
389
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
390
390
|
}
|
|
391
391
|
|
|
392
|
-
declare interface
|
|
393
|
-
|
|
392
|
+
declare interface DataTableRendererThemeColor {
|
|
393
|
+
light: string;
|
|
394
|
+
dark: string;
|
|
395
|
+
foreground?: {
|
|
396
|
+
light: string;
|
|
397
|
+
dark: string;
|
|
398
|
+
};
|
|
394
399
|
}
|
|
395
400
|
|
|
396
401
|
export declare const describeResourceRouteContract: (contract: ResourceRouteContract) => void;
|
|
@@ -470,7 +475,7 @@ declare interface FileRendererContribution {
|
|
|
470
475
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
471
476
|
}
|
|
472
477
|
|
|
473
|
-
declare type FileRendererImplementation = (input:
|
|
478
|
+
declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
474
479
|
fileRendererId: string;
|
|
475
480
|
}) => unknown;
|
|
476
481
|
|
|
@@ -501,24 +506,173 @@ declare interface HistoryController {
|
|
|
501
506
|
goPrevious(): HistoryEntry | undefined;
|
|
502
507
|
recentlyClosed(): readonly HistoryEntry[];
|
|
503
508
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
509
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
510
|
+
getPersistenceScope(): string | undefined;
|
|
511
|
+
restore(): HistoryEntry | undefined;
|
|
512
|
+
flush(): void;
|
|
504
513
|
clear(): void;
|
|
505
514
|
}
|
|
506
515
|
|
|
507
|
-
declare
|
|
508
|
-
entryId: string;
|
|
509
|
-
recordedAt: number;
|
|
510
|
-
kind: "resource" | "widget" | "mode";
|
|
511
|
-
modeId?: string;
|
|
512
|
-
resource?: ResourceRef;
|
|
513
|
-
widgetId?: string;
|
|
514
|
-
contributionId?: string;
|
|
515
|
-
title?: string;
|
|
516
|
-
}
|
|
516
|
+
declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
517
517
|
|
|
518
518
|
declare interface HistoryStoreState {
|
|
519
|
-
entries: readonly
|
|
519
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
520
520
|
cursor: number;
|
|
521
|
-
recentlyClosed: readonly
|
|
521
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
522
|
+
hydrating: boolean;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
526
|
+
id: string;
|
|
527
|
+
title: string;
|
|
528
|
+
resourceKind?: string;
|
|
529
|
+
/**
|
|
530
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
531
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
532
|
+
*
|
|
533
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
534
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
535
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
536
|
+
* propagate live without re-registering the renderer.
|
|
537
|
+
*/
|
|
538
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
539
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
540
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
541
|
+
hideToolbar?: boolean;
|
|
542
|
+
emptyTitle?: string;
|
|
543
|
+
emptyDescription?: string;
|
|
544
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
545
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
546
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
547
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
548
|
+
defaultActiveViewId?: string;
|
|
549
|
+
/**
|
|
550
|
+
* Data source. Receives the current display state so backends can paginate
|
|
551
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
552
|
+
* so this can return unfiltered rows in simple cases.
|
|
553
|
+
*/
|
|
554
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
555
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
556
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
557
|
+
onRowClick?: (row: TRow) => void;
|
|
558
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
559
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
560
|
+
/**
|
|
561
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
562
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
563
|
+
* column value).
|
|
564
|
+
*/
|
|
565
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
566
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
567
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
568
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
569
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
570
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
declare interface KanbanRendererCreateField {
|
|
574
|
+
id: string;
|
|
575
|
+
label: string;
|
|
576
|
+
description?: string;
|
|
577
|
+
placeholder?: string;
|
|
578
|
+
type: KanbanRendererCreateFieldType;
|
|
579
|
+
required?: boolean;
|
|
580
|
+
defaultValue?: unknown;
|
|
581
|
+
options?: EnumOption[];
|
|
582
|
+
/** `files` fields only. */
|
|
583
|
+
multiple?: boolean;
|
|
584
|
+
accept?: string;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
588
|
+
|
|
589
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
590
|
+
declare interface KanbanRendererCreateLabels {
|
|
591
|
+
cancel: string;
|
|
592
|
+
properties: string;
|
|
593
|
+
submitError: string;
|
|
594
|
+
removeFile: string;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
declare interface KanbanRendererCreateRowConfig {
|
|
598
|
+
title: string;
|
|
599
|
+
submitLabel: string;
|
|
600
|
+
fields: KanbanRendererCreateField[];
|
|
601
|
+
labels: KanbanRendererCreateLabels;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
declare interface KanbanRendererCreateSubmission {
|
|
605
|
+
columnId: string;
|
|
606
|
+
columnAttributeId?: string;
|
|
607
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
608
|
+
values: Record<string, unknown>;
|
|
609
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
610
|
+
attributeValues: Record<string, unknown>;
|
|
611
|
+
files: File[];
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
615
|
+
|
|
616
|
+
declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
617
|
+
kanbanRendererId: string;
|
|
618
|
+
}) => unknown;
|
|
619
|
+
|
|
620
|
+
declare interface KanbanRendererOrdering {
|
|
621
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
622
|
+
direction: SortDirection;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
declare interface KanbanRendererQueryState {
|
|
626
|
+
settings: KanbanRendererSettings;
|
|
627
|
+
filters: KanbanRendererFilterState;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
declare interface KanbanRendererRefreshEvent {
|
|
631
|
+
kanbanRendererId: string;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
635
|
+
|
|
636
|
+
declare interface KanbanRendererRegistry {
|
|
637
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
638
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
639
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
640
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
641
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
642
|
+
refreshKanbanRenderer(id: string): void;
|
|
643
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
declare interface KanbanRendererRow {
|
|
647
|
+
id: string;
|
|
648
|
+
title: string;
|
|
649
|
+
/**
|
|
650
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
651
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
652
|
+
* resource via the workbench).
|
|
653
|
+
*/
|
|
654
|
+
resource?: unknown;
|
|
655
|
+
attributes: Record<string, unknown>;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
declare interface KanbanRendererSavedView {
|
|
659
|
+
id: string;
|
|
660
|
+
title: string;
|
|
661
|
+
settings: KanbanRendererSettings;
|
|
662
|
+
filters: KanbanRendererFilterState;
|
|
663
|
+
isDefault?: boolean;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
declare interface KanbanRendererSettings {
|
|
667
|
+
viewMode: ViewMode;
|
|
668
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
669
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
670
|
+
ordering: KanbanRendererOrdering;
|
|
671
|
+
displayProperties: string[];
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
declare interface KanbanRendererStoreState {
|
|
675
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
522
676
|
}
|
|
523
677
|
|
|
524
678
|
declare interface Keybinding {
|
|
@@ -546,33 +700,62 @@ declare interface LayoutModel {
|
|
|
546
700
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
547
701
|
dispose(): void;
|
|
548
702
|
};
|
|
703
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
704
|
+
dispose(): void;
|
|
705
|
+
};
|
|
549
706
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
550
707
|
dispose(): void;
|
|
551
708
|
};
|
|
709
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
710
|
+
dispose(): void;
|
|
711
|
+
};
|
|
712
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
713
|
+
dispose(): void;
|
|
714
|
+
};
|
|
715
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
716
|
+
dispose(): void;
|
|
717
|
+
};
|
|
552
718
|
unregisterWidget(id: string, options?: {
|
|
553
719
|
removePlacements?: boolean;
|
|
554
720
|
persist?: boolean;
|
|
555
721
|
}): void;
|
|
556
|
-
getPlaceholder(
|
|
722
|
+
getPlaceholder(regionId: WorkbenchRegion): RegisteredPlaceholderContribution | undefined;
|
|
557
723
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
724
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
725
|
+
getRegionSize(regionId: WorkbenchRegion): WorkbenchRegionSize | undefined;
|
|
726
|
+
getRegionCollapsible(regionId: WorkbenchRegion): boolean;
|
|
727
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
|
|
728
|
+
setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
|
|
729
|
+
setRegionSize(regionId: WorkbenchRegion, size: number): void;
|
|
563
730
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
564
731
|
listWidgets(): RegisteredWidgetContribution[];
|
|
732
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
733
|
+
listPanelInstances(region?: WorkbenchRegion): WorkbenchPanelInstance[];
|
|
734
|
+
getActivePanel(region?: WorkbenchRegion): WorkbenchPanelInstance | undefined;
|
|
565
735
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
736
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
737
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
738
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
739
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
740
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
566
741
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
742
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
743
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
567
744
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
745
|
+
setRegionActiveWidget(regionId: WorkbenchRegion, widgetId: string | undefined): void;
|
|
568
746
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
569
747
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
570
|
-
|
|
571
|
-
|
|
748
|
+
clearRegion(regionId: WorkbenchRegion): void;
|
|
749
|
+
resetRegions(): void;
|
|
572
750
|
getLayout(): WorkbenchLayout;
|
|
573
751
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
574
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
752
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
753
|
+
carryRegionState?: readonly WorkbenchRegion[];
|
|
754
|
+
}): void;
|
|
575
755
|
getPersistenceScope(): LayoutScope | undefined;
|
|
756
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
757
|
+
dispose(): void;
|
|
758
|
+
};
|
|
576
759
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
577
760
|
dispose(): void;
|
|
578
761
|
};
|
|
@@ -584,6 +767,7 @@ declare const MANUAL_ORDERING = "manual";
|
|
|
584
767
|
|
|
585
768
|
declare interface MenuItem {
|
|
586
769
|
commandId: string;
|
|
770
|
+
sourceCommandId?: string;
|
|
587
771
|
label?: string;
|
|
588
772
|
description?: string;
|
|
589
773
|
icon?: string;
|
|
@@ -648,7 +832,13 @@ declare interface NavigationTargetCompound {
|
|
|
648
832
|
targets: readonly NavigationTargetItem[];
|
|
649
833
|
}
|
|
650
834
|
|
|
651
|
-
declare type NavigationTargetItem = NavigationTargetResource |
|
|
835
|
+
declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
836
|
+
|
|
837
|
+
declare interface NavigationTargetPanel {
|
|
838
|
+
kind: "panel";
|
|
839
|
+
panelId: string;
|
|
840
|
+
input?: OpenWorkbenchPanelInput;
|
|
841
|
+
}
|
|
652
842
|
|
|
653
843
|
declare interface NavigationTargetResource {
|
|
654
844
|
kind: "resource";
|
|
@@ -656,12 +846,6 @@ declare interface NavigationTargetResource {
|
|
|
656
846
|
input?: OpenResourceInput;
|
|
657
847
|
}
|
|
658
848
|
|
|
659
|
-
declare interface NavigationTargetView {
|
|
660
|
-
kind: "view";
|
|
661
|
-
widgetId: string;
|
|
662
|
-
input?: OpenWidgetInput;
|
|
663
|
-
}
|
|
664
|
-
|
|
665
849
|
declare const NO_GROUPING = "none";
|
|
666
850
|
|
|
667
851
|
declare interface NotificationRegistry {
|
|
@@ -680,23 +864,38 @@ declare interface OpenResourceInput {
|
|
|
680
864
|
declare interface OpenWidgetInput {
|
|
681
865
|
resource?: ResourceRef;
|
|
682
866
|
title?: string;
|
|
683
|
-
|
|
867
|
+
region?: WorkbenchRegion;
|
|
684
868
|
ownerId?: string;
|
|
685
869
|
source?: ContributionSource;
|
|
686
870
|
pinned?: boolean;
|
|
687
871
|
closable?: boolean;
|
|
688
872
|
mountStrategy?: WidgetMountStrategy;
|
|
689
873
|
hiddenByDefault?: boolean;
|
|
874
|
+
tabRetention?: WorkbenchTabRetention;
|
|
875
|
+
tabPosition?: WorkbenchTabPosition;
|
|
876
|
+
tab?: WorkbenchWidgetTab;
|
|
690
877
|
replaceActive?: boolean;
|
|
878
|
+
replaceWidgetId?: string;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
declare interface OpenWorkbenchPanelInput {
|
|
882
|
+
resource?: ResourceRef;
|
|
883
|
+
title?: string;
|
|
884
|
+
region?: WorkbenchRegion;
|
|
885
|
+
pinned?: boolean;
|
|
886
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
887
|
+
hiddenByDefault?: boolean;
|
|
888
|
+
tab?: WorkbenchPanelTab;
|
|
889
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
691
890
|
}
|
|
692
891
|
|
|
693
892
|
declare interface PlaceholderContribution {
|
|
694
893
|
id: string;
|
|
695
894
|
title: string;
|
|
696
|
-
|
|
895
|
+
region: WorkbenchRegion;
|
|
697
896
|
rendererId: string;
|
|
698
|
-
|
|
699
|
-
|
|
897
|
+
regionSize?: WorkbenchRegionSize;
|
|
898
|
+
regionCollapsible?: boolean;
|
|
700
899
|
config?: unknown;
|
|
701
900
|
priority?: number;
|
|
702
901
|
}
|
|
@@ -734,7 +933,7 @@ declare interface PreferenceScopeRef {
|
|
|
734
933
|
|
|
735
934
|
declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
736
935
|
|
|
737
|
-
export declare const primaryPlacements: (workbench: WorkbenchCore) =>
|
|
936
|
+
export declare const primaryPlacements: (workbench: WorkbenchCore) => WorkbenchPanelInstance_2[];
|
|
738
937
|
|
|
739
938
|
declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
740
939
|
command: Command;
|
|
@@ -750,12 +949,15 @@ declare interface RegisteredContributionMetadata {
|
|
|
750
949
|
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
751
950
|
}
|
|
752
951
|
|
|
753
|
-
declare interface
|
|
952
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
754
953
|
}
|
|
755
954
|
|
|
756
955
|
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
757
956
|
}
|
|
758
957
|
|
|
958
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
959
|
+
}
|
|
960
|
+
|
|
759
961
|
declare interface RegisteredKeepAliveHost {
|
|
760
962
|
rendererId: string;
|
|
761
963
|
host: HTMLElement;
|
|
@@ -791,8 +993,10 @@ declare interface RegisteredTreeRendererContribution extends TreeRendererContrib
|
|
|
791
993
|
}
|
|
792
994
|
|
|
793
995
|
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
996
|
+
ownedPanelMenuIds?: readonly string[];
|
|
794
997
|
singleton: boolean;
|
|
795
998
|
reuse: WidgetReusePolicy;
|
|
999
|
+
role: WorkbenchWidgetRole;
|
|
796
1000
|
} & RegisteredContributionMetadata;
|
|
797
1001
|
|
|
798
1002
|
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
@@ -806,7 +1010,9 @@ declare interface RegisteredWorkbenchNotification extends RegisteredContribution
|
|
|
806
1010
|
metadata?: Record<string, unknown>;
|
|
807
1011
|
}
|
|
808
1012
|
|
|
809
|
-
declare type
|
|
1013
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1014
|
+
|
|
1015
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
810
1016
|
|
|
811
1017
|
declare interface ResourceBrowseEntry {
|
|
812
1018
|
resource: ResourceRef;
|
|
@@ -828,6 +1034,13 @@ declare interface ResourceContextAction {
|
|
|
828
1034
|
separatorBefore?: boolean;
|
|
829
1035
|
}
|
|
830
1036
|
|
|
1037
|
+
declare interface ResourceHierarchyProvider {
|
|
1038
|
+
id: string;
|
|
1039
|
+
priority?: number;
|
|
1040
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1041
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
831
1044
|
declare interface ResourceKindContribution {
|
|
832
1045
|
kind: string;
|
|
833
1046
|
label: string;
|
|
@@ -848,11 +1061,11 @@ declare interface ResourceNavigator<TResult = unknown> {
|
|
|
848
1061
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
849
1062
|
}
|
|
850
1063
|
|
|
851
|
-
declare interface
|
|
1064
|
+
declare interface ResourcePresenter {
|
|
852
1065
|
id: string;
|
|
853
1066
|
priority?: number;
|
|
854
1067
|
canOpen(resource: ResourceRef): boolean;
|
|
855
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1068
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
856
1069
|
}
|
|
857
1070
|
|
|
858
1071
|
declare interface ResourceProvider {
|
|
@@ -885,19 +1098,24 @@ declare interface ResourceRegistry {
|
|
|
885
1098
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
886
1099
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
887
1100
|
listKinds(): RegisteredResourceKind[];
|
|
888
|
-
|
|
889
|
-
|
|
1101
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1102
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
890
1103
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
891
1104
|
listProviders(): ResourceProvider[];
|
|
892
1105
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
893
|
-
|
|
1106
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1107
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1108
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1109
|
+
isOpeningResource(): boolean;
|
|
1110
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
894
1111
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
895
1112
|
}
|
|
896
1113
|
|
|
897
1114
|
declare interface ResourceRegistryStoreState {
|
|
898
1115
|
kinds: Record<string, RegisteredResourceKind>;
|
|
899
|
-
|
|
1116
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
900
1117
|
providers: Record<string, ResourceProvider>;
|
|
1118
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
901
1119
|
}
|
|
902
1120
|
|
|
903
1121
|
export declare interface ResourceRouteContract {
|
|
@@ -906,6 +1124,7 @@ export declare interface ResourceRouteContract {
|
|
|
906
1124
|
root: ResourceRef;
|
|
907
1125
|
detail: ResourceRef;
|
|
908
1126
|
detailB?: ResourceRef;
|
|
1127
|
+
rootDetailHistory: "retained" | "replaced";
|
|
909
1128
|
expectedMode?: string;
|
|
910
1129
|
}
|
|
911
1130
|
|
|
@@ -982,7 +1201,7 @@ declare interface SettingsRegistryStoreState {
|
|
|
982
1201
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
983
1202
|
declare type SettingsScope = "global" | "project";
|
|
984
1203
|
|
|
985
|
-
/** An ordered
|
|
1204
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
986
1205
|
declare interface SettingsSectionContribution {
|
|
987
1206
|
id: string;
|
|
988
1207
|
title?: string;
|
|
@@ -1064,6 +1283,8 @@ declare interface TreeNode {
|
|
|
1064
1283
|
hiddenByDefault?: boolean;
|
|
1065
1284
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1066
1285
|
canHide?: boolean;
|
|
1286
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1287
|
+
canReorder?: boolean;
|
|
1067
1288
|
}
|
|
1068
1289
|
|
|
1069
1290
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1081,7 +1302,7 @@ declare interface TreeRendererContribution {
|
|
|
1081
1302
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1082
1303
|
}
|
|
1083
1304
|
|
|
1084
|
-
declare type TreeRendererImplementation = (input:
|
|
1305
|
+
declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1085
1306
|
treeId: string;
|
|
1086
1307
|
}) => unknown;
|
|
1087
1308
|
|
|
@@ -1139,13 +1360,15 @@ declare interface TreeViewSection {
|
|
|
1139
1360
|
hiddenByDefault?: boolean;
|
|
1140
1361
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1141
1362
|
canHide?: boolean;
|
|
1363
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1364
|
+
canReorder?: boolean;
|
|
1142
1365
|
}
|
|
1143
1366
|
|
|
1144
|
-
export declare const unpinnedPrimaryPlacements: (workbench: WorkbenchCore) =>
|
|
1367
|
+
export declare const unpinnedPrimaryPlacements: (workbench: WorkbenchCore) => WorkbenchPanelInstance_2[];
|
|
1145
1368
|
|
|
1146
1369
|
/**
|
|
1147
|
-
* Core-owned contracts for
|
|
1148
|
-
*
|
|
1370
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1371
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1149
1372
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1150
1373
|
* API shape to UI package ownership.
|
|
1151
1374
|
*/
|
|
@@ -1154,19 +1377,26 @@ declare type ViewMode = "board" | "list";
|
|
|
1154
1377
|
declare interface WidgetContribution {
|
|
1155
1378
|
id: string;
|
|
1156
1379
|
title: string;
|
|
1157
|
-
|
|
1158
|
-
|
|
1380
|
+
icon?: string;
|
|
1381
|
+
region: WorkbenchRegion;
|
|
1382
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1159
1383
|
singleton?: boolean;
|
|
1160
1384
|
reuse?: WidgetReusePolicy;
|
|
1161
1385
|
mountStrategy?: WidgetMountStrategy;
|
|
1162
1386
|
closable?: boolean;
|
|
1163
1387
|
hiddenByDefault?: boolean;
|
|
1164
|
-
|
|
1165
|
-
|
|
1388
|
+
regionSize?: WorkbenchRegionSize;
|
|
1389
|
+
regionCollapsible?: boolean;
|
|
1166
1390
|
headerBorderBottom?: boolean;
|
|
1391
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1167
1392
|
resourceKinds?: string[];
|
|
1168
1393
|
priority?: number;
|
|
1169
1394
|
rendererId: string;
|
|
1395
|
+
openCommandId?: string;
|
|
1396
|
+
role?: WorkbenchWidgetRole;
|
|
1397
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1398
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1399
|
+
tab?: WorkbenchWidgetTab;
|
|
1170
1400
|
config?: unknown;
|
|
1171
1401
|
canOpen?(resource: ResourceRef): boolean;
|
|
1172
1402
|
}
|
|
@@ -1177,24 +1407,6 @@ declare type WidgetMountStrategy_2 = "active" | "keep-mounted";
|
|
|
1177
1407
|
|
|
1178
1408
|
declare type WidgetReusePolicy = "resource" | "none";
|
|
1179
1409
|
|
|
1180
|
-
declare type WorkbenchArea = (typeof workbenchAreas)[number];
|
|
1181
|
-
|
|
1182
|
-
declare const workbenchAreas: readonly ["nav", "activity", "left-header", "left", "main-header", "main-left", "main", "main-right", "secondary-header", "secondary", "status", "overlay", "floating-header", "floating"];
|
|
1183
|
-
|
|
1184
|
-
declare interface WorkbenchAreaSize {
|
|
1185
|
-
defaultPx?: number;
|
|
1186
|
-
minPx?: number;
|
|
1187
|
-
maxPx?: number;
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
declare interface WorkbenchAreaState {
|
|
1191
|
-
id: WorkbenchArea;
|
|
1192
|
-
visible: boolean;
|
|
1193
|
-
size?: number;
|
|
1194
|
-
widgets: WorkbenchWidgetPlacement[];
|
|
1195
|
-
activeWidgetId?: string;
|
|
1196
|
-
}
|
|
1197
|
-
|
|
1198
1410
|
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1199
1411
|
|
|
1200
1412
|
declare interface WorkbenchBreadcrumbController {
|
|
@@ -1208,6 +1420,7 @@ declare interface WorkbenchBreadcrumbController {
|
|
|
1208
1420
|
declare interface WorkbenchBreadcrumbItem {
|
|
1209
1421
|
title: unknown;
|
|
1210
1422
|
icon?: string;
|
|
1423
|
+
indicator?: "session-status";
|
|
1211
1424
|
url?: string;
|
|
1212
1425
|
onClick?: () => void;
|
|
1213
1426
|
resource?: ResourceRef;
|
|
@@ -1217,8 +1430,16 @@ declare interface WorkbenchBreadcrumbState {
|
|
|
1217
1430
|
items: WorkbenchBreadcrumbItem[] | undefined;
|
|
1218
1431
|
}
|
|
1219
1432
|
|
|
1433
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1434
|
+
region: WorkbenchPanelRegion;
|
|
1435
|
+
reference: WorkbenchSubPanelRef;
|
|
1436
|
+
resource?: ResourceRef;
|
|
1437
|
+
title?: string;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1220
1440
|
declare interface WorkbenchCommandExecutionContext {
|
|
1221
1441
|
resource?: ResourceRef;
|
|
1442
|
+
source?: "panel-add";
|
|
1222
1443
|
}
|
|
1223
1444
|
|
|
1224
1445
|
declare interface WorkbenchCommandExecutionError {
|
|
@@ -1273,6 +1494,7 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1273
1494
|
}
|
|
1274
1495
|
|
|
1275
1496
|
declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1497
|
+
host: WorkbenchHost;
|
|
1276
1498
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1277
1499
|
unregisterModule(moduleId: string): void;
|
|
1278
1500
|
}
|
|
@@ -1296,7 +1518,8 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1296
1518
|
renderers: WorkbenchRenderers;
|
|
1297
1519
|
resources: ResourceRegistry;
|
|
1298
1520
|
settings: SettingsRegistry;
|
|
1299
|
-
|
|
1521
|
+
shell: WorkbenchShellController;
|
|
1522
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1300
1523
|
terminal: WorkbenchTerminalController;
|
|
1301
1524
|
themes: ThemeRegistry;
|
|
1302
1525
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1310,22 +1533,33 @@ declare interface WorkbenchFileIconThemeStoreState {
|
|
|
1310
1533
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1311
1534
|
}
|
|
1312
1535
|
|
|
1313
|
-
declare type
|
|
1314
|
-
|
|
1315
|
-
declare const workbenchFocusAreas: readonly ["activityBar", "sideBar", "main", "panel", "statusBar"];
|
|
1536
|
+
declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1316
1537
|
|
|
1317
|
-
declare type WorkbenchFocusChangeListener = (
|
|
1538
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1318
1539
|
|
|
1319
1540
|
declare interface WorkbenchFocusController {
|
|
1320
1541
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1321
|
-
|
|
1542
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1322
1543
|
clearFocus(): void;
|
|
1323
|
-
|
|
1544
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1324
1545
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1325
1546
|
}
|
|
1326
1547
|
|
|
1548
|
+
declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1549
|
+
|
|
1550
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1551
|
+
|
|
1327
1552
|
declare interface WorkbenchFocusState {
|
|
1328
|
-
|
|
1553
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
declare interface WorkbenchHost {
|
|
1557
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1558
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1559
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1560
|
+
carryRegions?: readonly WorkbenchRegion[];
|
|
1561
|
+
}): void;
|
|
1562
|
+
getPersistenceScope(): string | undefined;
|
|
1329
1563
|
}
|
|
1330
1564
|
|
|
1331
1565
|
declare interface WorkbenchLastResourceController {
|
|
@@ -1335,8 +1569,10 @@ declare interface WorkbenchLastResourceController {
|
|
|
1335
1569
|
}
|
|
1336
1570
|
|
|
1337
1571
|
declare interface WorkbenchLayout {
|
|
1338
|
-
|
|
1572
|
+
regions: Record<WorkbenchRegion, WorkbenchRegionState>;
|
|
1573
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1339
1574
|
activeWidgetId?: string;
|
|
1575
|
+
activeLocationWidgetId?: string;
|
|
1340
1576
|
activeResourceUri?: string;
|
|
1341
1577
|
}
|
|
1342
1578
|
|
|
@@ -1345,7 +1581,25 @@ declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
|
1345
1581
|
declare interface WorkbenchLayoutStoreState {
|
|
1346
1582
|
layout: WorkbenchLayout;
|
|
1347
1583
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1348
|
-
placeholders: Partial<Record<
|
|
1584
|
+
placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1588
|
+
|
|
1589
|
+
declare interface WorkbenchLocationEligibility {
|
|
1590
|
+
modeIds?: string[];
|
|
1591
|
+
resourceKinds?: string[];
|
|
1592
|
+
resourceIds?: string[];
|
|
1593
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
declare interface WorkbenchLocationRef {
|
|
1597
|
+
key: string;
|
|
1598
|
+
modeId?: string;
|
|
1599
|
+
resource?: ResourceRef;
|
|
1600
|
+
contributionId?: string;
|
|
1601
|
+
instanceKey?: string;
|
|
1602
|
+
title?: string;
|
|
1349
1603
|
}
|
|
1350
1604
|
|
|
1351
1605
|
declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
@@ -1357,16 +1611,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1357
1611
|
declare interface WorkbenchModeContribution {
|
|
1358
1612
|
id: string;
|
|
1359
1613
|
label?: string;
|
|
1614
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1360
1615
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1616
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1617
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1361
1618
|
}
|
|
1362
1619
|
|
|
1363
1620
|
declare interface WorkbenchModeRegistry {
|
|
1364
1621
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1622
|
+
dispose(): void;
|
|
1365
1623
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1366
1624
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1367
1625
|
listModes(): WorkbenchModeContribution[];
|
|
1368
1626
|
getActiveModeId(): string | undefined;
|
|
1369
|
-
|
|
1627
|
+
isTransitioning(): boolean;
|
|
1628
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1629
|
+
deferSeed?: boolean;
|
|
1630
|
+
}): void;
|
|
1631
|
+
seedActiveMode(): void;
|
|
1370
1632
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1371
1633
|
}
|
|
1372
1634
|
|
|
@@ -1377,6 +1639,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1377
1639
|
|
|
1378
1640
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1379
1641
|
|
|
1642
|
+
declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1643
|
+
|
|
1380
1644
|
declare interface WorkbenchModuleContribution {
|
|
1381
1645
|
id: string;
|
|
1382
1646
|
source?: ContributionSource;
|
|
@@ -1384,7 +1648,21 @@ declare interface WorkbenchModuleContribution {
|
|
|
1384
1648
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1385
1649
|
}
|
|
1386
1650
|
|
|
1387
|
-
declare type WorkbenchModuleContributionContext =
|
|
1651
|
+
declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1652
|
+
|
|
1653
|
+
declare interface WorkbenchNavigationEntry {
|
|
1654
|
+
entryId: string;
|
|
1655
|
+
recordedAt: number;
|
|
1656
|
+
location: WorkbenchLocationRef;
|
|
1657
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1658
|
+
kind: "resource" | "widget" | "mode";
|
|
1659
|
+
modeId?: string;
|
|
1660
|
+
resource?: ResourceRef;
|
|
1661
|
+
widgetId?: string;
|
|
1662
|
+
contributionId?: string;
|
|
1663
|
+
title?: string;
|
|
1664
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1665
|
+
}
|
|
1388
1666
|
|
|
1389
1667
|
declare interface WorkbenchNotification {
|
|
1390
1668
|
id?: string;
|
|
@@ -1420,18 +1698,187 @@ declare interface WorkbenchNotificationStoreState {
|
|
|
1420
1698
|
notifications: Record<string, RegisteredWorkbenchNotification>;
|
|
1421
1699
|
}
|
|
1422
1700
|
|
|
1701
|
+
declare interface WorkbenchPanelContribution {
|
|
1702
|
+
id: string;
|
|
1703
|
+
title: string;
|
|
1704
|
+
icon?: string;
|
|
1705
|
+
region: WorkbenchRegion;
|
|
1706
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1707
|
+
rendererId: string;
|
|
1708
|
+
closable: boolean;
|
|
1709
|
+
singleton?: boolean;
|
|
1710
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1711
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1712
|
+
hiddenByDefault?: boolean;
|
|
1713
|
+
regionSize?: WorkbenchRegionSize;
|
|
1714
|
+
regionCollapsible?: boolean;
|
|
1715
|
+
headerBorderBottom?: boolean;
|
|
1716
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1717
|
+
resourceKinds?: string[];
|
|
1718
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1719
|
+
priority?: number;
|
|
1720
|
+
openCommandId?: string;
|
|
1721
|
+
tab?: WorkbenchPanelTab;
|
|
1722
|
+
config?: unknown;
|
|
1723
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1724
|
+
ownerId?: string;
|
|
1725
|
+
source?: ContributionSource;
|
|
1726
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
declare interface WorkbenchPanelInstance {
|
|
1730
|
+
instanceId: string;
|
|
1731
|
+
panelId: string;
|
|
1732
|
+
ownerId?: string;
|
|
1733
|
+
source?: ContributionSource;
|
|
1734
|
+
resource?: ResourceRef;
|
|
1735
|
+
resourceUri?: string;
|
|
1736
|
+
ownerResourceUri?: string;
|
|
1737
|
+
title?: string;
|
|
1738
|
+
pinned?: boolean;
|
|
1739
|
+
closable: boolean;
|
|
1740
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1741
|
+
hiddenByDefault?: boolean;
|
|
1742
|
+
tabRetention?: WorkbenchTabRetention;
|
|
1743
|
+
tab?: WorkbenchPanelTab;
|
|
1744
|
+
}
|
|
1745
|
+
|
|
1746
|
+
declare interface WorkbenchPanelInstance_2 {
|
|
1747
|
+
instanceId: string;
|
|
1748
|
+
panelId: string;
|
|
1749
|
+
ownerId?: string;
|
|
1750
|
+
source?: ContributionSource_2;
|
|
1751
|
+
resource?: ResourceRef_2;
|
|
1752
|
+
resourceUri?: string;
|
|
1753
|
+
ownerResourceUri?: string;
|
|
1754
|
+
title?: string;
|
|
1755
|
+
pinned?: boolean;
|
|
1756
|
+
closable: boolean;
|
|
1757
|
+
mountStrategy?: WorkbenchPanelMountStrategy_2;
|
|
1758
|
+
hiddenByDefault?: boolean;
|
|
1759
|
+
tabRetention?: WorkbenchTabRetention_2;
|
|
1760
|
+
tab?: WorkbenchPanelTab_2;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
1764
|
+
region: WorkbenchPanelMenuRegion;
|
|
1765
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
1766
|
+
};
|
|
1767
|
+
|
|
1768
|
+
declare interface WorkbenchPanelMenuDefinition {
|
|
1769
|
+
id: string;
|
|
1770
|
+
title: string;
|
|
1771
|
+
icon?: string;
|
|
1772
|
+
side: WorkbenchPanelMenuSide;
|
|
1773
|
+
singleton?: boolean;
|
|
1774
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1775
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1776
|
+
hiddenByDefault?: boolean;
|
|
1777
|
+
regionSize?: WorkbenchRegionSize;
|
|
1778
|
+
regionCollapsible?: boolean;
|
|
1779
|
+
headerBorderBottom?: boolean;
|
|
1780
|
+
rendererId: string;
|
|
1781
|
+
priority?: number;
|
|
1782
|
+
config?: unknown;
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
1786
|
+
level: "panel";
|
|
1787
|
+
contributionId?: string;
|
|
1788
|
+
} | {
|
|
1789
|
+
level: "sub-panel";
|
|
1790
|
+
contributionId: string;
|
|
1791
|
+
};
|
|
1792
|
+
|
|
1793
|
+
declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
1794
|
+
|
|
1795
|
+
declare const workbenchPanelMenuRegions: {
|
|
1796
|
+
readonly main: {
|
|
1797
|
+
readonly left: "main-left-menu";
|
|
1798
|
+
readonly right: "main-right-menu";
|
|
1799
|
+
};
|
|
1800
|
+
readonly secondary: {
|
|
1801
|
+
readonly left: "secondary-left-menu";
|
|
1802
|
+
readonly right: "secondary-right-menu";
|
|
1803
|
+
};
|
|
1804
|
+
readonly side: {
|
|
1805
|
+
readonly left: "side-left-menu";
|
|
1806
|
+
readonly right: "side-right-menu";
|
|
1807
|
+
};
|
|
1808
|
+
};
|
|
1809
|
+
|
|
1810
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
1811
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1812
|
+
}
|
|
1813
|
+
|
|
1814
|
+
declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
1815
|
+
|
|
1816
|
+
declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
1817
|
+
|
|
1818
|
+
declare type WorkbenchPanelMountStrategy_2 = WidgetMountStrategy_2;
|
|
1819
|
+
|
|
1820
|
+
declare type WorkbenchPanelOpenStrategy = {
|
|
1821
|
+
kind: "activate-or-open";
|
|
1822
|
+
position?: WorkbenchTabPosition;
|
|
1823
|
+
} | {
|
|
1824
|
+
kind: "replace-active";
|
|
1825
|
+
} | {
|
|
1826
|
+
kind: "replace-panel";
|
|
1827
|
+
instanceId: string;
|
|
1828
|
+
} | {
|
|
1829
|
+
kind: "preview";
|
|
1830
|
+
position?: WorkbenchTabPosition;
|
|
1831
|
+
};
|
|
1832
|
+
|
|
1833
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
1834
|
+
|
|
1835
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
1836
|
+
|
|
1837
|
+
declare interface WorkbenchPanelRenderInput {
|
|
1838
|
+
workbench: WorkbenchCore;
|
|
1839
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
1840
|
+
instance: WorkbenchPanelInstance;
|
|
1841
|
+
refresh: () => void;
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
1845
|
+
|
|
1423
1846
|
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1424
1847
|
|
|
1425
1848
|
declare interface WorkbenchPanelsController {
|
|
1426
1849
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1427
|
-
isOpen(
|
|
1428
|
-
setOpen(
|
|
1429
|
-
toggle(
|
|
1850
|
+
isOpen(regionId: string): boolean;
|
|
1851
|
+
setOpen(regionId: string, open: boolean): void;
|
|
1852
|
+
toggle(regionId: string): void;
|
|
1853
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
1854
|
+
getPersistenceScope(): string | undefined;
|
|
1430
1855
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1431
1856
|
}
|
|
1432
1857
|
|
|
1433
1858
|
declare interface WorkbenchPanelsState {
|
|
1434
|
-
|
|
1859
|
+
openByRegionId: Record<string, boolean>;
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1862
|
+
declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
1863
|
+
|
|
1864
|
+
declare type WorkbenchPanelTab_2 = WorkbenchWidgetTab_2;
|
|
1865
|
+
|
|
1866
|
+
declare type WorkbenchRegion = (typeof workbenchRegions)[number];
|
|
1867
|
+
|
|
1868
|
+
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"];
|
|
1869
|
+
|
|
1870
|
+
declare interface WorkbenchRegionSize {
|
|
1871
|
+
defaultPx?: number;
|
|
1872
|
+
minPx?: number;
|
|
1873
|
+
maxPx?: number;
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
declare interface WorkbenchRegionState {
|
|
1877
|
+
id: WorkbenchRegion;
|
|
1878
|
+
visible: boolean;
|
|
1879
|
+
size?: number;
|
|
1880
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
1881
|
+
activeWidgetId?: string;
|
|
1435
1882
|
}
|
|
1436
1883
|
|
|
1437
1884
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
@@ -1439,7 +1886,7 @@ declare type WorkbenchRendererChangeListener = () => void;
|
|
|
1439
1886
|
declare type WorkbenchRendererRegistration = {
|
|
1440
1887
|
id: string;
|
|
1441
1888
|
keepAlive?: false;
|
|
1442
|
-
render: (input:
|
|
1889
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1443
1890
|
} | {
|
|
1444
1891
|
id: string;
|
|
1445
1892
|
keepAlive: true;
|
|
@@ -1452,32 +1899,54 @@ declare interface WorkbenchRendererRegistry {
|
|
|
1452
1899
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1453
1900
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1454
1901
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1455
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
1902
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1456
1903
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1457
|
-
getClaim(rendererId: string):
|
|
1904
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1458
1905
|
}
|
|
1459
1906
|
|
|
1460
|
-
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry &
|
|
1907
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1461
1908
|
|
|
1462
1909
|
declare interface WorkbenchRendererStoreState {
|
|
1463
1910
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1464
1911
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1465
|
-
claims: Record<string,
|
|
1912
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
1466
1913
|
}
|
|
1467
1914
|
|
|
1468
|
-
declare
|
|
1915
|
+
declare interface WorkbenchShellController {
|
|
1916
|
+
getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
|
|
1917
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
1918
|
+
setRegionSize(region: WorkbenchRegion, size: number): void;
|
|
1919
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
1920
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
1921
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1469
1925
|
|
|
1470
|
-
declare interface
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
setMode(mode: WorkbenchSessionPanelMode): void;
|
|
1474
|
-
onDidChange(listener: WorkbenchSessionPanelChangeListener): Disposable_2;
|
|
1926
|
+
declare interface WorkbenchShellRegionState {
|
|
1927
|
+
open: boolean;
|
|
1928
|
+
size?: number;
|
|
1475
1929
|
}
|
|
1476
1930
|
|
|
1477
|
-
declare type
|
|
1931
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
1932
|
+
|
|
1933
|
+
declare interface WorkbenchSidePanelController {
|
|
1934
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
1935
|
+
getMode(): WorkbenchSidePanelMode;
|
|
1936
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
1937
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
1938
|
+
}
|
|
1478
1939
|
|
|
1479
|
-
declare
|
|
1480
|
-
|
|
1940
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
1941
|
+
|
|
1942
|
+
declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
1943
|
+
|
|
1944
|
+
declare interface WorkbenchSidePanelState {
|
|
1945
|
+
mode: WorkbenchSidePanelMode;
|
|
1946
|
+
}
|
|
1947
|
+
|
|
1948
|
+
declare interface WorkbenchSnapshot {
|
|
1949
|
+
layout: WorkbenchLayout;
|
|
1481
1950
|
}
|
|
1482
1951
|
|
|
1483
1952
|
declare interface WorkbenchStore<TState> {
|
|
@@ -1496,6 +1965,27 @@ declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
|
1496
1965
|
|
|
1497
1966
|
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
1498
1967
|
|
|
1968
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
1969
|
+
region: WorkbenchPanelRegion;
|
|
1970
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
1971
|
+
} & WorkbenchPanelMenusContribution;
|
|
1972
|
+
|
|
1973
|
+
declare interface WorkbenchSubPanelRef {
|
|
1974
|
+
contributionId: string;
|
|
1975
|
+
resourceUri?: string;
|
|
1976
|
+
instanceKey?: string;
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
declare type WorkbenchTabPosition = "start" | "end" | {
|
|
1980
|
+
beforeWidgetId: string;
|
|
1981
|
+
} | {
|
|
1982
|
+
afterWidgetId: string;
|
|
1983
|
+
};
|
|
1984
|
+
|
|
1985
|
+
declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
1986
|
+
|
|
1987
|
+
declare type WorkbenchTabRetention_2 = "preview" | "persistent";
|
|
1988
|
+
|
|
1499
1989
|
declare interface WorkbenchTerminalController {
|
|
1500
1990
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
1501
1991
|
/** True once the host injected a session opener. */
|
|
@@ -1589,32 +2079,29 @@ declare interface WorkbenchWidgetPlacement {
|
|
|
1589
2079
|
source?: ContributionSource;
|
|
1590
2080
|
resource?: ResourceRef;
|
|
1591
2081
|
resourceUri?: string;
|
|
2082
|
+
ownerResourceUri?: string;
|
|
1592
2083
|
title?: string;
|
|
1593
2084
|
pinned?: boolean;
|
|
1594
2085
|
closable?: boolean;
|
|
1595
2086
|
mountStrategy?: WidgetMountStrategy;
|
|
1596
2087
|
hiddenByDefault?: boolean;
|
|
2088
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2089
|
+
tab?: WorkbenchWidgetTab;
|
|
2090
|
+
role?: WorkbenchWidgetRole;
|
|
1597
2091
|
}
|
|
1598
2092
|
|
|
1599
|
-
declare
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
resourceUri?: string;
|
|
1606
|
-
title?: string;
|
|
1607
|
-
pinned?: boolean;
|
|
1608
|
-
closable?: boolean;
|
|
1609
|
-
mountStrategy?: WidgetMountStrategy_2;
|
|
1610
|
-
hiddenByDefault?: boolean;
|
|
2093
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2094
|
+
|
|
2095
|
+
declare interface WorkbenchWidgetTab {
|
|
2096
|
+
contentRendererId?: string;
|
|
2097
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2098
|
+
customMenuRendererId?: string;
|
|
1611
2099
|
}
|
|
1612
2100
|
|
|
1613
|
-
declare interface
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
refresh: () => void;
|
|
2101
|
+
declare interface WorkbenchWidgetTab_2 {
|
|
2102
|
+
contentRendererId?: string;
|
|
2103
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2104
|
+
customMenuRendererId?: string;
|
|
1618
2105
|
}
|
|
1619
2106
|
|
|
1620
2107
|
export { }
|