@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/extensions.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ import { ReactNode } from 'react';
|
|
|
11
11
|
import { ThemePreference as ThemePreference_2 } from 'pstdio-extensions/bridge/contract';
|
|
12
12
|
import { WorkbenchExtensionCommandPaletteResourceRecord } from '@pstdio/sdk/api';
|
|
13
13
|
import { WorkbenchExtensionControlsRendererRecord } from '@pstdio/sdk/api';
|
|
14
|
-
import {
|
|
14
|
+
import { WorkbenchExtensionDataTableRendererRecord } from 'pstdio-api-contracts';
|
|
15
|
+
import { WorkbenchExtensionKanbanRendererRecord } from '@pstdio/sdk/api';
|
|
15
16
|
import { WorkbenchExtensionMetadata } from '@pstdio/sdk/api';
|
|
16
17
|
|
|
17
18
|
declare interface AttributeDescriptor {
|
|
@@ -24,7 +25,7 @@ declare interface AttributeDescriptor {
|
|
|
24
25
|
displayable?: boolean;
|
|
25
26
|
editable?: boolean;
|
|
26
27
|
display?: AttributeDisplayDescriptor;
|
|
27
|
-
render?: (value: unknown, row:
|
|
28
|
+
render?: (value: unknown, row: KanbanRendererRow) => ReactNode;
|
|
28
29
|
compare?: (a: unknown, b: unknown) => number;
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -89,7 +90,7 @@ export declare interface BridgeWebviewConfig {
|
|
|
89
90
|
export declare interface BridgeWebviewRenderContext {
|
|
90
91
|
workbench: WorkbenchCore;
|
|
91
92
|
webviewId: string;
|
|
92
|
-
placement:
|
|
93
|
+
placement: WorkbenchPanelInstance;
|
|
93
94
|
/** Channel for pushing host events (e.g. terminal output) into this webview. */
|
|
94
95
|
hostEvents: HostEventPublisher;
|
|
95
96
|
}
|
|
@@ -112,9 +113,7 @@ export declare const buildWorkbenchExtensionMenuRegistrations: (input: {
|
|
|
112
113
|
export declare const buildWorkbenchExtensionRouteEntries: (input: {
|
|
113
114
|
metadata: WorkbenchExtensionMetadata | undefined;
|
|
114
115
|
createResource: (resourceInput: WorkbenchExtensionRouteResourceInput) => ResourceRef;
|
|
115
|
-
}) =>
|
|
116
|
-
resource: ResourceRef;
|
|
117
|
-
}[];
|
|
116
|
+
}) => any;
|
|
118
117
|
|
|
119
118
|
/**
|
|
120
119
|
* A data-driven list of items, each opening a contributor-supplied editor. The
|
|
@@ -127,7 +126,7 @@ declare interface CollectionSettingsPanel<TItem = unknown> extends SettingsPanel
|
|
|
127
126
|
itemLabel(item: TItem): string;
|
|
128
127
|
itemIcon?(item: TItem): string | undefined;
|
|
129
128
|
groupBy?: SettingsCollectionGroupBy<TItem>;
|
|
130
|
-
renderItem(item: TItem, input:
|
|
129
|
+
renderItem(item: TItem, input: WorkbenchPanelRenderInput): unknown;
|
|
131
130
|
actions?: SettingsAction[];
|
|
132
131
|
}
|
|
133
132
|
|
|
@@ -270,8 +269,6 @@ declare interface ControlsQueryResult {
|
|
|
270
269
|
readOnly?: boolean;
|
|
271
270
|
}
|
|
272
271
|
|
|
273
|
-
declare type ControlsRendererArea = "main-right" | "secondary" | "overlay";
|
|
274
|
-
|
|
275
272
|
declare interface ControlsRendererContribution {
|
|
276
273
|
id: string;
|
|
277
274
|
title: string;
|
|
@@ -291,12 +288,12 @@ declare interface ControlsRendererContribution {
|
|
|
291
288
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
292
289
|
}
|
|
293
290
|
|
|
294
|
-
declare type ControlsRendererImplementation = (input:
|
|
291
|
+
declare type ControlsRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
295
292
|
controlsRendererId: string;
|
|
296
293
|
}) => unknown;
|
|
297
294
|
|
|
298
295
|
declare interface ControlsRendererLayout {
|
|
299
|
-
|
|
296
|
+
region?: ControlsRendererRegion;
|
|
300
297
|
defaultPx?: number;
|
|
301
298
|
minPx?: number;
|
|
302
299
|
maxPx?: number;
|
|
@@ -308,6 +305,8 @@ declare interface ControlsRendererRefreshEvent {
|
|
|
308
305
|
|
|
309
306
|
declare type ControlsRendererRefreshListener = (event: ControlsRendererRefreshEvent) => void;
|
|
310
307
|
|
|
308
|
+
declare type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
|
|
309
|
+
|
|
311
310
|
declare interface ControlsRendererRegistry {
|
|
312
311
|
controlsStore: WorkbenchStore<ControlsRendererStoreState>;
|
|
313
312
|
registerControlsRenderer(contribution: ControlsRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
@@ -334,7 +333,7 @@ declare interface ControlsUpdateValueInput {
|
|
|
334
333
|
resource?: ResourceRef;
|
|
335
334
|
}
|
|
336
335
|
|
|
337
|
-
declare type ControlsViewRecord = WorkbenchExtensionMetadata["
|
|
336
|
+
declare type ControlsViewRecord = WorkbenchExtensionMetadata["panels"][number];
|
|
338
337
|
|
|
339
338
|
export declare type CreateBridgeWebviewHostCapabilities = (context: BridgeWebviewRenderContext) => HostCapabilityRegistry;
|
|
340
339
|
|
|
@@ -342,7 +341,7 @@ export declare type CreateBridgeWebviewProps = (context: BridgeWebviewRenderCont
|
|
|
342
341
|
|
|
343
342
|
export declare const createBridgeWebviewRenderer: (input?: CreateBridgeWebviewRendererInput) => {
|
|
344
343
|
id: string;
|
|
345
|
-
render: (renderInput:
|
|
344
|
+
render: (renderInput: WorkbenchPanelRenderInput) => JSX.Element | null;
|
|
346
345
|
};
|
|
347
346
|
|
|
348
347
|
declare interface CreateBridgeWebviewRendererInput {
|
|
@@ -369,8 +368,8 @@ declare interface CreateTerminalSessionCapabilityInput {
|
|
|
369
368
|
export declare const createWorkbenchWebviewHostCapabilities: (input: CreateWorkbenchWebviewHostCapabilitiesInput) => {
|
|
370
369
|
"terminal.session"?: HostCapability | undefined;
|
|
371
370
|
"commands.execute": (params: unknown) => Promise<unknown>;
|
|
372
|
-
"resource.open": (params: unknown) => Promise<
|
|
373
|
-
"notification.show": (params: unknown) =>
|
|
371
|
+
"resource.open": (params: unknown) => Promise<WorkbenchPanelInstance_2>;
|
|
372
|
+
"notification.show": (params: unknown) => RegisteredWorkbenchNotification;
|
|
374
373
|
"preferences.get": (params: unknown) => PreferenceValue | undefined;
|
|
375
374
|
"preferences.set": (params: unknown) => {
|
|
376
375
|
name: string;
|
|
@@ -392,133 +391,122 @@ declare interface CreateWorkbenchWebviewHostCapabilitiesInput {
|
|
|
392
391
|
*/
|
|
393
392
|
declare interface CustomSettingsPanel extends SettingsPanelBase {
|
|
394
393
|
kind: "custom";
|
|
395
|
-
render(input:
|
|
394
|
+
render(input: WorkbenchPanelRenderInput): unknown;
|
|
396
395
|
}
|
|
397
396
|
|
|
398
|
-
declare interface
|
|
397
|
+
declare interface DataTableRendererColumn {
|
|
398
|
+
id: string;
|
|
399
|
+
label?: string;
|
|
400
|
+
description?: string;
|
|
401
|
+
icon?: unknown;
|
|
402
|
+
hidden?: boolean;
|
|
403
|
+
stat?: DataTableRendererColumnStat;
|
|
404
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
declare type DataTableRendererColumnRenderer = {
|
|
408
|
+
type: "json";
|
|
409
|
+
} | {
|
|
410
|
+
type: "color-scale";
|
|
411
|
+
stops: Array<{
|
|
412
|
+
value: number;
|
|
413
|
+
color: DataTableRendererThemeColor;
|
|
414
|
+
}>;
|
|
415
|
+
} | {
|
|
416
|
+
type: "categorical-color";
|
|
417
|
+
categories: Array<{
|
|
418
|
+
value: string | number | boolean | null;
|
|
419
|
+
color: DataTableRendererThemeColor;
|
|
420
|
+
}>;
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
declare type DataTableRendererColumnStat = {
|
|
424
|
+
type: "unique";
|
|
425
|
+
} | {
|
|
426
|
+
type: "histogram";
|
|
427
|
+
bins?: number;
|
|
428
|
+
} | {
|
|
429
|
+
type: "top-values";
|
|
430
|
+
limit?: number;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
declare interface DataTableRendererContribution {
|
|
399
434
|
id: string;
|
|
400
435
|
title: string;
|
|
401
436
|
resourceKind?: string;
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
407
|
-
* static array to let the contribution mutate its schema at runtime —
|
|
408
|
-
* `WorkbenchDataView` subscribes so additions / removals / kind changes
|
|
409
|
-
* propagate live without re-registering the renderer.
|
|
410
|
-
*/
|
|
411
|
-
attributes: AttributeDescriptor[] | AttributesSource;
|
|
412
|
-
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
413
|
-
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
414
|
-
hideToolbar?: boolean;
|
|
437
|
+
columns?: DataTableRendererColumn[];
|
|
438
|
+
rowActions?: DataTableRendererRowAction[];
|
|
439
|
+
initialPageSize?: number;
|
|
440
|
+
pageSizeOptions?: number[];
|
|
415
441
|
emptyTitle?: string;
|
|
416
442
|
emptyDescription?: string;
|
|
417
|
-
|
|
418
|
-
defaultSettings?: Partial<DataRendererSettings>;
|
|
419
|
-
defaultFilters?: DataRendererFilterState;
|
|
420
|
-
/**
|
|
421
|
-
* Data source. Receives the current display state so backends can paginate
|
|
422
|
-
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
423
|
-
* so this can return unfiltered rows in simple cases.
|
|
424
|
-
*/
|
|
425
|
-
executeQuery(state: DataRendererQueryState): Promise<TRow[]> | TRow[];
|
|
443
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
426
444
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
427
|
-
|
|
428
|
-
onRowClick?: (row: TRow) => void;
|
|
429
|
-
/** Per-row right-click context menu actions (mirrored from <DataRenderer>). */
|
|
430
|
-
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
431
|
-
/**
|
|
432
|
-
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
433
|
-
* the board (the renderer passes the grouping attribute id + the target
|
|
434
|
-
* column value).
|
|
435
|
-
*/
|
|
436
|
-
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
437
|
-
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
438
|
-
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
439
|
-
onCreateRow?: (columnId: string) => void;
|
|
440
|
-
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
445
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
441
446
|
}
|
|
442
447
|
|
|
443
|
-
declare type
|
|
444
|
-
|
|
445
|
-
declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
446
|
-
dataRendererId: string;
|
|
448
|
+
declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
449
|
+
dataTableRendererId: string;
|
|
447
450
|
}) => unknown;
|
|
448
451
|
|
|
449
|
-
declare interface
|
|
450
|
-
|
|
451
|
-
|
|
452
|
+
declare interface DataTableRendererQueryContext {
|
|
453
|
+
resource?: ResourceRef;
|
|
454
|
+
modeId?: string;
|
|
452
455
|
}
|
|
453
456
|
|
|
454
|
-
declare interface
|
|
455
|
-
|
|
456
|
-
|
|
457
|
+
declare interface DataTableRendererQueryResult {
|
|
458
|
+
rows: DataTableRendererRow[];
|
|
459
|
+
columns?: DataTableRendererColumn[];
|
|
457
460
|
}
|
|
458
461
|
|
|
459
|
-
declare interface
|
|
460
|
-
|
|
462
|
+
declare interface DataTableRendererRefreshEvent {
|
|
463
|
+
dataTableRendererId: string;
|
|
461
464
|
}
|
|
462
465
|
|
|
463
|
-
declare
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
refreshDataRenderer(id: string): void;
|
|
472
|
-
onDidRefreshDataRenderer(listener: DataRendererRefreshListener): Disposable_2;
|
|
466
|
+
declare interface DataTableRendererRegistry {
|
|
467
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
468
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
469
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
470
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
471
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
472
|
+
refreshDataTableRenderer(id: string): void;
|
|
473
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
473
474
|
}
|
|
474
475
|
|
|
475
|
-
declare interface
|
|
476
|
+
declare interface DataTableRendererRow {
|
|
476
477
|
id: string;
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
* Optional navigation handle. When set, the renderer's default click handler
|
|
480
|
-
* routes through the contribution's onRowClick (which typically opens the
|
|
481
|
-
* resource via the workbench).
|
|
482
|
-
*/
|
|
483
|
-
resource?: unknown;
|
|
484
|
-
attributes: Record<string, unknown>;
|
|
478
|
+
values: Record<string, unknown>;
|
|
479
|
+
resource?: ResourceRef;
|
|
485
480
|
}
|
|
486
481
|
|
|
487
|
-
declare
|
|
482
|
+
declare interface DataTableRendererRowAction {
|
|
483
|
+
id: string;
|
|
484
|
+
label: string;
|
|
485
|
+
icon?: unknown;
|
|
486
|
+
destructive?: boolean;
|
|
487
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
488
|
+
}
|
|
488
489
|
|
|
489
|
-
declare interface
|
|
490
|
-
|
|
491
|
-
columnGrouping: string | typeof NO_GROUPING;
|
|
492
|
-
rowGrouping: string | typeof NO_GROUPING;
|
|
493
|
-
ordering: DataRendererOrdering;
|
|
494
|
-
displayProperties: string[];
|
|
490
|
+
declare interface DataTableRendererStoreState {
|
|
491
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
495
492
|
}
|
|
496
493
|
|
|
497
|
-
declare interface
|
|
498
|
-
|
|
494
|
+
declare interface DataTableRendererThemeColor {
|
|
495
|
+
light: string;
|
|
496
|
+
dark: string;
|
|
497
|
+
foreground?: {
|
|
498
|
+
light: string;
|
|
499
|
+
dark: string;
|
|
500
|
+
};
|
|
499
501
|
}
|
|
500
502
|
|
|
503
|
+
declare type DataTableViewRecord = WorkbenchExtensionMetadata["panels"][number];
|
|
504
|
+
|
|
501
505
|
declare interface Disposable_2 {
|
|
502
506
|
dispose(): void;
|
|
503
507
|
}
|
|
504
508
|
|
|
505
|
-
export declare const emptyWorkbenchExtensionMetadata:
|
|
506
|
-
commands: never[];
|
|
507
|
-
commandPaletteContributions: never[];
|
|
508
|
-
diagnostics: never[];
|
|
509
|
-
extensions: never[];
|
|
510
|
-
menuContributions: never[];
|
|
511
|
-
modes: never[];
|
|
512
|
-
navigation: never[];
|
|
513
|
-
routes: never[];
|
|
514
|
-
dataRenderers: never[];
|
|
515
|
-
treeRenderers: never[];
|
|
516
|
-
fileRenderers: never[];
|
|
517
|
-
settingsPanels: never[];
|
|
518
|
-
settingsDefinitions: never[];
|
|
519
|
-
treeItems: never[];
|
|
520
|
-
views: never[];
|
|
521
|
-
};
|
|
509
|
+
export declare const emptyWorkbenchExtensionMetadata: WorkbenchExtensionMetadata;
|
|
522
510
|
|
|
523
511
|
declare interface EnumOption {
|
|
524
512
|
value: string;
|
|
@@ -541,7 +529,7 @@ declare interface EnumOptionsSource {
|
|
|
541
529
|
|
|
542
530
|
declare type ExtensionTreeRendererRecord = NonNullable<WorkbenchExtensionMetadata["treeRenderers"]>[number];
|
|
543
531
|
|
|
544
|
-
declare type ExtensionTreeViewRecord = WorkbenchExtensionMetadata["
|
|
532
|
+
declare type ExtensionTreeViewRecord = WorkbenchExtensionMetadata["panels"][number] | NonNullable<WorkbenchExtensionMetadata["panels"][number]["panelMenus"]>[number];
|
|
545
533
|
|
|
546
534
|
export declare interface ExtensionWebviewFileCapabilities {
|
|
547
535
|
delete(params: unknown): Promise<unknown> | unknown;
|
|
@@ -601,7 +589,7 @@ declare interface FileRendererContribution {
|
|
|
601
589
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
602
590
|
}
|
|
603
591
|
|
|
604
|
-
declare type FileRendererImplementation = (input:
|
|
592
|
+
declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
605
593
|
fileRendererId: string;
|
|
606
594
|
}) => unknown;
|
|
607
595
|
|
|
@@ -632,34 +620,185 @@ declare interface HistoryController {
|
|
|
632
620
|
goPrevious(): HistoryEntry | undefined;
|
|
633
621
|
recentlyClosed(): readonly HistoryEntry[];
|
|
634
622
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
623
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
624
|
+
getPersistenceScope(): string | undefined;
|
|
625
|
+
restore(): HistoryEntry | undefined;
|
|
626
|
+
flush(): void;
|
|
635
627
|
clear(): void;
|
|
636
628
|
}
|
|
637
629
|
|
|
638
|
-
declare
|
|
639
|
-
entryId: string;
|
|
640
|
-
recordedAt: number;
|
|
641
|
-
kind: "resource" | "widget" | "mode";
|
|
642
|
-
modeId?: string;
|
|
643
|
-
resource?: ResourceRef;
|
|
644
|
-
widgetId?: string;
|
|
645
|
-
contributionId?: string;
|
|
646
|
-
title?: string;
|
|
647
|
-
}
|
|
630
|
+
declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
648
631
|
|
|
649
632
|
declare interface HistoryStoreState {
|
|
650
|
-
entries: readonly
|
|
633
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
651
634
|
cursor: number;
|
|
652
|
-
recentlyClosed: readonly
|
|
635
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
636
|
+
hydrating: boolean;
|
|
653
637
|
}
|
|
654
638
|
|
|
655
639
|
declare interface HostTreeDefaultNodesInput {
|
|
656
640
|
ctx: TreeContext;
|
|
657
641
|
record: ExtensionTreeRendererRecord;
|
|
658
|
-
|
|
642
|
+
panel: ExtensionTreeViewRecord;
|
|
659
643
|
}
|
|
660
644
|
|
|
661
645
|
declare type HostTreeDefaultNodesResolver = (input: HostTreeDefaultNodesInput) => Promise<TreeNode[]> | TreeNode[];
|
|
662
646
|
|
|
647
|
+
declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
648
|
+
id: string;
|
|
649
|
+
title: string;
|
|
650
|
+
resourceKind?: string;
|
|
651
|
+
/**
|
|
652
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
653
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
654
|
+
*
|
|
655
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
656
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
657
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
658
|
+
* propagate live without re-registering the renderer.
|
|
659
|
+
*/
|
|
660
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
661
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
662
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
663
|
+
hideToolbar?: boolean;
|
|
664
|
+
emptyTitle?: string;
|
|
665
|
+
emptyDescription?: string;
|
|
666
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
667
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
668
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
669
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
670
|
+
defaultActiveViewId?: string;
|
|
671
|
+
/**
|
|
672
|
+
* Data source. Receives the current display state so backends can paginate
|
|
673
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
674
|
+
* so this can return unfiltered rows in simple cases.
|
|
675
|
+
*/
|
|
676
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
677
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
678
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
679
|
+
onRowClick?: (row: TRow) => void;
|
|
680
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
681
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
682
|
+
/**
|
|
683
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
684
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
685
|
+
* column value).
|
|
686
|
+
*/
|
|
687
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
688
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
689
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
690
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
691
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
692
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
declare interface KanbanRendererCreateField {
|
|
696
|
+
id: string;
|
|
697
|
+
label: string;
|
|
698
|
+
description?: string;
|
|
699
|
+
placeholder?: string;
|
|
700
|
+
type: KanbanRendererCreateFieldType;
|
|
701
|
+
required?: boolean;
|
|
702
|
+
defaultValue?: unknown;
|
|
703
|
+
options?: EnumOption[];
|
|
704
|
+
/** `files` fields only. */
|
|
705
|
+
multiple?: boolean;
|
|
706
|
+
accept?: string;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
710
|
+
|
|
711
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
712
|
+
declare interface KanbanRendererCreateLabels {
|
|
713
|
+
cancel: string;
|
|
714
|
+
properties: string;
|
|
715
|
+
submitError: string;
|
|
716
|
+
removeFile: string;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
declare interface KanbanRendererCreateRowConfig {
|
|
720
|
+
title: string;
|
|
721
|
+
submitLabel: string;
|
|
722
|
+
fields: KanbanRendererCreateField[];
|
|
723
|
+
labels: KanbanRendererCreateLabels;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
declare interface KanbanRendererCreateSubmission {
|
|
727
|
+
columnId: string;
|
|
728
|
+
columnAttributeId?: string;
|
|
729
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
730
|
+
values: Record<string, unknown>;
|
|
731
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
732
|
+
attributeValues: Record<string, unknown>;
|
|
733
|
+
files: File[];
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
737
|
+
|
|
738
|
+
declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
739
|
+
kanbanRendererId: string;
|
|
740
|
+
}) => unknown;
|
|
741
|
+
|
|
742
|
+
declare interface KanbanRendererOrdering {
|
|
743
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
744
|
+
direction: SortDirection;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
declare interface KanbanRendererQueryState {
|
|
748
|
+
settings: KanbanRendererSettings;
|
|
749
|
+
filters: KanbanRendererFilterState;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
declare interface KanbanRendererRefreshEvent {
|
|
753
|
+
kanbanRendererId: string;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
757
|
+
|
|
758
|
+
declare interface KanbanRendererRegistry {
|
|
759
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
760
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
761
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
762
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
763
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
764
|
+
refreshKanbanRenderer(id: string): void;
|
|
765
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
declare interface KanbanRendererRow {
|
|
769
|
+
id: string;
|
|
770
|
+
title: string;
|
|
771
|
+
/**
|
|
772
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
773
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
774
|
+
* resource via the workbench).
|
|
775
|
+
*/
|
|
776
|
+
resource?: unknown;
|
|
777
|
+
attributes: Record<string, unknown>;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
declare type KanbanRendererRow_2 = Awaited<ReturnType<KanbanRendererContribution["executeQuery"]>>[number];
|
|
781
|
+
|
|
782
|
+
declare interface KanbanRendererSavedView {
|
|
783
|
+
id: string;
|
|
784
|
+
title: string;
|
|
785
|
+
settings: KanbanRendererSettings;
|
|
786
|
+
filters: KanbanRendererFilterState;
|
|
787
|
+
isDefault?: boolean;
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
declare interface KanbanRendererSettings {
|
|
791
|
+
viewMode: ViewMode;
|
|
792
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
793
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
794
|
+
ordering: KanbanRendererOrdering;
|
|
795
|
+
displayProperties: string[];
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
declare interface KanbanRendererStoreState {
|
|
799
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
800
|
+
}
|
|
801
|
+
|
|
663
802
|
declare interface Keybinding {
|
|
664
803
|
commandId: string;
|
|
665
804
|
keybinding: KeybindingSequence;
|
|
@@ -685,33 +824,62 @@ declare interface LayoutModel {
|
|
|
685
824
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
686
825
|
dispose(): void;
|
|
687
826
|
};
|
|
827
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
828
|
+
dispose(): void;
|
|
829
|
+
};
|
|
688
830
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
689
831
|
dispose(): void;
|
|
690
832
|
};
|
|
833
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
834
|
+
dispose(): void;
|
|
835
|
+
};
|
|
836
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
837
|
+
dispose(): void;
|
|
838
|
+
};
|
|
839
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
840
|
+
dispose(): void;
|
|
841
|
+
};
|
|
691
842
|
unregisterWidget(id: string, options?: {
|
|
692
843
|
removePlacements?: boolean;
|
|
693
844
|
persist?: boolean;
|
|
694
845
|
}): void;
|
|
695
|
-
getPlaceholder(
|
|
846
|
+
getPlaceholder(regionId: WorkbenchRegion): RegisteredPlaceholderContribution | undefined;
|
|
696
847
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
848
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
849
|
+
getRegionSize(regionId: WorkbenchRegion): WorkbenchRegionSize | undefined;
|
|
850
|
+
getRegionCollapsible(regionId: WorkbenchRegion): boolean;
|
|
851
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
|
|
852
|
+
setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
|
|
853
|
+
setRegionSize(regionId: WorkbenchRegion, size: number): void;
|
|
702
854
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
703
855
|
listWidgets(): RegisteredWidgetContribution[];
|
|
856
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
857
|
+
listPanelInstances(region?: WorkbenchRegion): WorkbenchPanelInstance[];
|
|
858
|
+
getActivePanel(region?: WorkbenchRegion): WorkbenchPanelInstance | undefined;
|
|
704
859
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
860
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
861
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
862
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
863
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
864
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
705
865
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
866
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
867
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
706
868
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
869
|
+
setRegionActiveWidget(regionId: WorkbenchRegion, widgetId: string | undefined): void;
|
|
707
870
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
708
871
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
709
|
-
|
|
710
|
-
|
|
872
|
+
clearRegion(regionId: WorkbenchRegion): void;
|
|
873
|
+
resetRegions(): void;
|
|
711
874
|
getLayout(): WorkbenchLayout;
|
|
712
875
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
713
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
876
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
877
|
+
carryRegionState?: readonly WorkbenchRegion[];
|
|
878
|
+
}): void;
|
|
714
879
|
getPersistenceScope(): LayoutScope | undefined;
|
|
880
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
881
|
+
dispose(): void;
|
|
882
|
+
};
|
|
715
883
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
716
884
|
dispose(): void;
|
|
717
885
|
};
|
|
@@ -725,6 +893,7 @@ declare const MANUAL_ORDERING = "manual";
|
|
|
725
893
|
|
|
726
894
|
declare interface MenuItem {
|
|
727
895
|
commandId: string;
|
|
896
|
+
sourceCommandId?: string;
|
|
728
897
|
label?: string;
|
|
729
898
|
description?: string;
|
|
730
899
|
icon?: string;
|
|
@@ -789,7 +958,13 @@ declare interface NavigationTargetCompound {
|
|
|
789
958
|
targets: readonly NavigationTargetItem[];
|
|
790
959
|
}
|
|
791
960
|
|
|
792
|
-
declare type NavigationTargetItem = NavigationTargetResource |
|
|
961
|
+
declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
962
|
+
|
|
963
|
+
declare interface NavigationTargetPanel {
|
|
964
|
+
kind: "panel";
|
|
965
|
+
panelId: string;
|
|
966
|
+
input?: OpenWorkbenchPanelInput;
|
|
967
|
+
}
|
|
793
968
|
|
|
794
969
|
declare interface NavigationTargetResource {
|
|
795
970
|
kind: "resource";
|
|
@@ -797,12 +972,6 @@ declare interface NavigationTargetResource {
|
|
|
797
972
|
input?: OpenResourceInput;
|
|
798
973
|
}
|
|
799
974
|
|
|
800
|
-
declare interface NavigationTargetView {
|
|
801
|
-
kind: "view";
|
|
802
|
-
widgetId: string;
|
|
803
|
-
input?: OpenWidgetInput;
|
|
804
|
-
}
|
|
805
|
-
|
|
806
975
|
declare const NO_GROUPING = "none";
|
|
807
976
|
|
|
808
977
|
declare interface NotificationRegistry {
|
|
@@ -821,23 +990,38 @@ declare interface OpenResourceInput {
|
|
|
821
990
|
declare interface OpenWidgetInput {
|
|
822
991
|
resource?: ResourceRef;
|
|
823
992
|
title?: string;
|
|
824
|
-
|
|
993
|
+
region?: WorkbenchRegion;
|
|
825
994
|
ownerId?: string;
|
|
826
995
|
source?: ContributionSource;
|
|
827
996
|
pinned?: boolean;
|
|
828
997
|
closable?: boolean;
|
|
829
998
|
mountStrategy?: WidgetMountStrategy;
|
|
830
999
|
hiddenByDefault?: boolean;
|
|
1000
|
+
tabRetention?: WorkbenchTabRetention;
|
|
1001
|
+
tabPosition?: WorkbenchTabPosition;
|
|
1002
|
+
tab?: WorkbenchWidgetTab;
|
|
831
1003
|
replaceActive?: boolean;
|
|
1004
|
+
replaceWidgetId?: string;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
declare interface OpenWorkbenchPanelInput {
|
|
1008
|
+
resource?: ResourceRef;
|
|
1009
|
+
title?: string;
|
|
1010
|
+
region?: WorkbenchRegion;
|
|
1011
|
+
pinned?: boolean;
|
|
1012
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1013
|
+
hiddenByDefault?: boolean;
|
|
1014
|
+
tab?: WorkbenchPanelTab;
|
|
1015
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
832
1016
|
}
|
|
833
1017
|
|
|
834
1018
|
declare interface PlaceholderContribution {
|
|
835
1019
|
id: string;
|
|
836
1020
|
title: string;
|
|
837
|
-
|
|
1021
|
+
region: WorkbenchRegion;
|
|
838
1022
|
rendererId: string;
|
|
839
|
-
|
|
840
|
-
|
|
1023
|
+
regionSize?: WorkbenchRegionSize;
|
|
1024
|
+
regionCollapsible?: boolean;
|
|
841
1025
|
config?: unknown;
|
|
842
1026
|
priority?: number;
|
|
843
1027
|
}
|
|
@@ -875,9 +1059,9 @@ declare interface PreferenceScopeRef {
|
|
|
875
1059
|
|
|
876
1060
|
declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
877
1061
|
|
|
878
|
-
export declare const refreshOpenWorkbenchExtensionWebviews: (workbench:
|
|
1062
|
+
export declare const refreshOpenWorkbenchExtensionWebviews: (workbench: WorkbenchModuleContext, metadata: WorkbenchExtensionMetadata) => void;
|
|
879
1063
|
|
|
880
|
-
export declare const refreshWorkbenchExtensionContributions: (workbench:
|
|
1064
|
+
export declare const refreshWorkbenchExtensionContributions: (workbench: WorkbenchModuleContext, metadata: WorkbenchExtensionMetadata, commandId: string) => void;
|
|
881
1065
|
|
|
882
1066
|
declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
883
1067
|
command: Command;
|
|
@@ -890,21 +1074,18 @@ declare interface RegisteredContributionMetadata {
|
|
|
890
1074
|
priority: number;
|
|
891
1075
|
}
|
|
892
1076
|
|
|
893
|
-
declare interface RegisteredContributionMetadata_2 {
|
|
894
|
-
source: ContributionSource_2;
|
|
895
|
-
ownerId: string;
|
|
896
|
-
priority: number;
|
|
897
|
-
}
|
|
898
|
-
|
|
899
1077
|
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
900
1078
|
}
|
|
901
1079
|
|
|
902
|
-
declare interface
|
|
1080
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
903
1081
|
}
|
|
904
1082
|
|
|
905
1083
|
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
906
1084
|
}
|
|
907
1085
|
|
|
1086
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
1087
|
+
}
|
|
1088
|
+
|
|
908
1089
|
declare interface RegisteredKeepAliveHost {
|
|
909
1090
|
rendererId: string;
|
|
910
1091
|
host: HTMLElement;
|
|
@@ -940,8 +1121,10 @@ declare interface RegisteredTreeRendererContribution extends TreeRendererContrib
|
|
|
940
1121
|
}
|
|
941
1122
|
|
|
942
1123
|
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
1124
|
+
ownedPanelMenuIds?: readonly string[];
|
|
943
1125
|
singleton: boolean;
|
|
944
1126
|
reuse: WidgetReusePolicy;
|
|
1127
|
+
role: WorkbenchWidgetRole;
|
|
945
1128
|
} & RegisteredContributionMetadata;
|
|
946
1129
|
|
|
947
1130
|
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
@@ -955,17 +1138,6 @@ declare interface RegisteredWorkbenchNotification extends RegisteredContribution
|
|
|
955
1138
|
metadata?: Record<string, unknown>;
|
|
956
1139
|
}
|
|
957
1140
|
|
|
958
|
-
declare interface RegisteredWorkbenchNotification_2 extends RegisteredContributionMetadata_2 {
|
|
959
|
-
id: string;
|
|
960
|
-
level: WorkbenchNotificationLevel_2;
|
|
961
|
-
title: string;
|
|
962
|
-
message?: string;
|
|
963
|
-
createdAt: string;
|
|
964
|
-
resource?: ResourceRef_2;
|
|
965
|
-
actions?: WorkbenchNotificationAction_2[];
|
|
966
|
-
metadata?: Record<string, unknown>;
|
|
967
|
-
}
|
|
968
|
-
|
|
969
1141
|
export declare const registerWorkbenchExtensionCommandPaletteResources: (context: WorkbenchExtensionCommandContext, records: readonly WorkbenchExtensionCommandPaletteResourceRecord[]) => {
|
|
970
1142
|
dispose(): void;
|
|
971
1143
|
};
|
|
@@ -990,14 +1162,12 @@ export declare interface RegisterWorkbenchExtensionContributionsInput {
|
|
|
990
1162
|
settingsSectionId?: string;
|
|
991
1163
|
settingsSectionTitle?: string;
|
|
992
1164
|
webviewFiles?: ExtensionWebviewFileCapabilities;
|
|
993
|
-
workbench:
|
|
1165
|
+
workbench: WorkbenchModuleContext;
|
|
994
1166
|
}
|
|
995
1167
|
|
|
996
|
-
export declare const registerWorkbenchExtensionControlsRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionControlsRendererRecord[],
|
|
1168
|
+
export declare const registerWorkbenchExtensionControlsRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionControlsRendererRecord[], panels: ControlsViewRecord[], adapter?: WorkbenchExtensionControlsAdapter) => Disposable_2;
|
|
997
1169
|
|
|
998
|
-
export declare const
|
|
999
|
-
dispose(): void;
|
|
1000
|
-
};
|
|
1170
|
+
export declare const registerWorkbenchExtensionDataTableRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionDataTableRendererRecord[], panels: DataTableViewRecord[]) => Disposable_2;
|
|
1001
1171
|
|
|
1002
1172
|
export declare const registerWorkbenchExtensionFileRenderers: (input: RegisterWorkbenchExtensionFileRenderersInput) => {
|
|
1003
1173
|
dispose(): void;
|
|
@@ -1007,7 +1177,18 @@ export declare interface RegisterWorkbenchExtensionFileRenderersInput {
|
|
|
1007
1177
|
executeCommand(commandId: string, body: CommandExecuteRequest): Promise<unknown> | unknown;
|
|
1008
1178
|
metadata: WorkbenchExtensionMetadata;
|
|
1009
1179
|
projectId: string;
|
|
1010
|
-
workbench:
|
|
1180
|
+
workbench: WorkbenchModuleContext;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
export declare const registerWorkbenchExtensionKanbanRenderers: (context: WorkbenchExtensionCommandContext, records: readonly WorkbenchExtensionKanbanRendererRecord[], adapter?: WorkbenchExtensionKanbanRendererAdapter) => {
|
|
1184
|
+
dispose(): void;
|
|
1185
|
+
};
|
|
1186
|
+
|
|
1187
|
+
export declare const registerWorkbenchExtensionPanel: (input: RegisterWorkbenchExtensionPanelInput) => Disposable_2;
|
|
1188
|
+
|
|
1189
|
+
export declare interface RegisterWorkbenchExtensionPanelInput {
|
|
1190
|
+
contribution: WorkbenchPanelContribution;
|
|
1191
|
+
workbench: WorkbenchModuleContext;
|
|
1011
1192
|
}
|
|
1012
1193
|
|
|
1013
1194
|
export declare const registerWorkbenchExtensionTreeRenderers: (input: RegisterWorkbenchExtensionTreeRenderersInput) => {
|
|
@@ -1020,7 +1201,7 @@ export declare interface RegisterWorkbenchExtensionTreeRenderersInput {
|
|
|
1020
1201
|
getHostTreeHeaderNodes?: HostTreeDefaultNodesResolver;
|
|
1021
1202
|
metadata: WorkbenchExtensionMetadata;
|
|
1022
1203
|
projectId: string;
|
|
1023
|
-
workbench:
|
|
1204
|
+
workbench: WorkbenchModuleContext;
|
|
1024
1205
|
}
|
|
1025
1206
|
|
|
1026
1207
|
export declare const renderBridgeWebviewFrame: (input: {
|
|
@@ -1033,7 +1214,9 @@ export declare const renderBridgeWebviewFrame: (input: {
|
|
|
1033
1214
|
webview: BridgeWebviewConfig;
|
|
1034
1215
|
}) => JSX.Element;
|
|
1035
1216
|
|
|
1036
|
-
declare type
|
|
1217
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1218
|
+
|
|
1219
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
1037
1220
|
|
|
1038
1221
|
declare interface ResourceBrowseEntry {
|
|
1039
1222
|
resource: ResourceRef;
|
|
@@ -1055,6 +1238,13 @@ declare interface ResourceContextAction {
|
|
|
1055
1238
|
separatorBefore?: boolean;
|
|
1056
1239
|
}
|
|
1057
1240
|
|
|
1241
|
+
declare interface ResourceHierarchyProvider {
|
|
1242
|
+
id: string;
|
|
1243
|
+
priority?: number;
|
|
1244
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1245
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1058
1248
|
declare interface ResourceKindContribution {
|
|
1059
1249
|
kind: string;
|
|
1060
1250
|
label: string;
|
|
@@ -1075,11 +1265,11 @@ declare interface ResourceNavigator<TResult = unknown> {
|
|
|
1075
1265
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
1076
1266
|
}
|
|
1077
1267
|
|
|
1078
|
-
declare interface
|
|
1268
|
+
declare interface ResourcePresenter {
|
|
1079
1269
|
id: string;
|
|
1080
1270
|
priority?: number;
|
|
1081
1271
|
canOpen(resource: ResourceRef): boolean;
|
|
1082
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1272
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
1083
1273
|
}
|
|
1084
1274
|
|
|
1085
1275
|
declare interface ResourceProvider {
|
|
@@ -1112,24 +1302,29 @@ declare interface ResourceRegistry {
|
|
|
1112
1302
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
1113
1303
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
1114
1304
|
listKinds(): RegisteredResourceKind[];
|
|
1115
|
-
|
|
1116
|
-
|
|
1305
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1306
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
1117
1307
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
1118
1308
|
listProviders(): ResourceProvider[];
|
|
1119
1309
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
1120
|
-
|
|
1310
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1311
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1312
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1313
|
+
isOpeningResource(): boolean;
|
|
1314
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
1121
1315
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
1122
1316
|
}
|
|
1123
1317
|
|
|
1124
1318
|
declare interface ResourceRegistryStoreState {
|
|
1125
1319
|
kinds: Record<string, RegisteredResourceKind>;
|
|
1126
|
-
|
|
1320
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
1127
1321
|
providers: Record<string, ResourceProvider>;
|
|
1322
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
1128
1323
|
}
|
|
1129
1324
|
|
|
1130
1325
|
declare type ResourceSurface = "primary" | "secondary" | "attached";
|
|
1131
1326
|
|
|
1132
|
-
declare type RowAction = NonNullable<
|
|
1327
|
+
declare type RowAction = NonNullable<WorkbenchExtensionKanbanRendererRecord["rowActions"]>[number];
|
|
1133
1328
|
|
|
1134
1329
|
/** Auto-rendered as a param editor from the registered preference schema. */
|
|
1135
1330
|
declare interface SchemaSettingsPanel extends SettingsPanelBase {
|
|
@@ -1197,7 +1392,7 @@ declare interface SettingsRegistryStoreState {
|
|
|
1197
1392
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
1198
1393
|
declare type SettingsScope = "global" | "project";
|
|
1199
1394
|
|
|
1200
|
-
/** An ordered
|
|
1395
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
1201
1396
|
declare interface SettingsSectionContribution {
|
|
1202
1397
|
id: string;
|
|
1203
1398
|
title?: string;
|
|
@@ -1206,6 +1401,8 @@ declare interface SettingsSectionContribution {
|
|
|
1206
1401
|
actions?: SettingsAction[];
|
|
1207
1402
|
}
|
|
1208
1403
|
|
|
1404
|
+
export declare const shouldRefreshWorkbenchExtensionDataTableRenderers: (metadata: WorkbenchExtensionMetadata, commandId: string) => boolean;
|
|
1405
|
+
|
|
1209
1406
|
export declare const shouldRefreshWorkbenchExtensionTrees: (metadata: WorkbenchExtensionMetadata, commandId: string) => boolean;
|
|
1210
1407
|
|
|
1211
1408
|
declare type SortDirection = "asc" | "desc";
|
|
@@ -1281,6 +1478,8 @@ declare interface TreeNode {
|
|
|
1281
1478
|
hiddenByDefault?: boolean;
|
|
1282
1479
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1283
1480
|
canHide?: boolean;
|
|
1481
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1482
|
+
canReorder?: boolean;
|
|
1284
1483
|
}
|
|
1285
1484
|
|
|
1286
1485
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1298,7 +1497,7 @@ declare interface TreeRendererContribution {
|
|
|
1298
1497
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1299
1498
|
}
|
|
1300
1499
|
|
|
1301
|
-
declare type TreeRendererImplementation = (input:
|
|
1500
|
+
declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1302
1501
|
treeId: string;
|
|
1303
1502
|
}) => unknown;
|
|
1304
1503
|
|
|
@@ -1356,11 +1555,13 @@ declare interface TreeViewSection {
|
|
|
1356
1555
|
hiddenByDefault?: boolean;
|
|
1357
1556
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1358
1557
|
canHide?: boolean;
|
|
1558
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1559
|
+
canReorder?: boolean;
|
|
1359
1560
|
}
|
|
1360
1561
|
|
|
1361
1562
|
/**
|
|
1362
|
-
* Core-owned contracts for
|
|
1363
|
-
*
|
|
1563
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1564
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1364
1565
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1365
1566
|
* API shape to UI package ownership.
|
|
1366
1567
|
*/
|
|
@@ -1369,44 +1570,35 @@ declare type ViewMode = "board" | "list";
|
|
|
1369
1570
|
declare interface WidgetContribution {
|
|
1370
1571
|
id: string;
|
|
1371
1572
|
title: string;
|
|
1372
|
-
|
|
1373
|
-
|
|
1573
|
+
icon?: string;
|
|
1574
|
+
region: WorkbenchRegion;
|
|
1575
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1374
1576
|
singleton?: boolean;
|
|
1375
1577
|
reuse?: WidgetReusePolicy;
|
|
1376
1578
|
mountStrategy?: WidgetMountStrategy;
|
|
1377
1579
|
closable?: boolean;
|
|
1378
1580
|
hiddenByDefault?: boolean;
|
|
1379
|
-
|
|
1380
|
-
|
|
1581
|
+
regionSize?: WorkbenchRegionSize;
|
|
1582
|
+
regionCollapsible?: boolean;
|
|
1381
1583
|
headerBorderBottom?: boolean;
|
|
1584
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1382
1585
|
resourceKinds?: string[];
|
|
1383
1586
|
priority?: number;
|
|
1384
1587
|
rendererId: string;
|
|
1588
|
+
openCommandId?: string;
|
|
1589
|
+
role?: WorkbenchWidgetRole;
|
|
1590
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1591
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1592
|
+
tab?: WorkbenchWidgetTab;
|
|
1385
1593
|
config?: unknown;
|
|
1386
1594
|
canOpen?(resource: ResourceRef): boolean;
|
|
1387
1595
|
}
|
|
1388
1596
|
|
|
1389
1597
|
declare type WidgetMountStrategy = "active" | "keep-mounted";
|
|
1390
1598
|
|
|
1391
|
-
declare type
|
|
1392
|
-
|
|
1393
|
-
declare type WorkbenchArea = (typeof workbenchAreas)[number];
|
|
1394
|
-
|
|
1395
|
-
declare const workbenchAreas: readonly ["nav", "activity", "left-header", "left", "main-header", "main-left", "main", "main-right", "secondary-header", "secondary", "status", "overlay", "floating-header", "floating"];
|
|
1396
|
-
|
|
1397
|
-
declare interface WorkbenchAreaSize {
|
|
1398
|
-
defaultPx?: number;
|
|
1399
|
-
minPx?: number;
|
|
1400
|
-
maxPx?: number;
|
|
1401
|
-
}
|
|
1599
|
+
declare type WidgetMountStrategy_2 = "active" | "keep-mounted";
|
|
1402
1600
|
|
|
1403
|
-
declare
|
|
1404
|
-
id: WorkbenchArea;
|
|
1405
|
-
visible: boolean;
|
|
1406
|
-
size?: number;
|
|
1407
|
-
widgets: WorkbenchWidgetPlacement[];
|
|
1408
|
-
activeWidgetId?: string;
|
|
1409
|
-
}
|
|
1601
|
+
declare type WidgetReusePolicy = "resource" | "none";
|
|
1410
1602
|
|
|
1411
1603
|
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1412
1604
|
|
|
@@ -1421,6 +1613,7 @@ declare interface WorkbenchBreadcrumbController {
|
|
|
1421
1613
|
declare interface WorkbenchBreadcrumbItem {
|
|
1422
1614
|
title: unknown;
|
|
1423
1615
|
icon?: string;
|
|
1616
|
+
indicator?: "session-status";
|
|
1424
1617
|
url?: string;
|
|
1425
1618
|
onClick?: () => void;
|
|
1426
1619
|
resource?: ResourceRef;
|
|
@@ -1430,8 +1623,16 @@ declare interface WorkbenchBreadcrumbState {
|
|
|
1430
1623
|
items: WorkbenchBreadcrumbItem[] | undefined;
|
|
1431
1624
|
}
|
|
1432
1625
|
|
|
1626
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1627
|
+
region: WorkbenchPanelRegion;
|
|
1628
|
+
reference: WorkbenchSubPanelRef;
|
|
1629
|
+
resource?: ResourceRef;
|
|
1630
|
+
title?: string;
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1433
1633
|
declare interface WorkbenchCommandExecutionContext {
|
|
1434
1634
|
resource?: ResourceRef;
|
|
1635
|
+
source?: "panel-add";
|
|
1435
1636
|
}
|
|
1436
1637
|
|
|
1437
1638
|
declare interface WorkbenchCommandExecutionError {
|
|
@@ -1486,6 +1687,7 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1486
1687
|
}
|
|
1487
1688
|
|
|
1488
1689
|
declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1690
|
+
host: WorkbenchHost;
|
|
1489
1691
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1490
1692
|
unregisterModule(moduleId: string): void;
|
|
1491
1693
|
}
|
|
@@ -1509,7 +1711,8 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1509
1711
|
renderers: WorkbenchRenderers;
|
|
1510
1712
|
resources: ResourceRegistry;
|
|
1511
1713
|
settings: SettingsRegistry;
|
|
1512
|
-
|
|
1714
|
+
shell: WorkbenchShellController;
|
|
1715
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1513
1716
|
terminal: WorkbenchTerminalController;
|
|
1514
1717
|
themes: ThemeRegistry;
|
|
1515
1718
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1522,7 +1725,7 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1522
1725
|
export declare interface WorkbenchExtensionCommandContext {
|
|
1523
1726
|
executeCommand(commandId: string, body: CommandExecuteRequest): Promise<unknown> | unknown;
|
|
1524
1727
|
projectId: string;
|
|
1525
|
-
workbench:
|
|
1728
|
+
workbench: WorkbenchModuleContext;
|
|
1526
1729
|
}
|
|
1527
1730
|
|
|
1528
1731
|
export declare interface WorkbenchExtensionCommandPaletteRegistration {
|
|
@@ -1537,67 +1740,58 @@ export declare interface WorkbenchExtensionControlsAdapter {
|
|
|
1537
1740
|
resolveResource?: (record: WorkbenchExtensionControlsRendererRecord) => ResourceRef | undefined;
|
|
1538
1741
|
}
|
|
1539
1742
|
|
|
1540
|
-
export declare interface
|
|
1743
|
+
export declare interface WorkbenchExtensionKanbanRendererAdapter {
|
|
1541
1744
|
/** Override label resolution. Defaults to workbench's `text(value, fallback)`. */
|
|
1542
1745
|
resolveLabel?: Localizer;
|
|
1543
1746
|
/** Post-process an attribute descriptor (after localization). Defaults to identity. */
|
|
1544
|
-
decorateAttribute?: (record:
|
|
1747
|
+
decorateAttribute?: (record: WorkbenchExtensionKanbanRendererRecord, attribute: AttributeDescriptor) => AttributeDescriptor;
|
|
1545
1748
|
/**
|
|
1546
1749
|
* Translate a row's transport-shaped resource (`{ type, id }`) into a workbench
|
|
1547
1750
|
* `ResourceRef`. Defaults to the workbench `pstdio://extension-resource/...`
|
|
1548
1751
|
* scheme — dashboard supplies its own. Returns `undefined` for rows that do not
|
|
1549
1752
|
* carry an explicit resource.
|
|
1550
1753
|
*/
|
|
1551
|
-
resolveRowResource?: (record:
|
|
1754
|
+
resolveRowResource?: (record: WorkbenchExtensionKanbanRendererRecord, row: KanbanRendererRow_2) => ResourceRef | undefined;
|
|
1552
1755
|
/**
|
|
1553
1756
|
* Synthesize a `ResourceRef` for row-action execution context when the row does
|
|
1554
1757
|
* not carry an explicit resource. Defaults to a `pstdio://extension-resource/`
|
|
1555
1758
|
* fallback built from `record.resourceKind` and `row.id`.
|
|
1556
1759
|
*/
|
|
1557
|
-
resolveRowActionResource?: (record:
|
|
1760
|
+
resolveRowActionResource?: (record: WorkbenchExtensionKanbanRendererRecord, row: KanbanRendererRow_2) => ResourceRef | undefined;
|
|
1558
1761
|
/**
|
|
1559
1762
|
* Override the row-action runner. `runDefault` performs the workbench's standard
|
|
1560
1763
|
* flow (look up the row-action command, request params if needed, execute it).
|
|
1561
1764
|
*/
|
|
1562
1765
|
executeRowAction?: (input: {
|
|
1563
|
-
record:
|
|
1766
|
+
record: WorkbenchExtensionKanbanRendererRecord;
|
|
1564
1767
|
action: RowAction;
|
|
1565
|
-
row:
|
|
1768
|
+
row: KanbanRendererRow_2;
|
|
1566
1769
|
resource: ResourceRef | undefined;
|
|
1567
1770
|
runDefault: () => Promise<void>;
|
|
1568
1771
|
}) => void | Promise<void>;
|
|
1569
1772
|
/**
|
|
1570
|
-
* Override the row click handler. When unset the
|
|
1773
|
+
* Override the row click handler. When unset the panel layer falls back to
|
|
1571
1774
|
* opening the row's resource via `ctx.resources.openResource` — set this to
|
|
1572
|
-
* intercept the click (e.g. swallow rejections when no
|
|
1775
|
+
* intercept the click (e.g. swallow rejections when no presenter exists yet).
|
|
1573
1776
|
*/
|
|
1574
1777
|
onRowClick?: (input: {
|
|
1575
|
-
record:
|
|
1576
|
-
row:
|
|
1778
|
+
record: WorkbenchExtensionKanbanRendererRecord;
|
|
1779
|
+
row: KanbanRendererRow_2;
|
|
1577
1780
|
resource: ResourceRef | undefined;
|
|
1578
1781
|
}) => void;
|
|
1579
|
-
/**
|
|
1580
|
-
* Override the inline-create handler. `executeDefault` runs the record's create
|
|
1581
|
-
* command with the column param. When omitted, the default executes and any
|
|
1582
|
-
* configured `onAfterCreate` runs with the returned value.
|
|
1583
|
-
*/
|
|
1584
|
-
onCreateRow?: (input: {
|
|
1585
|
-
record: WorkbenchExtensionDataRendererRecord;
|
|
1586
|
-
columnId: string;
|
|
1587
|
-
executeDefault: () => Promise<unknown>;
|
|
1588
|
-
}) => void;
|
|
1589
|
-
/** Called after a successful default create (when `onCreateRow` is not provided). */
|
|
1782
|
+
/** Called after a successful renderer-owned create form submission. */
|
|
1590
1783
|
onAfterCreate?: (input: {
|
|
1591
|
-
record:
|
|
1784
|
+
record: WorkbenchExtensionKanbanRendererRecord;
|
|
1592
1785
|
created: unknown;
|
|
1593
|
-
|
|
1786
|
+
submission: KanbanRendererCreateSubmission;
|
|
1787
|
+
}) => void | Promise<void>;
|
|
1594
1788
|
/**
|
|
1595
1789
|
* Called after any mutation (attribute change, reorder, column action, default
|
|
1596
1790
|
* create) resolves successfully. Hosts that drive refresh via the outer command
|
|
1597
1791
|
* pipeline (testbench / workbench) leave this unset; dashboard supplies
|
|
1598
|
-
* `ctx.renderers.
|
|
1792
|
+
* `ctx.renderers.refreshKanbanRenderer(id)`.
|
|
1599
1793
|
*/
|
|
1600
|
-
onAfterMutation?: (record:
|
|
1794
|
+
onAfterMutation?: (record: WorkbenchExtensionKanbanRendererRecord) => void;
|
|
1601
1795
|
}
|
|
1602
1796
|
|
|
1603
1797
|
export declare interface WorkbenchExtensionMenuRegistration {
|
|
@@ -1630,22 +1824,33 @@ declare interface WorkbenchFileIconThemeStoreState {
|
|
|
1630
1824
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1631
1825
|
}
|
|
1632
1826
|
|
|
1633
|
-
declare type
|
|
1827
|
+
declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1634
1828
|
|
|
1635
|
-
declare
|
|
1636
|
-
|
|
1637
|
-
declare type WorkbenchFocusChangeListener = (area: WorkbenchFocusArea | undefined) => void;
|
|
1829
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1638
1830
|
|
|
1639
1831
|
declare interface WorkbenchFocusController {
|
|
1640
1832
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1641
|
-
|
|
1833
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1642
1834
|
clearFocus(): void;
|
|
1643
|
-
|
|
1835
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1644
1836
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1645
1837
|
}
|
|
1646
1838
|
|
|
1839
|
+
declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1840
|
+
|
|
1841
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1842
|
+
|
|
1647
1843
|
declare interface WorkbenchFocusState {
|
|
1648
|
-
|
|
1844
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1845
|
+
}
|
|
1846
|
+
|
|
1847
|
+
declare interface WorkbenchHost {
|
|
1848
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1849
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1850
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1851
|
+
carryRegions?: readonly WorkbenchRegion[];
|
|
1852
|
+
}): void;
|
|
1853
|
+
getPersistenceScope(): string | undefined;
|
|
1649
1854
|
}
|
|
1650
1855
|
|
|
1651
1856
|
declare interface WorkbenchLastResourceController {
|
|
@@ -1655,8 +1860,10 @@ declare interface WorkbenchLastResourceController {
|
|
|
1655
1860
|
}
|
|
1656
1861
|
|
|
1657
1862
|
declare interface WorkbenchLayout {
|
|
1658
|
-
|
|
1863
|
+
regions: Record<WorkbenchRegion, WorkbenchRegionState>;
|
|
1864
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1659
1865
|
activeWidgetId?: string;
|
|
1866
|
+
activeLocationWidgetId?: string;
|
|
1660
1867
|
activeResourceUri?: string;
|
|
1661
1868
|
}
|
|
1662
1869
|
|
|
@@ -1665,7 +1872,25 @@ declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
|
1665
1872
|
declare interface WorkbenchLayoutStoreState {
|
|
1666
1873
|
layout: WorkbenchLayout;
|
|
1667
1874
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1668
|
-
placeholders: Partial<Record<
|
|
1875
|
+
placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1879
|
+
|
|
1880
|
+
declare interface WorkbenchLocationEligibility {
|
|
1881
|
+
modeIds?: string[];
|
|
1882
|
+
resourceKinds?: string[];
|
|
1883
|
+
resourceIds?: string[];
|
|
1884
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1885
|
+
}
|
|
1886
|
+
|
|
1887
|
+
declare interface WorkbenchLocationRef {
|
|
1888
|
+
key: string;
|
|
1889
|
+
modeId?: string;
|
|
1890
|
+
resource?: ResourceRef;
|
|
1891
|
+
contributionId?: string;
|
|
1892
|
+
instanceKey?: string;
|
|
1893
|
+
title?: string;
|
|
1669
1894
|
}
|
|
1670
1895
|
|
|
1671
1896
|
declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
@@ -1677,16 +1902,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1677
1902
|
declare interface WorkbenchModeContribution {
|
|
1678
1903
|
id: string;
|
|
1679
1904
|
label?: string;
|
|
1905
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1680
1906
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1907
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1908
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1681
1909
|
}
|
|
1682
1910
|
|
|
1683
1911
|
declare interface WorkbenchModeRegistry {
|
|
1684
1912
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1913
|
+
dispose(): void;
|
|
1685
1914
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1686
1915
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1687
1916
|
listModes(): WorkbenchModeContribution[];
|
|
1688
1917
|
getActiveModeId(): string | undefined;
|
|
1689
|
-
|
|
1918
|
+
isTransitioning(): boolean;
|
|
1919
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1920
|
+
deferSeed?: boolean;
|
|
1921
|
+
}): void;
|
|
1922
|
+
seedActiveMode(): void;
|
|
1690
1923
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1691
1924
|
}
|
|
1692
1925
|
|
|
@@ -1697,6 +1930,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1697
1930
|
|
|
1698
1931
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1699
1932
|
|
|
1933
|
+
declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1934
|
+
|
|
1700
1935
|
declare interface WorkbenchModuleContribution {
|
|
1701
1936
|
id: string;
|
|
1702
1937
|
source?: ContributionSource;
|
|
@@ -1704,7 +1939,21 @@ declare interface WorkbenchModuleContribution {
|
|
|
1704
1939
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1705
1940
|
}
|
|
1706
1941
|
|
|
1707
|
-
declare type WorkbenchModuleContributionContext =
|
|
1942
|
+
declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1943
|
+
|
|
1944
|
+
declare interface WorkbenchNavigationEntry {
|
|
1945
|
+
entryId: string;
|
|
1946
|
+
recordedAt: number;
|
|
1947
|
+
location: WorkbenchLocationRef;
|
|
1948
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1949
|
+
kind: "resource" | "widget" | "mode";
|
|
1950
|
+
modeId?: string;
|
|
1951
|
+
resource?: ResourceRef;
|
|
1952
|
+
widgetId?: string;
|
|
1953
|
+
contributionId?: string;
|
|
1954
|
+
title?: string;
|
|
1955
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1956
|
+
}
|
|
1708
1957
|
|
|
1709
1958
|
declare interface WorkbenchNotification {
|
|
1710
1959
|
id?: string;
|
|
@@ -1723,12 +1972,6 @@ declare interface WorkbenchNotificationAction {
|
|
|
1723
1972
|
args?: unknown;
|
|
1724
1973
|
}
|
|
1725
1974
|
|
|
1726
|
-
declare interface WorkbenchNotificationAction_2 {
|
|
1727
|
-
commandId: string;
|
|
1728
|
-
title: string;
|
|
1729
|
-
args?: unknown;
|
|
1730
|
-
}
|
|
1731
|
-
|
|
1732
1975
|
declare type WorkbenchNotificationEvent = {
|
|
1733
1976
|
type: "show";
|
|
1734
1977
|
id: string;
|
|
@@ -1740,26 +1983,193 @@ declare type WorkbenchNotificationEvent = {
|
|
|
1740
1983
|
|
|
1741
1984
|
declare type WorkbenchNotificationLevel = "info" | "success" | "warning" | "error";
|
|
1742
1985
|
|
|
1743
|
-
declare type WorkbenchNotificationLevel_2 = "info" | "success" | "warning" | "error";
|
|
1744
|
-
|
|
1745
1986
|
declare type WorkbenchNotificationListener = (event: WorkbenchNotificationEvent) => void;
|
|
1746
1987
|
|
|
1747
1988
|
declare interface WorkbenchNotificationStoreState {
|
|
1748
1989
|
notifications: Record<string, RegisteredWorkbenchNotification>;
|
|
1749
1990
|
}
|
|
1750
1991
|
|
|
1992
|
+
declare interface WorkbenchPanelContribution {
|
|
1993
|
+
id: string;
|
|
1994
|
+
title: string;
|
|
1995
|
+
icon?: string;
|
|
1996
|
+
region: WorkbenchRegion;
|
|
1997
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1998
|
+
rendererId: string;
|
|
1999
|
+
closable: boolean;
|
|
2000
|
+
singleton?: boolean;
|
|
2001
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
2002
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2003
|
+
hiddenByDefault?: boolean;
|
|
2004
|
+
regionSize?: WorkbenchRegionSize;
|
|
2005
|
+
regionCollapsible?: boolean;
|
|
2006
|
+
headerBorderBottom?: boolean;
|
|
2007
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
2008
|
+
resourceKinds?: string[];
|
|
2009
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
2010
|
+
priority?: number;
|
|
2011
|
+
openCommandId?: string;
|
|
2012
|
+
tab?: WorkbenchPanelTab;
|
|
2013
|
+
config?: unknown;
|
|
2014
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
2015
|
+
ownerId?: string;
|
|
2016
|
+
source?: ContributionSource;
|
|
2017
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
2018
|
+
}
|
|
2019
|
+
|
|
2020
|
+
declare interface WorkbenchPanelInstance {
|
|
2021
|
+
instanceId: string;
|
|
2022
|
+
panelId: string;
|
|
2023
|
+
ownerId?: string;
|
|
2024
|
+
source?: ContributionSource;
|
|
2025
|
+
resource?: ResourceRef;
|
|
2026
|
+
resourceUri?: string;
|
|
2027
|
+
ownerResourceUri?: string;
|
|
2028
|
+
title?: string;
|
|
2029
|
+
pinned?: boolean;
|
|
2030
|
+
closable: boolean;
|
|
2031
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2032
|
+
hiddenByDefault?: boolean;
|
|
2033
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2034
|
+
tab?: WorkbenchPanelTab;
|
|
2035
|
+
}
|
|
2036
|
+
|
|
2037
|
+
declare interface WorkbenchPanelInstance_2 {
|
|
2038
|
+
instanceId: string;
|
|
2039
|
+
panelId: string;
|
|
2040
|
+
ownerId?: string;
|
|
2041
|
+
source?: ContributionSource_2;
|
|
2042
|
+
resource?: ResourceRef_2;
|
|
2043
|
+
resourceUri?: string;
|
|
2044
|
+
ownerResourceUri?: string;
|
|
2045
|
+
title?: string;
|
|
2046
|
+
pinned?: boolean;
|
|
2047
|
+
closable: boolean;
|
|
2048
|
+
mountStrategy?: WorkbenchPanelMountStrategy_2;
|
|
2049
|
+
hiddenByDefault?: boolean;
|
|
2050
|
+
tabRetention?: WorkbenchTabRetention_2;
|
|
2051
|
+
tab?: WorkbenchPanelTab_2;
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2055
|
+
region: WorkbenchPanelMenuRegion;
|
|
2056
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
2057
|
+
};
|
|
2058
|
+
|
|
2059
|
+
declare interface WorkbenchPanelMenuDefinition {
|
|
2060
|
+
id: string;
|
|
2061
|
+
title: string;
|
|
2062
|
+
icon?: string;
|
|
2063
|
+
side: WorkbenchPanelMenuSide;
|
|
2064
|
+
singleton?: boolean;
|
|
2065
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
2066
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2067
|
+
hiddenByDefault?: boolean;
|
|
2068
|
+
regionSize?: WorkbenchRegionSize;
|
|
2069
|
+
regionCollapsible?: boolean;
|
|
2070
|
+
headerBorderBottom?: boolean;
|
|
2071
|
+
rendererId: string;
|
|
2072
|
+
priority?: number;
|
|
2073
|
+
config?: unknown;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
2077
|
+
level: "panel";
|
|
2078
|
+
contributionId?: string;
|
|
2079
|
+
} | {
|
|
2080
|
+
level: "sub-panel";
|
|
2081
|
+
contributionId: string;
|
|
2082
|
+
};
|
|
2083
|
+
|
|
2084
|
+
declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
2085
|
+
|
|
2086
|
+
declare const workbenchPanelMenuRegions: {
|
|
2087
|
+
readonly main: {
|
|
2088
|
+
readonly left: "main-left-menu";
|
|
2089
|
+
readonly right: "main-right-menu";
|
|
2090
|
+
};
|
|
2091
|
+
readonly secondary: {
|
|
2092
|
+
readonly left: "secondary-left-menu";
|
|
2093
|
+
readonly right: "secondary-right-menu";
|
|
2094
|
+
};
|
|
2095
|
+
readonly side: {
|
|
2096
|
+
readonly left: "side-left-menu";
|
|
2097
|
+
readonly right: "side-right-menu";
|
|
2098
|
+
};
|
|
2099
|
+
};
|
|
2100
|
+
|
|
2101
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
2102
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
2103
|
+
}
|
|
2104
|
+
|
|
2105
|
+
declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
2106
|
+
|
|
2107
|
+
declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
2108
|
+
|
|
2109
|
+
declare type WorkbenchPanelMountStrategy_2 = WidgetMountStrategy_2;
|
|
2110
|
+
|
|
2111
|
+
declare type WorkbenchPanelOpenStrategy = {
|
|
2112
|
+
kind: "activate-or-open";
|
|
2113
|
+
position?: WorkbenchTabPosition;
|
|
2114
|
+
} | {
|
|
2115
|
+
kind: "replace-active";
|
|
2116
|
+
} | {
|
|
2117
|
+
kind: "replace-panel";
|
|
2118
|
+
instanceId: string;
|
|
2119
|
+
} | {
|
|
2120
|
+
kind: "preview";
|
|
2121
|
+
position?: WorkbenchTabPosition;
|
|
2122
|
+
};
|
|
2123
|
+
|
|
2124
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
2125
|
+
|
|
2126
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
2127
|
+
|
|
2128
|
+
declare interface WorkbenchPanelRenderInput {
|
|
2129
|
+
workbench: WorkbenchCore;
|
|
2130
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
2131
|
+
instance: WorkbenchPanelInstance;
|
|
2132
|
+
refresh: () => void;
|
|
2133
|
+
}
|
|
2134
|
+
|
|
2135
|
+
declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
2136
|
+
|
|
1751
2137
|
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1752
2138
|
|
|
1753
2139
|
declare interface WorkbenchPanelsController {
|
|
1754
2140
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1755
|
-
isOpen(
|
|
1756
|
-
setOpen(
|
|
1757
|
-
toggle(
|
|
2141
|
+
isOpen(regionId: string): boolean;
|
|
2142
|
+
setOpen(regionId: string, open: boolean): void;
|
|
2143
|
+
toggle(regionId: string): void;
|
|
2144
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
2145
|
+
getPersistenceScope(): string | undefined;
|
|
1758
2146
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1759
2147
|
}
|
|
1760
2148
|
|
|
1761
2149
|
declare interface WorkbenchPanelsState {
|
|
1762
|
-
|
|
2150
|
+
openByRegionId: Record<string, boolean>;
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2153
|
+
declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
2154
|
+
|
|
2155
|
+
declare type WorkbenchPanelTab_2 = WorkbenchWidgetTab_2;
|
|
2156
|
+
|
|
2157
|
+
declare type WorkbenchRegion = (typeof workbenchRegions)[number];
|
|
2158
|
+
|
|
2159
|
+
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"];
|
|
2160
|
+
|
|
2161
|
+
declare interface WorkbenchRegionSize {
|
|
2162
|
+
defaultPx?: number;
|
|
2163
|
+
minPx?: number;
|
|
2164
|
+
maxPx?: number;
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2167
|
+
declare interface WorkbenchRegionState {
|
|
2168
|
+
id: WorkbenchRegion;
|
|
2169
|
+
visible: boolean;
|
|
2170
|
+
size?: number;
|
|
2171
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
2172
|
+
activeWidgetId?: string;
|
|
1763
2173
|
}
|
|
1764
2174
|
|
|
1765
2175
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
@@ -1767,7 +2177,7 @@ declare type WorkbenchRendererChangeListener = () => void;
|
|
|
1767
2177
|
declare type WorkbenchRendererRegistration = {
|
|
1768
2178
|
id: string;
|
|
1769
2179
|
keepAlive?: false;
|
|
1770
|
-
render: (input:
|
|
2180
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1771
2181
|
} | {
|
|
1772
2182
|
id: string;
|
|
1773
2183
|
keepAlive: true;
|
|
@@ -1780,32 +2190,54 @@ declare interface WorkbenchRendererRegistry {
|
|
|
1780
2190
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1781
2191
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1782
2192
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1783
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
2193
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1784
2194
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1785
|
-
getClaim(rendererId: string):
|
|
2195
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1786
2196
|
}
|
|
1787
2197
|
|
|
1788
|
-
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry &
|
|
2198
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1789
2199
|
|
|
1790
2200
|
declare interface WorkbenchRendererStoreState {
|
|
1791
2201
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1792
2202
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1793
|
-
claims: Record<string,
|
|
2203
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
declare interface WorkbenchShellController {
|
|
2207
|
+
getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
|
|
2208
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
2209
|
+
setRegionSize(region: WorkbenchRegion, size: number): void;
|
|
2210
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
2211
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
2212
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
1794
2213
|
}
|
|
1795
2214
|
|
|
1796
|
-
declare type
|
|
2215
|
+
declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1797
2216
|
|
|
1798
|
-
declare interface
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
2217
|
+
declare interface WorkbenchShellRegionState {
|
|
2218
|
+
open: boolean;
|
|
2219
|
+
size?: number;
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
2223
|
+
|
|
2224
|
+
declare interface WorkbenchSidePanelController {
|
|
2225
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
2226
|
+
getMode(): WorkbenchSidePanelMode;
|
|
2227
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
2228
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
1803
2229
|
}
|
|
1804
2230
|
|
|
1805
|
-
declare type
|
|
2231
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
2232
|
+
|
|
2233
|
+
declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
1806
2234
|
|
|
1807
|
-
declare interface
|
|
1808
|
-
mode:
|
|
2235
|
+
declare interface WorkbenchSidePanelState {
|
|
2236
|
+
mode: WorkbenchSidePanelMode;
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2239
|
+
declare interface WorkbenchSnapshot {
|
|
2240
|
+
layout: WorkbenchLayout;
|
|
1809
2241
|
}
|
|
1810
2242
|
|
|
1811
2243
|
declare interface WorkbenchStore<TState> {
|
|
@@ -1824,6 +2256,27 @@ declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
|
1824
2256
|
|
|
1825
2257
|
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
1826
2258
|
|
|
2259
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2260
|
+
region: WorkbenchPanelRegion;
|
|
2261
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
2262
|
+
} & WorkbenchPanelMenusContribution;
|
|
2263
|
+
|
|
2264
|
+
declare interface WorkbenchSubPanelRef {
|
|
2265
|
+
contributionId: string;
|
|
2266
|
+
resourceUri?: string;
|
|
2267
|
+
instanceKey?: string;
|
|
2268
|
+
}
|
|
2269
|
+
|
|
2270
|
+
declare type WorkbenchTabPosition = "start" | "end" | {
|
|
2271
|
+
beforeWidgetId: string;
|
|
2272
|
+
} | {
|
|
2273
|
+
afterWidgetId: string;
|
|
2274
|
+
};
|
|
2275
|
+
|
|
2276
|
+
declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
2277
|
+
|
|
2278
|
+
declare type WorkbenchTabRetention_2 = "preview" | "persistent";
|
|
2279
|
+
|
|
1827
2280
|
declare interface WorkbenchTerminalController {
|
|
1828
2281
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
1829
2282
|
/** True once the host injected a session opener. */
|
|
@@ -1917,18 +2370,29 @@ declare interface WorkbenchWidgetPlacement {
|
|
|
1917
2370
|
source?: ContributionSource;
|
|
1918
2371
|
resource?: ResourceRef;
|
|
1919
2372
|
resourceUri?: string;
|
|
2373
|
+
ownerResourceUri?: string;
|
|
1920
2374
|
title?: string;
|
|
1921
2375
|
pinned?: boolean;
|
|
1922
2376
|
closable?: boolean;
|
|
1923
2377
|
mountStrategy?: WidgetMountStrategy;
|
|
1924
2378
|
hiddenByDefault?: boolean;
|
|
2379
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2380
|
+
tab?: WorkbenchWidgetTab;
|
|
2381
|
+
role?: WorkbenchWidgetRole;
|
|
1925
2382
|
}
|
|
1926
2383
|
|
|
1927
|
-
declare
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
2384
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2385
|
+
|
|
2386
|
+
declare interface WorkbenchWidgetTab {
|
|
2387
|
+
contentRendererId?: string;
|
|
2388
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2389
|
+
customMenuRendererId?: string;
|
|
2390
|
+
}
|
|
2391
|
+
|
|
2392
|
+
declare interface WorkbenchWidgetTab_2 {
|
|
2393
|
+
contentRendererId?: string;
|
|
2394
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2395
|
+
customMenuRendererId?: string;
|
|
1932
2396
|
}
|
|
1933
2397
|
|
|
1934
2398
|
export { }
|