@pstdio/workbench 0.2.1 → 0.4.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 +749 -256
- package/dist/extensions.js +900 -694
- package/dist/extensions.js.map +1 -1
- package/dist/file-renderer-view-DrrhYnb_.js.map +1 -1
- package/dist/index.d.ts +756 -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 +745 -231
- package/dist/react.js +3494 -2493
- 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 +695 -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,123 @@ 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
|
+
}
|
|
294
|
+
|
|
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;
|
|
293
303
|
}
|
|
294
304
|
|
|
295
|
-
declare
|
|
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
|
-
|
|
304
|
-
|
|
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
|
+
selectionMode?: "none" | "multiple";
|
|
337
|
+
selectionActions?: DataTableRendererSelectionAction[];
|
|
338
|
+
rowActions?: DataTableRendererRowAction[];
|
|
339
|
+
initialPageSize?: number;
|
|
340
|
+
pageSizeOptions?: number[];
|
|
312
341
|
emptyTitle?: string;
|
|
313
342
|
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[];
|
|
343
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
323
344
|
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;
|
|
345
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
338
346
|
}
|
|
339
347
|
|
|
340
|
-
declare type
|
|
341
|
-
|
|
342
|
-
declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
343
|
-
dataRendererId: string;
|
|
348
|
+
declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
349
|
+
dataTableRendererId: string;
|
|
344
350
|
}) => unknown;
|
|
345
351
|
|
|
346
|
-
declare interface
|
|
347
|
-
|
|
348
|
-
|
|
352
|
+
declare interface DataTableRendererQueryContext {
|
|
353
|
+
resource?: ResourceRef;
|
|
354
|
+
modeId?: string;
|
|
349
355
|
}
|
|
350
356
|
|
|
351
|
-
declare interface
|
|
352
|
-
|
|
353
|
-
|
|
357
|
+
declare interface DataTableRendererQueryResult {
|
|
358
|
+
rows: DataTableRendererRow[];
|
|
359
|
+
columns?: DataTableRendererColumn[];
|
|
354
360
|
}
|
|
355
361
|
|
|
356
|
-
declare interface
|
|
357
|
-
|
|
362
|
+
declare interface DataTableRendererRefreshEvent {
|
|
363
|
+
dataTableRendererId: string;
|
|
358
364
|
}
|
|
359
365
|
|
|
360
|
-
declare
|
|
366
|
+
declare interface DataTableRendererRegistry {
|
|
367
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
368
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
369
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
370
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
371
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
372
|
+
refreshDataTableRenderer(id: string): void;
|
|
373
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
374
|
+
}
|
|
361
375
|
|
|
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;
|
|
376
|
+
declare interface DataTableRendererRow {
|
|
377
|
+
id: string;
|
|
378
|
+
values: Record<string, unknown>;
|
|
379
|
+
resource?: ResourceRef;
|
|
370
380
|
}
|
|
371
381
|
|
|
372
|
-
declare interface
|
|
382
|
+
declare interface DataTableRendererRowAction {
|
|
373
383
|
id: string;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
* resource via the workbench).
|
|
379
|
-
*/
|
|
380
|
-
resource?: unknown;
|
|
381
|
-
attributes: Record<string, unknown>;
|
|
384
|
+
label: string;
|
|
385
|
+
icon?: unknown;
|
|
386
|
+
destructive?: boolean;
|
|
387
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
382
388
|
}
|
|
383
389
|
|
|
384
|
-
declare interface
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
+
declare interface DataTableRendererSelectionAction {
|
|
391
|
+
id: string;
|
|
392
|
+
label: string;
|
|
393
|
+
icon?: unknown;
|
|
394
|
+
destructive?: boolean;
|
|
395
|
+
run(rows: DataTableRendererRow[]): Promise<void> | void;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
declare interface DataTableRendererStoreState {
|
|
399
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
390
400
|
}
|
|
391
401
|
|
|
392
|
-
declare interface
|
|
393
|
-
|
|
402
|
+
declare interface DataTableRendererThemeColor {
|
|
403
|
+
light: string;
|
|
404
|
+
dark: string;
|
|
405
|
+
foreground?: {
|
|
406
|
+
light: string;
|
|
407
|
+
dark: string;
|
|
408
|
+
};
|
|
394
409
|
}
|
|
395
410
|
|
|
396
411
|
export declare const describeResourceRouteContract: (contract: ResourceRouteContract) => void;
|
|
@@ -470,7 +485,7 @@ declare interface FileRendererContribution {
|
|
|
470
485
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
471
486
|
}
|
|
472
487
|
|
|
473
|
-
declare type FileRendererImplementation = (input:
|
|
488
|
+
declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
474
489
|
fileRendererId: string;
|
|
475
490
|
}) => unknown;
|
|
476
491
|
|
|
@@ -501,24 +516,173 @@ declare interface HistoryController {
|
|
|
501
516
|
goPrevious(): HistoryEntry | undefined;
|
|
502
517
|
recentlyClosed(): readonly HistoryEntry[];
|
|
503
518
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
519
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
520
|
+
getPersistenceScope(): string | undefined;
|
|
521
|
+
restore(): HistoryEntry | undefined;
|
|
522
|
+
flush(): void;
|
|
504
523
|
clear(): void;
|
|
505
524
|
}
|
|
506
525
|
|
|
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
|
-
}
|
|
526
|
+
declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
517
527
|
|
|
518
528
|
declare interface HistoryStoreState {
|
|
519
|
-
entries: readonly
|
|
529
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
520
530
|
cursor: number;
|
|
521
|
-
recentlyClosed: readonly
|
|
531
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
532
|
+
hydrating: boolean;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
536
|
+
id: string;
|
|
537
|
+
title: string;
|
|
538
|
+
resourceKind?: string;
|
|
539
|
+
/**
|
|
540
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
541
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
542
|
+
*
|
|
543
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
544
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
545
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
546
|
+
* propagate live without re-registering the renderer.
|
|
547
|
+
*/
|
|
548
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
549
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
550
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
551
|
+
hideToolbar?: boolean;
|
|
552
|
+
emptyTitle?: string;
|
|
553
|
+
emptyDescription?: string;
|
|
554
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
555
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
556
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
557
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
558
|
+
defaultActiveViewId?: string;
|
|
559
|
+
/**
|
|
560
|
+
* Data source. Receives the current display state so backends can paginate
|
|
561
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
562
|
+
* so this can return unfiltered rows in simple cases.
|
|
563
|
+
*/
|
|
564
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
565
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
566
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
567
|
+
onRowClick?: (row: TRow) => void;
|
|
568
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
569
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
570
|
+
/**
|
|
571
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
572
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
573
|
+
* column value).
|
|
574
|
+
*/
|
|
575
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
576
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
577
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
578
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
579
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
580
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
declare interface KanbanRendererCreateField {
|
|
584
|
+
id: string;
|
|
585
|
+
label: string;
|
|
586
|
+
description?: string;
|
|
587
|
+
placeholder?: string;
|
|
588
|
+
type: KanbanRendererCreateFieldType;
|
|
589
|
+
required?: boolean;
|
|
590
|
+
defaultValue?: unknown;
|
|
591
|
+
options?: EnumOption[];
|
|
592
|
+
/** `files` fields only. */
|
|
593
|
+
multiple?: boolean;
|
|
594
|
+
accept?: string;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
598
|
+
|
|
599
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
600
|
+
declare interface KanbanRendererCreateLabels {
|
|
601
|
+
cancel: string;
|
|
602
|
+
properties: string;
|
|
603
|
+
submitError: string;
|
|
604
|
+
removeFile: string;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
declare interface KanbanRendererCreateRowConfig {
|
|
608
|
+
title: string;
|
|
609
|
+
submitLabel: string;
|
|
610
|
+
fields: KanbanRendererCreateField[];
|
|
611
|
+
labels: KanbanRendererCreateLabels;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
declare interface KanbanRendererCreateSubmission {
|
|
615
|
+
columnId: string;
|
|
616
|
+
columnAttributeId?: string;
|
|
617
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
618
|
+
values: Record<string, unknown>;
|
|
619
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
620
|
+
attributeValues: Record<string, unknown>;
|
|
621
|
+
files: File[];
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
625
|
+
|
|
626
|
+
declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
627
|
+
kanbanRendererId: string;
|
|
628
|
+
}) => unknown;
|
|
629
|
+
|
|
630
|
+
declare interface KanbanRendererOrdering {
|
|
631
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
632
|
+
direction: SortDirection;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
declare interface KanbanRendererQueryState {
|
|
636
|
+
settings: KanbanRendererSettings;
|
|
637
|
+
filters: KanbanRendererFilterState;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
declare interface KanbanRendererRefreshEvent {
|
|
641
|
+
kanbanRendererId: string;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
645
|
+
|
|
646
|
+
declare interface KanbanRendererRegistry {
|
|
647
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
648
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
649
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
650
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
651
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
652
|
+
refreshKanbanRenderer(id: string): void;
|
|
653
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
declare interface KanbanRendererRow {
|
|
657
|
+
id: string;
|
|
658
|
+
title: string;
|
|
659
|
+
/**
|
|
660
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
661
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
662
|
+
* resource via the workbench).
|
|
663
|
+
*/
|
|
664
|
+
resource?: unknown;
|
|
665
|
+
attributes: Record<string, unknown>;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
declare interface KanbanRendererSavedView {
|
|
669
|
+
id: string;
|
|
670
|
+
title: string;
|
|
671
|
+
settings: KanbanRendererSettings;
|
|
672
|
+
filters: KanbanRendererFilterState;
|
|
673
|
+
isDefault?: boolean;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
declare interface KanbanRendererSettings {
|
|
677
|
+
viewMode: ViewMode;
|
|
678
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
679
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
680
|
+
ordering: KanbanRendererOrdering;
|
|
681
|
+
displayProperties: string[];
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
declare interface KanbanRendererStoreState {
|
|
685
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
522
686
|
}
|
|
523
687
|
|
|
524
688
|
declare interface Keybinding {
|
|
@@ -546,33 +710,62 @@ declare interface LayoutModel {
|
|
|
546
710
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
547
711
|
dispose(): void;
|
|
548
712
|
};
|
|
713
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
714
|
+
dispose(): void;
|
|
715
|
+
};
|
|
549
716
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
550
717
|
dispose(): void;
|
|
551
718
|
};
|
|
719
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
720
|
+
dispose(): void;
|
|
721
|
+
};
|
|
722
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
723
|
+
dispose(): void;
|
|
724
|
+
};
|
|
725
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
726
|
+
dispose(): void;
|
|
727
|
+
};
|
|
552
728
|
unregisterWidget(id: string, options?: {
|
|
553
729
|
removePlacements?: boolean;
|
|
554
730
|
persist?: boolean;
|
|
555
731
|
}): void;
|
|
556
|
-
getPlaceholder(
|
|
732
|
+
getPlaceholder(regionId: WorkbenchRegion): RegisteredPlaceholderContribution | undefined;
|
|
557
733
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
734
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
735
|
+
getRegionSize(regionId: WorkbenchRegion): WorkbenchRegionSize | undefined;
|
|
736
|
+
getRegionCollapsible(regionId: WorkbenchRegion): boolean;
|
|
737
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
|
|
738
|
+
setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
|
|
739
|
+
setRegionSize(regionId: WorkbenchRegion, size: number): void;
|
|
563
740
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
564
741
|
listWidgets(): RegisteredWidgetContribution[];
|
|
742
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
743
|
+
listPanelInstances(region?: WorkbenchRegion): WorkbenchPanelInstance[];
|
|
744
|
+
getActivePanel(region?: WorkbenchRegion): WorkbenchPanelInstance | undefined;
|
|
565
745
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
746
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
747
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
748
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
749
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
750
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
566
751
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
752
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
753
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
567
754
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
755
|
+
setRegionActiveWidget(regionId: WorkbenchRegion, widgetId: string | undefined): void;
|
|
568
756
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
569
757
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
570
|
-
|
|
571
|
-
|
|
758
|
+
clearRegion(regionId: WorkbenchRegion): void;
|
|
759
|
+
resetRegions(): void;
|
|
572
760
|
getLayout(): WorkbenchLayout;
|
|
573
761
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
574
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
762
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
763
|
+
carryRegionState?: readonly WorkbenchRegion[];
|
|
764
|
+
}): void;
|
|
575
765
|
getPersistenceScope(): LayoutScope | undefined;
|
|
766
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
767
|
+
dispose(): void;
|
|
768
|
+
};
|
|
576
769
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
577
770
|
dispose(): void;
|
|
578
771
|
};
|
|
@@ -584,6 +777,7 @@ declare const MANUAL_ORDERING = "manual";
|
|
|
584
777
|
|
|
585
778
|
declare interface MenuItem {
|
|
586
779
|
commandId: string;
|
|
780
|
+
sourceCommandId?: string;
|
|
587
781
|
label?: string;
|
|
588
782
|
description?: string;
|
|
589
783
|
icon?: string;
|
|
@@ -648,7 +842,13 @@ declare interface NavigationTargetCompound {
|
|
|
648
842
|
targets: readonly NavigationTargetItem[];
|
|
649
843
|
}
|
|
650
844
|
|
|
651
|
-
declare type NavigationTargetItem = NavigationTargetResource |
|
|
845
|
+
declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
846
|
+
|
|
847
|
+
declare interface NavigationTargetPanel {
|
|
848
|
+
kind: "panel";
|
|
849
|
+
panelId: string;
|
|
850
|
+
input?: OpenWorkbenchPanelInput;
|
|
851
|
+
}
|
|
652
852
|
|
|
653
853
|
declare interface NavigationTargetResource {
|
|
654
854
|
kind: "resource";
|
|
@@ -656,12 +856,6 @@ declare interface NavigationTargetResource {
|
|
|
656
856
|
input?: OpenResourceInput;
|
|
657
857
|
}
|
|
658
858
|
|
|
659
|
-
declare interface NavigationTargetView {
|
|
660
|
-
kind: "view";
|
|
661
|
-
widgetId: string;
|
|
662
|
-
input?: OpenWidgetInput;
|
|
663
|
-
}
|
|
664
|
-
|
|
665
859
|
declare const NO_GROUPING = "none";
|
|
666
860
|
|
|
667
861
|
declare interface NotificationRegistry {
|
|
@@ -680,23 +874,38 @@ declare interface OpenResourceInput {
|
|
|
680
874
|
declare interface OpenWidgetInput {
|
|
681
875
|
resource?: ResourceRef;
|
|
682
876
|
title?: string;
|
|
683
|
-
|
|
877
|
+
region?: WorkbenchRegion;
|
|
684
878
|
ownerId?: string;
|
|
685
879
|
source?: ContributionSource;
|
|
686
880
|
pinned?: boolean;
|
|
687
881
|
closable?: boolean;
|
|
688
882
|
mountStrategy?: WidgetMountStrategy;
|
|
689
883
|
hiddenByDefault?: boolean;
|
|
884
|
+
tabRetention?: WorkbenchTabRetention;
|
|
885
|
+
tabPosition?: WorkbenchTabPosition;
|
|
886
|
+
tab?: WorkbenchWidgetTab;
|
|
690
887
|
replaceActive?: boolean;
|
|
888
|
+
replaceWidgetId?: string;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
declare interface OpenWorkbenchPanelInput {
|
|
892
|
+
resource?: ResourceRef;
|
|
893
|
+
title?: string;
|
|
894
|
+
region?: WorkbenchRegion;
|
|
895
|
+
pinned?: boolean;
|
|
896
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
897
|
+
hiddenByDefault?: boolean;
|
|
898
|
+
tab?: WorkbenchPanelTab;
|
|
899
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
691
900
|
}
|
|
692
901
|
|
|
693
902
|
declare interface PlaceholderContribution {
|
|
694
903
|
id: string;
|
|
695
904
|
title: string;
|
|
696
|
-
|
|
905
|
+
region: WorkbenchRegion;
|
|
697
906
|
rendererId: string;
|
|
698
|
-
|
|
699
|
-
|
|
907
|
+
regionSize?: WorkbenchRegionSize;
|
|
908
|
+
regionCollapsible?: boolean;
|
|
700
909
|
config?: unknown;
|
|
701
910
|
priority?: number;
|
|
702
911
|
}
|
|
@@ -734,7 +943,7 @@ declare interface PreferenceScopeRef {
|
|
|
734
943
|
|
|
735
944
|
declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
736
945
|
|
|
737
|
-
export declare const primaryPlacements: (workbench: WorkbenchCore) =>
|
|
946
|
+
export declare const primaryPlacements: (workbench: WorkbenchCore) => WorkbenchPanelInstance_2[];
|
|
738
947
|
|
|
739
948
|
declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
740
949
|
command: Command;
|
|
@@ -750,12 +959,15 @@ declare interface RegisteredContributionMetadata {
|
|
|
750
959
|
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
751
960
|
}
|
|
752
961
|
|
|
753
|
-
declare interface
|
|
962
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
754
963
|
}
|
|
755
964
|
|
|
756
965
|
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
757
966
|
}
|
|
758
967
|
|
|
968
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
969
|
+
}
|
|
970
|
+
|
|
759
971
|
declare interface RegisteredKeepAliveHost {
|
|
760
972
|
rendererId: string;
|
|
761
973
|
host: HTMLElement;
|
|
@@ -791,8 +1003,10 @@ declare interface RegisteredTreeRendererContribution extends TreeRendererContrib
|
|
|
791
1003
|
}
|
|
792
1004
|
|
|
793
1005
|
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
1006
|
+
ownedPanelMenuIds?: readonly string[];
|
|
794
1007
|
singleton: boolean;
|
|
795
1008
|
reuse: WidgetReusePolicy;
|
|
1009
|
+
role: WorkbenchWidgetRole;
|
|
796
1010
|
} & RegisteredContributionMetadata;
|
|
797
1011
|
|
|
798
1012
|
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
@@ -806,7 +1020,9 @@ declare interface RegisteredWorkbenchNotification extends RegisteredContribution
|
|
|
806
1020
|
metadata?: Record<string, unknown>;
|
|
807
1021
|
}
|
|
808
1022
|
|
|
809
|
-
declare type
|
|
1023
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1024
|
+
|
|
1025
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
810
1026
|
|
|
811
1027
|
declare interface ResourceBrowseEntry {
|
|
812
1028
|
resource: ResourceRef;
|
|
@@ -828,6 +1044,13 @@ declare interface ResourceContextAction {
|
|
|
828
1044
|
separatorBefore?: boolean;
|
|
829
1045
|
}
|
|
830
1046
|
|
|
1047
|
+
declare interface ResourceHierarchyProvider {
|
|
1048
|
+
id: string;
|
|
1049
|
+
priority?: number;
|
|
1050
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1051
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1052
|
+
}
|
|
1053
|
+
|
|
831
1054
|
declare interface ResourceKindContribution {
|
|
832
1055
|
kind: string;
|
|
833
1056
|
label: string;
|
|
@@ -848,11 +1071,11 @@ declare interface ResourceNavigator<TResult = unknown> {
|
|
|
848
1071
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
849
1072
|
}
|
|
850
1073
|
|
|
851
|
-
declare interface
|
|
1074
|
+
declare interface ResourcePresenter {
|
|
852
1075
|
id: string;
|
|
853
1076
|
priority?: number;
|
|
854
1077
|
canOpen(resource: ResourceRef): boolean;
|
|
855
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1078
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
856
1079
|
}
|
|
857
1080
|
|
|
858
1081
|
declare interface ResourceProvider {
|
|
@@ -885,19 +1108,24 @@ declare interface ResourceRegistry {
|
|
|
885
1108
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
886
1109
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
887
1110
|
listKinds(): RegisteredResourceKind[];
|
|
888
|
-
|
|
889
|
-
|
|
1111
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1112
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
890
1113
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
891
1114
|
listProviders(): ResourceProvider[];
|
|
892
1115
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
893
|
-
|
|
1116
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1117
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1118
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1119
|
+
isOpeningResource(): boolean;
|
|
1120
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
894
1121
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
895
1122
|
}
|
|
896
1123
|
|
|
897
1124
|
declare interface ResourceRegistryStoreState {
|
|
898
1125
|
kinds: Record<string, RegisteredResourceKind>;
|
|
899
|
-
|
|
1126
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
900
1127
|
providers: Record<string, ResourceProvider>;
|
|
1128
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
901
1129
|
}
|
|
902
1130
|
|
|
903
1131
|
export declare interface ResourceRouteContract {
|
|
@@ -906,6 +1134,7 @@ export declare interface ResourceRouteContract {
|
|
|
906
1134
|
root: ResourceRef;
|
|
907
1135
|
detail: ResourceRef;
|
|
908
1136
|
detailB?: ResourceRef;
|
|
1137
|
+
rootDetailHistory: "retained" | "replaced";
|
|
909
1138
|
expectedMode?: string;
|
|
910
1139
|
}
|
|
911
1140
|
|
|
@@ -982,7 +1211,7 @@ declare interface SettingsRegistryStoreState {
|
|
|
982
1211
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
983
1212
|
declare type SettingsScope = "global" | "project";
|
|
984
1213
|
|
|
985
|
-
/** An ordered
|
|
1214
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
986
1215
|
declare interface SettingsSectionContribution {
|
|
987
1216
|
id: string;
|
|
988
1217
|
title?: string;
|
|
@@ -1064,6 +1293,8 @@ declare interface TreeNode {
|
|
|
1064
1293
|
hiddenByDefault?: boolean;
|
|
1065
1294
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1066
1295
|
canHide?: boolean;
|
|
1296
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1297
|
+
canReorder?: boolean;
|
|
1067
1298
|
}
|
|
1068
1299
|
|
|
1069
1300
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1081,7 +1312,7 @@ declare interface TreeRendererContribution {
|
|
|
1081
1312
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1082
1313
|
}
|
|
1083
1314
|
|
|
1084
|
-
declare type TreeRendererImplementation = (input:
|
|
1315
|
+
declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1085
1316
|
treeId: string;
|
|
1086
1317
|
}) => unknown;
|
|
1087
1318
|
|
|
@@ -1139,13 +1370,15 @@ declare interface TreeViewSection {
|
|
|
1139
1370
|
hiddenByDefault?: boolean;
|
|
1140
1371
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1141
1372
|
canHide?: boolean;
|
|
1373
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1374
|
+
canReorder?: boolean;
|
|
1142
1375
|
}
|
|
1143
1376
|
|
|
1144
|
-
export declare const unpinnedPrimaryPlacements: (workbench: WorkbenchCore) =>
|
|
1377
|
+
export declare const unpinnedPrimaryPlacements: (workbench: WorkbenchCore) => WorkbenchPanelInstance_2[];
|
|
1145
1378
|
|
|
1146
1379
|
/**
|
|
1147
|
-
* Core-owned contracts for
|
|
1148
|
-
*
|
|
1380
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1381
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1149
1382
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1150
1383
|
* API shape to UI package ownership.
|
|
1151
1384
|
*/
|
|
@@ -1154,19 +1387,26 @@ declare type ViewMode = "board" | "list";
|
|
|
1154
1387
|
declare interface WidgetContribution {
|
|
1155
1388
|
id: string;
|
|
1156
1389
|
title: string;
|
|
1157
|
-
|
|
1158
|
-
|
|
1390
|
+
icon?: string;
|
|
1391
|
+
region: WorkbenchRegion;
|
|
1392
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1159
1393
|
singleton?: boolean;
|
|
1160
1394
|
reuse?: WidgetReusePolicy;
|
|
1161
1395
|
mountStrategy?: WidgetMountStrategy;
|
|
1162
1396
|
closable?: boolean;
|
|
1163
1397
|
hiddenByDefault?: boolean;
|
|
1164
|
-
|
|
1165
|
-
|
|
1398
|
+
regionSize?: WorkbenchRegionSize;
|
|
1399
|
+
regionCollapsible?: boolean;
|
|
1166
1400
|
headerBorderBottom?: boolean;
|
|
1401
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1167
1402
|
resourceKinds?: string[];
|
|
1168
1403
|
priority?: number;
|
|
1169
1404
|
rendererId: string;
|
|
1405
|
+
openCommandId?: string;
|
|
1406
|
+
role?: WorkbenchWidgetRole;
|
|
1407
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1408
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1409
|
+
tab?: WorkbenchWidgetTab;
|
|
1170
1410
|
config?: unknown;
|
|
1171
1411
|
canOpen?(resource: ResourceRef): boolean;
|
|
1172
1412
|
}
|
|
@@ -1177,24 +1417,6 @@ declare type WidgetMountStrategy_2 = "active" | "keep-mounted";
|
|
|
1177
1417
|
|
|
1178
1418
|
declare type WidgetReusePolicy = "resource" | "none";
|
|
1179
1419
|
|
|
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
1420
|
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1199
1421
|
|
|
1200
1422
|
declare interface WorkbenchBreadcrumbController {
|
|
@@ -1208,6 +1430,7 @@ declare interface WorkbenchBreadcrumbController {
|
|
|
1208
1430
|
declare interface WorkbenchBreadcrumbItem {
|
|
1209
1431
|
title: unknown;
|
|
1210
1432
|
icon?: string;
|
|
1433
|
+
indicator?: "session-status";
|
|
1211
1434
|
url?: string;
|
|
1212
1435
|
onClick?: () => void;
|
|
1213
1436
|
resource?: ResourceRef;
|
|
@@ -1217,8 +1440,16 @@ declare interface WorkbenchBreadcrumbState {
|
|
|
1217
1440
|
items: WorkbenchBreadcrumbItem[] | undefined;
|
|
1218
1441
|
}
|
|
1219
1442
|
|
|
1443
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1444
|
+
region: WorkbenchPanelRegion;
|
|
1445
|
+
reference: WorkbenchSubPanelRef;
|
|
1446
|
+
resource?: ResourceRef;
|
|
1447
|
+
title?: string;
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1220
1450
|
declare interface WorkbenchCommandExecutionContext {
|
|
1221
1451
|
resource?: ResourceRef;
|
|
1452
|
+
source?: "panel-add";
|
|
1222
1453
|
}
|
|
1223
1454
|
|
|
1224
1455
|
declare interface WorkbenchCommandExecutionError {
|
|
@@ -1273,6 +1504,7 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1273
1504
|
}
|
|
1274
1505
|
|
|
1275
1506
|
declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1507
|
+
host: WorkbenchHost;
|
|
1276
1508
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1277
1509
|
unregisterModule(moduleId: string): void;
|
|
1278
1510
|
}
|
|
@@ -1296,7 +1528,8 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1296
1528
|
renderers: WorkbenchRenderers;
|
|
1297
1529
|
resources: ResourceRegistry;
|
|
1298
1530
|
settings: SettingsRegistry;
|
|
1299
|
-
|
|
1531
|
+
shell: WorkbenchShellController;
|
|
1532
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1300
1533
|
terminal: WorkbenchTerminalController;
|
|
1301
1534
|
themes: ThemeRegistry;
|
|
1302
1535
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1310,22 +1543,33 @@ declare interface WorkbenchFileIconThemeStoreState {
|
|
|
1310
1543
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1311
1544
|
}
|
|
1312
1545
|
|
|
1313
|
-
declare type
|
|
1314
|
-
|
|
1315
|
-
declare const workbenchFocusAreas: readonly ["activityBar", "sideBar", "main", "panel", "statusBar"];
|
|
1546
|
+
declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1316
1547
|
|
|
1317
|
-
declare type WorkbenchFocusChangeListener = (
|
|
1548
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1318
1549
|
|
|
1319
1550
|
declare interface WorkbenchFocusController {
|
|
1320
1551
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1321
|
-
|
|
1552
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1322
1553
|
clearFocus(): void;
|
|
1323
|
-
|
|
1554
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1324
1555
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1325
1556
|
}
|
|
1326
1557
|
|
|
1558
|
+
declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1559
|
+
|
|
1560
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1561
|
+
|
|
1327
1562
|
declare interface WorkbenchFocusState {
|
|
1328
|
-
|
|
1563
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
declare interface WorkbenchHost {
|
|
1567
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1568
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1569
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1570
|
+
carryRegions?: readonly WorkbenchRegion[];
|
|
1571
|
+
}): void;
|
|
1572
|
+
getPersistenceScope(): string | undefined;
|
|
1329
1573
|
}
|
|
1330
1574
|
|
|
1331
1575
|
declare interface WorkbenchLastResourceController {
|
|
@@ -1335,8 +1579,10 @@ declare interface WorkbenchLastResourceController {
|
|
|
1335
1579
|
}
|
|
1336
1580
|
|
|
1337
1581
|
declare interface WorkbenchLayout {
|
|
1338
|
-
|
|
1582
|
+
regions: Record<WorkbenchRegion, WorkbenchRegionState>;
|
|
1583
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1339
1584
|
activeWidgetId?: string;
|
|
1585
|
+
activeLocationWidgetId?: string;
|
|
1340
1586
|
activeResourceUri?: string;
|
|
1341
1587
|
}
|
|
1342
1588
|
|
|
@@ -1345,7 +1591,25 @@ declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
|
1345
1591
|
declare interface WorkbenchLayoutStoreState {
|
|
1346
1592
|
layout: WorkbenchLayout;
|
|
1347
1593
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1348
|
-
placeholders: Partial<Record<
|
|
1594
|
+
placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
|
|
1595
|
+
}
|
|
1596
|
+
|
|
1597
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1598
|
+
|
|
1599
|
+
declare interface WorkbenchLocationEligibility {
|
|
1600
|
+
modeIds?: string[];
|
|
1601
|
+
resourceKinds?: string[];
|
|
1602
|
+
resourceIds?: string[];
|
|
1603
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
declare interface WorkbenchLocationRef {
|
|
1607
|
+
key: string;
|
|
1608
|
+
modeId?: string;
|
|
1609
|
+
resource?: ResourceRef;
|
|
1610
|
+
contributionId?: string;
|
|
1611
|
+
instanceKey?: string;
|
|
1612
|
+
title?: string;
|
|
1349
1613
|
}
|
|
1350
1614
|
|
|
1351
1615
|
declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
@@ -1357,16 +1621,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1357
1621
|
declare interface WorkbenchModeContribution {
|
|
1358
1622
|
id: string;
|
|
1359
1623
|
label?: string;
|
|
1624
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1360
1625
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1626
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1627
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1361
1628
|
}
|
|
1362
1629
|
|
|
1363
1630
|
declare interface WorkbenchModeRegistry {
|
|
1364
1631
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1632
|
+
dispose(): void;
|
|
1365
1633
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1366
1634
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1367
1635
|
listModes(): WorkbenchModeContribution[];
|
|
1368
1636
|
getActiveModeId(): string | undefined;
|
|
1369
|
-
|
|
1637
|
+
isTransitioning(): boolean;
|
|
1638
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1639
|
+
deferSeed?: boolean;
|
|
1640
|
+
}): void;
|
|
1641
|
+
seedActiveMode(): void;
|
|
1370
1642
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1371
1643
|
}
|
|
1372
1644
|
|
|
@@ -1377,6 +1649,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1377
1649
|
|
|
1378
1650
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1379
1651
|
|
|
1652
|
+
declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1653
|
+
|
|
1380
1654
|
declare interface WorkbenchModuleContribution {
|
|
1381
1655
|
id: string;
|
|
1382
1656
|
source?: ContributionSource;
|
|
@@ -1384,7 +1658,21 @@ declare interface WorkbenchModuleContribution {
|
|
|
1384
1658
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1385
1659
|
}
|
|
1386
1660
|
|
|
1387
|
-
declare type WorkbenchModuleContributionContext =
|
|
1661
|
+
declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1662
|
+
|
|
1663
|
+
declare interface WorkbenchNavigationEntry {
|
|
1664
|
+
entryId: string;
|
|
1665
|
+
recordedAt: number;
|
|
1666
|
+
location: WorkbenchLocationRef;
|
|
1667
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1668
|
+
kind: "resource" | "widget" | "mode";
|
|
1669
|
+
modeId?: string;
|
|
1670
|
+
resource?: ResourceRef;
|
|
1671
|
+
widgetId?: string;
|
|
1672
|
+
contributionId?: string;
|
|
1673
|
+
title?: string;
|
|
1674
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1675
|
+
}
|
|
1388
1676
|
|
|
1389
1677
|
declare interface WorkbenchNotification {
|
|
1390
1678
|
id?: string;
|
|
@@ -1420,18 +1708,187 @@ declare interface WorkbenchNotificationStoreState {
|
|
|
1420
1708
|
notifications: Record<string, RegisteredWorkbenchNotification>;
|
|
1421
1709
|
}
|
|
1422
1710
|
|
|
1711
|
+
declare interface WorkbenchPanelContribution {
|
|
1712
|
+
id: string;
|
|
1713
|
+
title: string;
|
|
1714
|
+
icon?: string;
|
|
1715
|
+
region: WorkbenchRegion;
|
|
1716
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1717
|
+
rendererId: string;
|
|
1718
|
+
closable: boolean;
|
|
1719
|
+
singleton?: boolean;
|
|
1720
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1721
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1722
|
+
hiddenByDefault?: boolean;
|
|
1723
|
+
regionSize?: WorkbenchRegionSize;
|
|
1724
|
+
regionCollapsible?: boolean;
|
|
1725
|
+
headerBorderBottom?: boolean;
|
|
1726
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1727
|
+
resourceKinds?: string[];
|
|
1728
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1729
|
+
priority?: number;
|
|
1730
|
+
openCommandId?: string;
|
|
1731
|
+
tab?: WorkbenchPanelTab;
|
|
1732
|
+
config?: unknown;
|
|
1733
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1734
|
+
ownerId?: string;
|
|
1735
|
+
source?: ContributionSource;
|
|
1736
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1739
|
+
declare interface WorkbenchPanelInstance {
|
|
1740
|
+
instanceId: string;
|
|
1741
|
+
panelId: string;
|
|
1742
|
+
ownerId?: string;
|
|
1743
|
+
source?: ContributionSource;
|
|
1744
|
+
resource?: ResourceRef;
|
|
1745
|
+
resourceUri?: string;
|
|
1746
|
+
ownerResourceUri?: string;
|
|
1747
|
+
title?: string;
|
|
1748
|
+
pinned?: boolean;
|
|
1749
|
+
closable: boolean;
|
|
1750
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1751
|
+
hiddenByDefault?: boolean;
|
|
1752
|
+
tabRetention?: WorkbenchTabRetention;
|
|
1753
|
+
tab?: WorkbenchPanelTab;
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
declare interface WorkbenchPanelInstance_2 {
|
|
1757
|
+
instanceId: string;
|
|
1758
|
+
panelId: string;
|
|
1759
|
+
ownerId?: string;
|
|
1760
|
+
source?: ContributionSource_2;
|
|
1761
|
+
resource?: ResourceRef_2;
|
|
1762
|
+
resourceUri?: string;
|
|
1763
|
+
ownerResourceUri?: string;
|
|
1764
|
+
title?: string;
|
|
1765
|
+
pinned?: boolean;
|
|
1766
|
+
closable: boolean;
|
|
1767
|
+
mountStrategy?: WorkbenchPanelMountStrategy_2;
|
|
1768
|
+
hiddenByDefault?: boolean;
|
|
1769
|
+
tabRetention?: WorkbenchTabRetention_2;
|
|
1770
|
+
tab?: WorkbenchPanelTab_2;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
1774
|
+
region: WorkbenchPanelMenuRegion;
|
|
1775
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
1776
|
+
};
|
|
1777
|
+
|
|
1778
|
+
declare interface WorkbenchPanelMenuDefinition {
|
|
1779
|
+
id: string;
|
|
1780
|
+
title: string;
|
|
1781
|
+
icon?: string;
|
|
1782
|
+
side: WorkbenchPanelMenuSide;
|
|
1783
|
+
singleton?: boolean;
|
|
1784
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1785
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1786
|
+
hiddenByDefault?: boolean;
|
|
1787
|
+
regionSize?: WorkbenchRegionSize;
|
|
1788
|
+
regionCollapsible?: boolean;
|
|
1789
|
+
headerBorderBottom?: boolean;
|
|
1790
|
+
rendererId: string;
|
|
1791
|
+
priority?: number;
|
|
1792
|
+
config?: unknown;
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
1796
|
+
level: "panel";
|
|
1797
|
+
contributionId?: string;
|
|
1798
|
+
} | {
|
|
1799
|
+
level: "sub-panel";
|
|
1800
|
+
contributionId: string;
|
|
1801
|
+
};
|
|
1802
|
+
|
|
1803
|
+
declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
1804
|
+
|
|
1805
|
+
declare const workbenchPanelMenuRegions: {
|
|
1806
|
+
readonly main: {
|
|
1807
|
+
readonly left: "main-left-menu";
|
|
1808
|
+
readonly right: "main-right-menu";
|
|
1809
|
+
};
|
|
1810
|
+
readonly secondary: {
|
|
1811
|
+
readonly left: "secondary-left-menu";
|
|
1812
|
+
readonly right: "secondary-right-menu";
|
|
1813
|
+
};
|
|
1814
|
+
readonly side: {
|
|
1815
|
+
readonly left: "side-left-menu";
|
|
1816
|
+
readonly right: "side-right-menu";
|
|
1817
|
+
};
|
|
1818
|
+
};
|
|
1819
|
+
|
|
1820
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
1821
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
1825
|
+
|
|
1826
|
+
declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
1827
|
+
|
|
1828
|
+
declare type WorkbenchPanelMountStrategy_2 = WidgetMountStrategy_2;
|
|
1829
|
+
|
|
1830
|
+
declare type WorkbenchPanelOpenStrategy = {
|
|
1831
|
+
kind: "activate-or-open";
|
|
1832
|
+
position?: WorkbenchTabPosition;
|
|
1833
|
+
} | {
|
|
1834
|
+
kind: "replace-active";
|
|
1835
|
+
} | {
|
|
1836
|
+
kind: "replace-panel";
|
|
1837
|
+
instanceId: string;
|
|
1838
|
+
} | {
|
|
1839
|
+
kind: "preview";
|
|
1840
|
+
position?: WorkbenchTabPosition;
|
|
1841
|
+
};
|
|
1842
|
+
|
|
1843
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
1844
|
+
|
|
1845
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
1846
|
+
|
|
1847
|
+
declare interface WorkbenchPanelRenderInput {
|
|
1848
|
+
workbench: WorkbenchCore;
|
|
1849
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
1850
|
+
instance: WorkbenchPanelInstance;
|
|
1851
|
+
refresh: () => void;
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1854
|
+
declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
1855
|
+
|
|
1423
1856
|
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1424
1857
|
|
|
1425
1858
|
declare interface WorkbenchPanelsController {
|
|
1426
1859
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1427
|
-
isOpen(
|
|
1428
|
-
setOpen(
|
|
1429
|
-
toggle(
|
|
1860
|
+
isOpen(regionId: string): boolean;
|
|
1861
|
+
setOpen(regionId: string, open: boolean): void;
|
|
1862
|
+
toggle(regionId: string): void;
|
|
1863
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
1864
|
+
getPersistenceScope(): string | undefined;
|
|
1430
1865
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1431
1866
|
}
|
|
1432
1867
|
|
|
1433
1868
|
declare interface WorkbenchPanelsState {
|
|
1434
|
-
|
|
1869
|
+
openByRegionId: Record<string, boolean>;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
1873
|
+
|
|
1874
|
+
declare type WorkbenchPanelTab_2 = WorkbenchWidgetTab_2;
|
|
1875
|
+
|
|
1876
|
+
declare type WorkbenchRegion = (typeof workbenchRegions)[number];
|
|
1877
|
+
|
|
1878
|
+
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"];
|
|
1879
|
+
|
|
1880
|
+
declare interface WorkbenchRegionSize {
|
|
1881
|
+
defaultPx?: number;
|
|
1882
|
+
minPx?: number;
|
|
1883
|
+
maxPx?: number;
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1886
|
+
declare interface WorkbenchRegionState {
|
|
1887
|
+
id: WorkbenchRegion;
|
|
1888
|
+
visible: boolean;
|
|
1889
|
+
size?: number;
|
|
1890
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
1891
|
+
activeWidgetId?: string;
|
|
1435
1892
|
}
|
|
1436
1893
|
|
|
1437
1894
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
@@ -1439,7 +1896,7 @@ declare type WorkbenchRendererChangeListener = () => void;
|
|
|
1439
1896
|
declare type WorkbenchRendererRegistration = {
|
|
1440
1897
|
id: string;
|
|
1441
1898
|
keepAlive?: false;
|
|
1442
|
-
render: (input:
|
|
1899
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1443
1900
|
} | {
|
|
1444
1901
|
id: string;
|
|
1445
1902
|
keepAlive: true;
|
|
@@ -1452,32 +1909,54 @@ declare interface WorkbenchRendererRegistry {
|
|
|
1452
1909
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1453
1910
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1454
1911
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1455
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
1912
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1456
1913
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1457
|
-
getClaim(rendererId: string):
|
|
1914
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1458
1915
|
}
|
|
1459
1916
|
|
|
1460
|
-
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry &
|
|
1917
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1461
1918
|
|
|
1462
1919
|
declare interface WorkbenchRendererStoreState {
|
|
1463
1920
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1464
1921
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1465
|
-
claims: Record<string,
|
|
1922
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
1466
1923
|
}
|
|
1467
1924
|
|
|
1468
|
-
declare
|
|
1925
|
+
declare interface WorkbenchShellController {
|
|
1926
|
+
getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
|
|
1927
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
1928
|
+
setRegionSize(region: WorkbenchRegion, size: number): void;
|
|
1929
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
1930
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
1931
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1469
1935
|
|
|
1470
|
-
declare interface
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
setMode(mode: WorkbenchSessionPanelMode): void;
|
|
1474
|
-
onDidChange(listener: WorkbenchSessionPanelChangeListener): Disposable_2;
|
|
1936
|
+
declare interface WorkbenchShellRegionState {
|
|
1937
|
+
open: boolean;
|
|
1938
|
+
size?: number;
|
|
1475
1939
|
}
|
|
1476
1940
|
|
|
1477
|
-
declare type
|
|
1941
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
1942
|
+
|
|
1943
|
+
declare interface WorkbenchSidePanelController {
|
|
1944
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
1945
|
+
getMode(): WorkbenchSidePanelMode;
|
|
1946
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
1947
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
1948
|
+
}
|
|
1478
1949
|
|
|
1479
|
-
declare
|
|
1480
|
-
|
|
1950
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
1951
|
+
|
|
1952
|
+
declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
1953
|
+
|
|
1954
|
+
declare interface WorkbenchSidePanelState {
|
|
1955
|
+
mode: WorkbenchSidePanelMode;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
declare interface WorkbenchSnapshot {
|
|
1959
|
+
layout: WorkbenchLayout;
|
|
1481
1960
|
}
|
|
1482
1961
|
|
|
1483
1962
|
declare interface WorkbenchStore<TState> {
|
|
@@ -1496,6 +1975,27 @@ declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
|
1496
1975
|
|
|
1497
1976
|
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
1498
1977
|
|
|
1978
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
1979
|
+
region: WorkbenchPanelRegion;
|
|
1980
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
1981
|
+
} & WorkbenchPanelMenusContribution;
|
|
1982
|
+
|
|
1983
|
+
declare interface WorkbenchSubPanelRef {
|
|
1984
|
+
contributionId: string;
|
|
1985
|
+
resourceUri?: string;
|
|
1986
|
+
instanceKey?: string;
|
|
1987
|
+
}
|
|
1988
|
+
|
|
1989
|
+
declare type WorkbenchTabPosition = "start" | "end" | {
|
|
1990
|
+
beforeWidgetId: string;
|
|
1991
|
+
} | {
|
|
1992
|
+
afterWidgetId: string;
|
|
1993
|
+
};
|
|
1994
|
+
|
|
1995
|
+
declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
1996
|
+
|
|
1997
|
+
declare type WorkbenchTabRetention_2 = "preview" | "persistent";
|
|
1998
|
+
|
|
1499
1999
|
declare interface WorkbenchTerminalController {
|
|
1500
2000
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
1501
2001
|
/** True once the host injected a session opener. */
|
|
@@ -1589,32 +2089,29 @@ declare interface WorkbenchWidgetPlacement {
|
|
|
1589
2089
|
source?: ContributionSource;
|
|
1590
2090
|
resource?: ResourceRef;
|
|
1591
2091
|
resourceUri?: string;
|
|
2092
|
+
ownerResourceUri?: string;
|
|
1592
2093
|
title?: string;
|
|
1593
2094
|
pinned?: boolean;
|
|
1594
2095
|
closable?: boolean;
|
|
1595
2096
|
mountStrategy?: WidgetMountStrategy;
|
|
1596
2097
|
hiddenByDefault?: boolean;
|
|
2098
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2099
|
+
tab?: WorkbenchWidgetTab;
|
|
2100
|
+
role?: WorkbenchWidgetRole;
|
|
1597
2101
|
}
|
|
1598
2102
|
|
|
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;
|
|
2103
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2104
|
+
|
|
2105
|
+
declare interface WorkbenchWidgetTab {
|
|
2106
|
+
contentRendererId?: string;
|
|
2107
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2108
|
+
customMenuRendererId?: string;
|
|
1611
2109
|
}
|
|
1612
2110
|
|
|
1613
|
-
declare interface
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
refresh: () => void;
|
|
2111
|
+
declare interface WorkbenchWidgetTab_2 {
|
|
2112
|
+
contentRendererId?: string;
|
|
2113
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2114
|
+
customMenuRendererId?: string;
|
|
1618
2115
|
}
|
|
1619
2116
|
|
|
1620
2117
|
export { }
|