@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/index.d.ts
CHANGED
|
@@ -1,28 +1,8 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
|
-
import { NamedSet } from 'zustand/middleware';
|
|
3
2
|
import { ReactNode } from 'react';
|
|
4
|
-
import { StoreApi } from 'zustand/vanilla';
|
|
5
|
-
|
|
6
|
-
declare type AnchorCandidates = "global" | "scoped";
|
|
7
3
|
|
|
8
4
|
export declare type AnchorId = "primary" | "secondary" | "attached";
|
|
9
5
|
|
|
10
|
-
declare type AnchorPersistence = "primary" | "derived" | "detached";
|
|
11
|
-
|
|
12
|
-
export declare type AnchorReadId = "primary" | "attached";
|
|
13
|
-
|
|
14
|
-
export declare type AnchorReconcileAction = {
|
|
15
|
-
area: WorkbenchArea;
|
|
16
|
-
action: "keep" | "clear";
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
declare interface AnchorSurface {
|
|
20
|
-
role: "anchor";
|
|
21
|
-
anchor: AnchorId;
|
|
22
|
-
persistence: AnchorPersistence;
|
|
23
|
-
candidates: AnchorCandidates;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
6
|
export declare interface AttributeDescriptor {
|
|
27
7
|
id: string;
|
|
28
8
|
label: string;
|
|
@@ -33,7 +13,7 @@ export declare interface AttributeDescriptor {
|
|
|
33
13
|
displayable?: boolean;
|
|
34
14
|
editable?: boolean;
|
|
35
15
|
display?: AttributeDisplayDescriptor;
|
|
36
|
-
render?: (value: unknown, row:
|
|
16
|
+
render?: (value: unknown, row: KanbanRendererRow) => ReactNode;
|
|
37
17
|
compare?: (a: unknown, b: unknown) => number;
|
|
38
18
|
}
|
|
39
19
|
|
|
@@ -48,7 +28,7 @@ export declare type AttributeKind = AttributeType["kind"];
|
|
|
48
28
|
* Reactive source for an entire attribute schema. Lets a contribution
|
|
49
29
|
* add/remove/edit attributes at runtime without re-registering.
|
|
50
30
|
*/
|
|
51
|
-
|
|
31
|
+
declare interface AttributesSource {
|
|
52
32
|
subscribe: (listener: () => void) => () => void;
|
|
53
33
|
getSnapshot: () => AttributeDescriptor[];
|
|
54
34
|
}
|
|
@@ -87,10 +67,6 @@ export declare interface BoardColumnConfig {
|
|
|
87
67
|
actions?: BoardColumnAction[];
|
|
88
68
|
}
|
|
89
69
|
|
|
90
|
-
declare interface ChromeSurface {
|
|
91
|
-
role: "chrome";
|
|
92
|
-
}
|
|
93
|
-
|
|
94
70
|
/**
|
|
95
71
|
* A data-driven list of items, each opening a contributor-supplied editor. The
|
|
96
72
|
* framework knows nothing about what an item is — it only calls these hooks.
|
|
@@ -102,7 +78,7 @@ export declare interface CollectionSettingsPanel<TItem = unknown> extends Settin
|
|
|
102
78
|
itemLabel(item: TItem): string;
|
|
103
79
|
itemIcon?(item: TItem): string | undefined;
|
|
104
80
|
groupBy?: SettingsCollectionGroupBy<TItem>;
|
|
105
|
-
renderItem(item: TItem, input:
|
|
81
|
+
renderItem(item: TItem, input: WorkbenchPanelRenderInput): unknown;
|
|
106
82
|
actions?: SettingsAction[];
|
|
107
83
|
}
|
|
108
84
|
|
|
@@ -243,8 +219,6 @@ export declare interface ControlsQueryResult {
|
|
|
243
219
|
readOnly?: boolean;
|
|
244
220
|
}
|
|
245
221
|
|
|
246
|
-
declare type ControlsRendererArea = "main-right" | "secondary" | "overlay";
|
|
247
|
-
|
|
248
222
|
export declare interface ControlsRendererContribution {
|
|
249
223
|
id: string;
|
|
250
224
|
title: string;
|
|
@@ -264,12 +238,12 @@ export declare interface ControlsRendererContribution {
|
|
|
264
238
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
265
239
|
}
|
|
266
240
|
|
|
267
|
-
export declare type ControlsRendererImplementation = (input:
|
|
241
|
+
export declare type ControlsRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
268
242
|
controlsRendererId: string;
|
|
269
243
|
}) => unknown;
|
|
270
244
|
|
|
271
245
|
export declare interface ControlsRendererLayout {
|
|
272
|
-
|
|
246
|
+
region?: ControlsRendererRegion;
|
|
273
247
|
defaultPx?: number;
|
|
274
248
|
minPx?: number;
|
|
275
249
|
maxPx?: number;
|
|
@@ -281,6 +255,8 @@ export declare interface ControlsRendererRefreshEvent {
|
|
|
281
255
|
|
|
282
256
|
declare type ControlsRendererRefreshListener = (event: ControlsRendererRefreshEvent) => void;
|
|
283
257
|
|
|
258
|
+
declare type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
|
|
259
|
+
|
|
284
260
|
export declare interface ControlsRendererRegistry {
|
|
285
261
|
controlsStore: WorkbenchStore<ControlsRendererStoreState>;
|
|
286
262
|
registerControlsRenderer(contribution: ControlsRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
@@ -291,7 +267,7 @@ export declare interface ControlsRendererRegistry {
|
|
|
291
267
|
onDidRefreshControlsRenderer(listener: ControlsRendererRefreshListener): Disposable_2;
|
|
292
268
|
}
|
|
293
269
|
|
|
294
|
-
|
|
270
|
+
declare interface ControlsRendererStoreState {
|
|
295
271
|
renderers: Record<string, RegisteredControlsRendererContribution>;
|
|
296
272
|
}
|
|
297
273
|
|
|
@@ -307,137 +283,25 @@ export declare interface ControlsUpdateValueInput {
|
|
|
307
283
|
resource?: ResourceRef;
|
|
308
284
|
}
|
|
309
285
|
|
|
310
|
-
export declare const
|
|
311
|
-
|
|
312
|
-
export declare const createCommandRegistry: (input?: CreateCommandRegistryInput) => CommandRegistry;
|
|
313
|
-
|
|
314
|
-
declare interface CreateCommandRegistryInput {
|
|
315
|
-
context?: ContextKeyService;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
export declare const createContextKeyService: () => ContextKeyService;
|
|
319
|
-
|
|
320
|
-
export declare const createControlsRendererRegistry: (input: CreateControlsRendererRegistryInput) => ControlsRendererRegistry;
|
|
321
|
-
|
|
322
|
-
export declare interface CreateControlsRendererRegistryInput {
|
|
323
|
-
rendererRegistry: WorkbenchRendererRegistry;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
export declare const createDataRendererRegistry: (input: CreateDataRendererRegistryInput) => DataRendererRegistry;
|
|
327
|
-
|
|
328
|
-
export declare interface CreateDataRendererRegistryInput {
|
|
329
|
-
rendererRegistry: WorkbenchRendererRegistry;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
export declare const createDefaultWorkbenchLayout: () => WorkbenchLayout;
|
|
333
|
-
|
|
334
|
-
export declare const createFileIconThemeRegistry: () => FileIconThemeRegistry;
|
|
335
|
-
|
|
336
|
-
export declare const createFileRendererRegistry: (input: CreateFileRendererRegistryInput) => FileRendererRegistry;
|
|
337
|
-
|
|
338
|
-
export declare interface CreateFileRendererRegistryInput {
|
|
339
|
-
rendererRegistry: WorkbenchRendererRegistry;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
export declare const createHistoryController: (input: CreateHistoryControllerInput) => HistoryController;
|
|
343
|
-
|
|
344
|
-
export declare interface CreateHistoryControllerInput {
|
|
345
|
-
layout: LayoutModel;
|
|
346
|
-
modes?: Pick<WorkbenchModeRegistry, "getActiveModeId" | "getMode" | "onDidChangeActive" | "setActiveMode">;
|
|
347
|
-
resources: ResourceRegistry;
|
|
348
|
-
maxEntries?: number;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
export declare const createKeybindingRegistry: (deps: KeybindingRegistryDeps) => KeybindingRegistry;
|
|
352
|
-
|
|
353
|
-
export declare const createLayoutModel: (input?: CreateLayoutModelInput) => LayoutModel;
|
|
354
|
-
|
|
355
|
-
export declare interface CreateLayoutModelInput {
|
|
356
|
-
persistence?: LayoutPersistenceAdapter;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
export declare const createMenuRegistry: (deps: MenuRegistryDeps) => MenuRegistry;
|
|
360
|
-
|
|
361
|
-
export declare const createNavigationRegistry: (input?: CreateNavigationRegistryInput) => NavigationRegistry;
|
|
362
|
-
|
|
363
|
-
export declare interface CreateNavigationRegistryInput {
|
|
364
|
-
resolveDispatcher?(): NavigationDispatcherContext;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
export declare const createNotificationRegistry: () => NotificationRegistry;
|
|
368
|
-
|
|
369
|
-
export declare const createPreferenceRegistry: (input?: CreatePreferenceRegistryInput) => PreferenceRegistry;
|
|
370
|
-
|
|
371
|
-
export declare interface CreatePreferenceRegistryInput {
|
|
372
|
-
persistence?: PreferencePersistenceAdapter;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
export declare const createResourceRegistry: (input?: CreateResourceRegistryInput) => ResourceRegistry;
|
|
376
|
-
|
|
377
|
-
export declare interface CreateResourceRegistryInput {
|
|
378
|
-
getPrimary?: () => ResourceRef | undefined;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
export declare const createSettingsRegistry: () => SettingsRegistry;
|
|
382
|
-
|
|
383
|
-
export declare const createThemeRegistry: () => ThemeRegistry;
|
|
384
|
-
|
|
385
|
-
export declare const createTreeRendererRegistry: (input: CreateTreeRendererRegistryInput) => TreeRendererRegistry;
|
|
386
|
-
|
|
387
|
-
export declare interface CreateTreeRendererRegistryInput {
|
|
388
|
-
rendererRegistry: WorkbenchRendererRegistry;
|
|
389
|
-
persistence?: TreeRendererPersistenceAdapter;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
export declare const createWorkbenchBreadcrumbController: () => WorkbenchBreadcrumbController;
|
|
393
|
-
|
|
394
|
-
export declare const createWorkbenchCommandPaletteController: (input?: CreateWorkbenchCommandPaletteControllerInput) => WorkbenchCommandPaletteController;
|
|
395
|
-
|
|
396
|
-
export declare interface CreateWorkbenchCommandPaletteControllerInput {
|
|
397
|
-
initialOpen?: boolean;
|
|
398
|
-
}
|
|
286
|
+
export declare const createResourceBreadcrumbItems: (resources: ResourceRegistry, resource: ResourceRef | undefined) => WorkbenchBreadcrumbItem[];
|
|
399
287
|
|
|
400
288
|
export declare const createWorkbenchCore: (input?: CreateWorkbenchCoreInput) => WorkbenchCore;
|
|
401
289
|
|
|
402
290
|
export declare interface CreateWorkbenchCoreInput {
|
|
403
291
|
isInScope?: (resource: ResourceRef, primary: ResourceRef | undefined) => boolean;
|
|
404
292
|
layoutPersistence?: LayoutPersistenceAdapter;
|
|
293
|
+
persistence?: WorkbenchPersistenceAdapter;
|
|
294
|
+
historyPersistence?: WorkbenchHistoryPersistence;
|
|
405
295
|
preferencePersistence?: PreferencePersistenceAdapter;
|
|
406
296
|
treePersistence?: TreeRendererPersistenceAdapter;
|
|
407
297
|
panelsPersistence?: WorkbenchPanelsPersistenceAdapter;
|
|
298
|
+
defaultPanelOpenByRegionId?: Partial<Record<WorkbenchRegion, boolean>>;
|
|
408
299
|
lastResourcePersistence?: LastResourcePersistenceAdapter;
|
|
409
|
-
|
|
300
|
+
initialSidePanelMode?: WorkbenchSidePanelMode;
|
|
410
301
|
renderers?: CreateWorkbenchRendererRegistryInput;
|
|
411
302
|
}
|
|
412
303
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
export declare interface CreateWorkbenchFocusControllerInput {
|
|
416
|
-
context: ContextKeyService;
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
export declare const createWorkbenchLastResourceController: (input: CreateWorkbenchLastResourceControllerInput) => WorkbenchLastResourceController;
|
|
420
|
-
|
|
421
|
-
export declare interface CreateWorkbenchLastResourceControllerInput {
|
|
422
|
-
persistence?: LastResourcePersistenceAdapter;
|
|
423
|
-
openResource(resource: ResourceRef): Promise<unknown>;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
export declare const createWorkbenchModeRegistry: (input: CreateWorkbenchModeRegistryInput) => WorkbenchModeRegistry;
|
|
427
|
-
|
|
428
|
-
declare interface CreateWorkbenchModeRegistryInput {
|
|
429
|
-
resolveContext(): WorkbenchModeActivationContext;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
export declare const createWorkbenchPanelsController: (input?: CreateWorkbenchPanelsControllerInput) => WorkbenchPanelsController;
|
|
433
|
-
|
|
434
|
-
export declare interface CreateWorkbenchPanelsControllerInput {
|
|
435
|
-
persistence?: WorkbenchPanelsPersistenceAdapter;
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
export declare const createWorkbenchRendererRegistry: (input?: CreateWorkbenchRendererRegistryInput) => WorkbenchRendererRegistry;
|
|
439
|
-
|
|
440
|
-
export declare interface CreateWorkbenchRendererRegistryInput {
|
|
304
|
+
declare interface CreateWorkbenchRendererRegistryInput {
|
|
441
305
|
initialRenderers?: WorkbenchRendererRegistration[];
|
|
442
306
|
createHost?: () => HTMLElement;
|
|
443
307
|
}
|
|
@@ -448,129 +312,129 @@ export declare const createWorkbenchSelectionResourceMetadata: (resource: Pick<R
|
|
|
448
312
|
"workbench.selectionResourceUri": string;
|
|
449
313
|
};
|
|
450
314
|
|
|
451
|
-
export declare const createWorkbenchSessionPanelController: (input?: CreateWorkbenchSessionPanelControllerInput) => WorkbenchSessionPanelController;
|
|
452
|
-
|
|
453
|
-
export declare interface CreateWorkbenchSessionPanelControllerInput {
|
|
454
|
-
initialMode?: WorkbenchSessionPanelMode;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
export declare const createWorkbenchStore: <TState>(input: CreateWorkbenchStoreInput<TState>) => InternalWorkbenchStore<TState>;
|
|
458
|
-
|
|
459
|
-
export declare interface CreateWorkbenchStoreInput<TState> {
|
|
460
|
-
name?: string;
|
|
461
|
-
initialState: TState;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
export declare const createWorkbenchTerminalController: () => WorkbenchTerminalController;
|
|
465
|
-
|
|
466
315
|
/**
|
|
467
316
|
* Renders its own page. `render` returns `unknown` so core stays React-free — the
|
|
468
317
|
* React layer treats the result as a node, exactly like WorkbenchRendererRegistration.
|
|
469
318
|
*/
|
|
470
319
|
export declare interface CustomSettingsPanel extends SettingsPanelBase {
|
|
471
320
|
kind: "custom";
|
|
472
|
-
render(input:
|
|
321
|
+
render(input: WorkbenchPanelRenderInput): unknown;
|
|
473
322
|
}
|
|
474
323
|
|
|
475
|
-
export declare interface
|
|
324
|
+
export declare interface DataTableRendererColumn {
|
|
325
|
+
id: string;
|
|
326
|
+
label?: string;
|
|
327
|
+
description?: string;
|
|
328
|
+
icon?: unknown;
|
|
329
|
+
hidden?: boolean;
|
|
330
|
+
stat?: DataTableRendererColumnStat;
|
|
331
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
export declare type DataTableRendererColumnRenderer = {
|
|
335
|
+
type: "json";
|
|
336
|
+
} | {
|
|
337
|
+
type: "color-scale";
|
|
338
|
+
stops: Array<{
|
|
339
|
+
value: number;
|
|
340
|
+
color: DataTableRendererThemeColor;
|
|
341
|
+
}>;
|
|
342
|
+
} | {
|
|
343
|
+
type: "categorical-color";
|
|
344
|
+
categories: Array<{
|
|
345
|
+
value: string | number | boolean | null;
|
|
346
|
+
color: DataTableRendererThemeColor;
|
|
347
|
+
}>;
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
export declare type DataTableRendererColumnStat = {
|
|
351
|
+
type: "unique";
|
|
352
|
+
} | {
|
|
353
|
+
type: "histogram";
|
|
354
|
+
bins?: number;
|
|
355
|
+
} | {
|
|
356
|
+
type: "top-values";
|
|
357
|
+
limit?: number;
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
export declare interface DataTableRendererContribution {
|
|
476
361
|
id: string;
|
|
477
362
|
title: string;
|
|
478
363
|
resourceKind?: string;
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
* `WorkbenchDataView` subscribes so additions / removals / kind changes
|
|
486
|
-
* propagate live without re-registering the renderer.
|
|
487
|
-
*/
|
|
488
|
-
attributes: AttributeDescriptor[] | AttributesSource;
|
|
489
|
-
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
490
|
-
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
491
|
-
hideToolbar?: boolean;
|
|
364
|
+
columns?: DataTableRendererColumn[];
|
|
365
|
+
selectionMode?: "none" | "multiple";
|
|
366
|
+
selectionActions?: DataTableRendererSelectionAction[];
|
|
367
|
+
rowActions?: DataTableRendererRowAction[];
|
|
368
|
+
initialPageSize?: number;
|
|
369
|
+
pageSizeOptions?: number[];
|
|
492
370
|
emptyTitle?: string;
|
|
493
371
|
emptyDescription?: string;
|
|
494
|
-
|
|
495
|
-
defaultSettings?: Partial<DataRendererSettings>;
|
|
496
|
-
defaultFilters?: DataRendererFilterState;
|
|
497
|
-
/**
|
|
498
|
-
* Data source. Receives the current display state so backends can paginate
|
|
499
|
-
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
500
|
-
* so this can return unfiltered rows in simple cases.
|
|
501
|
-
*/
|
|
502
|
-
executeQuery(state: DataRendererQueryState): Promise<TRow[]> | TRow[];
|
|
372
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
503
373
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
504
|
-
|
|
505
|
-
onRowClick?: (row: TRow) => void;
|
|
506
|
-
/** Per-row right-click context menu actions (mirrored from <DataRenderer>). */
|
|
507
|
-
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
508
|
-
/**
|
|
509
|
-
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
510
|
-
* the board (the renderer passes the grouping attribute id + the target
|
|
511
|
-
* column value).
|
|
512
|
-
*/
|
|
513
|
-
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
514
|
-
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
515
|
-
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
516
|
-
onCreateRow?: (columnId: string) => void;
|
|
517
|
-
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
374
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
518
375
|
}
|
|
519
376
|
|
|
520
|
-
export declare type
|
|
521
|
-
|
|
522
|
-
export declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
523
|
-
dataRendererId: string;
|
|
377
|
+
export declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
378
|
+
dataTableRendererId: string;
|
|
524
379
|
}) => unknown;
|
|
525
380
|
|
|
526
|
-
export declare interface
|
|
527
|
-
|
|
528
|
-
|
|
381
|
+
export declare interface DataTableRendererQueryContext {
|
|
382
|
+
resource?: ResourceRef;
|
|
383
|
+
modeId?: string;
|
|
529
384
|
}
|
|
530
385
|
|
|
531
|
-
export declare interface
|
|
532
|
-
|
|
533
|
-
|
|
386
|
+
export declare interface DataTableRendererQueryResult {
|
|
387
|
+
rows: DataTableRendererRow[];
|
|
388
|
+
columns?: DataTableRendererColumn[];
|
|
534
389
|
}
|
|
535
390
|
|
|
536
|
-
declare interface
|
|
537
|
-
|
|
391
|
+
export declare interface DataTableRendererRefreshEvent {
|
|
392
|
+
dataTableRendererId: string;
|
|
538
393
|
}
|
|
539
394
|
|
|
540
|
-
declare
|
|
395
|
+
export declare interface DataTableRendererRegistry {
|
|
396
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
397
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
398
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
399
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
400
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
401
|
+
refreshDataTableRenderer(id: string): void;
|
|
402
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
403
|
+
}
|
|
541
404
|
|
|
542
|
-
export declare interface
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
getDataRenderer(id: string): RegisteredDataRendererContribution | undefined;
|
|
547
|
-
listDataRenderers(): RegisteredDataRendererContribution[];
|
|
548
|
-
refreshDataRenderer(id: string): void;
|
|
549
|
-
onDidRefreshDataRenderer(listener: DataRendererRefreshListener): Disposable_2;
|
|
405
|
+
export declare interface DataTableRendererRow {
|
|
406
|
+
id: string;
|
|
407
|
+
values: Record<string, unknown>;
|
|
408
|
+
resource?: ResourceRef;
|
|
550
409
|
}
|
|
551
410
|
|
|
552
|
-
export declare interface
|
|
411
|
+
export declare interface DataTableRendererRowAction {
|
|
553
412
|
id: string;
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
* resource via the workbench).
|
|
559
|
-
*/
|
|
560
|
-
resource?: unknown;
|
|
561
|
-
attributes: Record<string, unknown>;
|
|
413
|
+
label: string;
|
|
414
|
+
icon?: unknown;
|
|
415
|
+
destructive?: boolean;
|
|
416
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
562
417
|
}
|
|
563
418
|
|
|
564
|
-
export declare interface
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
419
|
+
export declare interface DataTableRendererSelectionAction {
|
|
420
|
+
id: string;
|
|
421
|
+
label: string;
|
|
422
|
+
icon?: unknown;
|
|
423
|
+
destructive?: boolean;
|
|
424
|
+
run(rows: DataTableRendererRow[]): Promise<void> | void;
|
|
570
425
|
}
|
|
571
426
|
|
|
572
|
-
|
|
573
|
-
renderers: Record<string,
|
|
427
|
+
declare interface DataTableRendererStoreState {
|
|
428
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export declare interface DataTableRendererThemeColor {
|
|
432
|
+
light: string;
|
|
433
|
+
dark: string;
|
|
434
|
+
foreground?: {
|
|
435
|
+
light: string;
|
|
436
|
+
dark: string;
|
|
437
|
+
};
|
|
574
438
|
}
|
|
575
439
|
|
|
576
440
|
declare interface Disposable_2 {
|
|
@@ -649,7 +513,7 @@ export declare interface FileRendererContribution {
|
|
|
649
513
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
650
514
|
}
|
|
651
515
|
|
|
652
|
-
export declare type FileRendererImplementation = (input:
|
|
516
|
+
export declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
653
517
|
fileRendererId: string;
|
|
654
518
|
}) => unknown;
|
|
655
519
|
|
|
@@ -669,21 +533,19 @@ export declare interface FileRendererRegistry {
|
|
|
669
533
|
onDidRefreshFileRenderer(listener: FileRendererRefreshListener): Disposable_2;
|
|
670
534
|
}
|
|
671
535
|
|
|
672
|
-
|
|
536
|
+
declare interface FileRendererStoreState {
|
|
673
537
|
renderers: Record<string, RegisteredFileRendererContribution>;
|
|
674
538
|
}
|
|
675
539
|
|
|
676
|
-
export declare const getAnchorResource: (layout: WorkbenchLayout, anchorId: AnchorId) => ResourceRef | undefined;
|
|
677
|
-
|
|
678
540
|
export declare const getKeybindingSteps: (keybinding: KeybindingSequence) => string[];
|
|
679
541
|
|
|
680
|
-
export declare const
|
|
542
|
+
export declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
|
|
681
543
|
|
|
682
544
|
export declare const getWorkbenchSelectionResourceUris: (resource: ResourceRef | undefined) => string[];
|
|
683
545
|
|
|
684
|
-
export declare const headerLeadingMenuPath: (
|
|
546
|
+
export declare const headerLeadingMenuPath: (region: string) => MenuPath;
|
|
685
547
|
|
|
686
|
-
export declare const headerTrailingMenuPath: (
|
|
548
|
+
export declare const headerTrailingMenuPath: (region: string) => MenuPath;
|
|
687
549
|
|
|
688
550
|
export declare interface HistoryController {
|
|
689
551
|
store: WorkbenchStore<HistoryStoreState>;
|
|
@@ -692,29 +554,175 @@ export declare interface HistoryController {
|
|
|
692
554
|
goPrevious(): HistoryEntry | undefined;
|
|
693
555
|
recentlyClosed(): readonly HistoryEntry[];
|
|
694
556
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
557
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
558
|
+
getPersistenceScope(): string | undefined;
|
|
559
|
+
restore(): HistoryEntry | undefined;
|
|
560
|
+
flush(): void;
|
|
695
561
|
clear(): void;
|
|
696
562
|
}
|
|
697
563
|
|
|
698
|
-
export declare
|
|
699
|
-
entryId: string;
|
|
700
|
-
recordedAt: number;
|
|
701
|
-
kind: "resource" | "widget" | "mode";
|
|
702
|
-
modeId?: string;
|
|
703
|
-
resource?: ResourceRef;
|
|
704
|
-
widgetId?: string;
|
|
705
|
-
contributionId?: string;
|
|
706
|
-
title?: string;
|
|
707
|
-
}
|
|
564
|
+
export declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
708
565
|
|
|
709
|
-
|
|
710
|
-
entries: readonly
|
|
566
|
+
declare interface HistoryStoreState {
|
|
567
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
711
568
|
cursor: number;
|
|
712
|
-
recentlyClosed: readonly
|
|
569
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
570
|
+
hydrating: boolean;
|
|
713
571
|
}
|
|
714
572
|
|
|
715
|
-
declare
|
|
716
|
-
|
|
717
|
-
|
|
573
|
+
export declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
|
|
574
|
+
|
|
575
|
+
export declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
576
|
+
id: string;
|
|
577
|
+
title: string;
|
|
578
|
+
resourceKind?: string;
|
|
579
|
+
/**
|
|
580
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
581
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
582
|
+
*
|
|
583
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
584
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
585
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
586
|
+
* propagate live without re-registering the renderer.
|
|
587
|
+
*/
|
|
588
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
589
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
590
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
591
|
+
hideToolbar?: boolean;
|
|
592
|
+
emptyTitle?: string;
|
|
593
|
+
emptyDescription?: string;
|
|
594
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
595
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
596
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
597
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
598
|
+
defaultActiveViewId?: string;
|
|
599
|
+
/**
|
|
600
|
+
* Data source. Receives the current display state so backends can paginate
|
|
601
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
602
|
+
* so this can return unfiltered rows in simple cases.
|
|
603
|
+
*/
|
|
604
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
605
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
606
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
607
|
+
onRowClick?: (row: TRow) => void;
|
|
608
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
609
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
610
|
+
/**
|
|
611
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
612
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
613
|
+
* column value).
|
|
614
|
+
*/
|
|
615
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
616
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
617
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
618
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
619
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
620
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
export declare interface KanbanRendererCreateField {
|
|
624
|
+
id: string;
|
|
625
|
+
label: string;
|
|
626
|
+
description?: string;
|
|
627
|
+
placeholder?: string;
|
|
628
|
+
type: KanbanRendererCreateFieldType;
|
|
629
|
+
required?: boolean;
|
|
630
|
+
defaultValue?: unknown;
|
|
631
|
+
options?: EnumOption[];
|
|
632
|
+
/** `files` fields only. */
|
|
633
|
+
multiple?: boolean;
|
|
634
|
+
accept?: string;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
export declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
638
|
+
|
|
639
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
640
|
+
declare interface KanbanRendererCreateLabels {
|
|
641
|
+
cancel: string;
|
|
642
|
+
properties: string;
|
|
643
|
+
submitError: string;
|
|
644
|
+
removeFile: string;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
export declare interface KanbanRendererCreateRowConfig {
|
|
648
|
+
title: string;
|
|
649
|
+
submitLabel: string;
|
|
650
|
+
fields: KanbanRendererCreateField[];
|
|
651
|
+
labels: KanbanRendererCreateLabels;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
export declare interface KanbanRendererCreateSubmission {
|
|
655
|
+
columnId: string;
|
|
656
|
+
columnAttributeId?: string;
|
|
657
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
658
|
+
values: Record<string, unknown>;
|
|
659
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
660
|
+
attributeValues: Record<string, unknown>;
|
|
661
|
+
files: File[];
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
export declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
665
|
+
|
|
666
|
+
export declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
667
|
+
kanbanRendererId: string;
|
|
668
|
+
}) => unknown;
|
|
669
|
+
|
|
670
|
+
export declare interface KanbanRendererOrdering {
|
|
671
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
672
|
+
direction: SortDirection;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
export declare interface KanbanRendererQueryState {
|
|
676
|
+
settings: KanbanRendererSettings;
|
|
677
|
+
filters: KanbanRendererFilterState;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
declare interface KanbanRendererRefreshEvent {
|
|
681
|
+
kanbanRendererId: string;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
685
|
+
|
|
686
|
+
export declare interface KanbanRendererRegistry {
|
|
687
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
688
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
689
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
690
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
691
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
692
|
+
refreshKanbanRenderer(id: string): void;
|
|
693
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export declare interface KanbanRendererRow {
|
|
697
|
+
id: string;
|
|
698
|
+
title: string;
|
|
699
|
+
/**
|
|
700
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
701
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
702
|
+
* resource via the workbench).
|
|
703
|
+
*/
|
|
704
|
+
resource?: unknown;
|
|
705
|
+
attributes: Record<string, unknown>;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
declare interface KanbanRendererSavedView {
|
|
709
|
+
id: string;
|
|
710
|
+
title: string;
|
|
711
|
+
settings: KanbanRendererSettings;
|
|
712
|
+
filters: KanbanRendererFilterState;
|
|
713
|
+
isDefault?: boolean;
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
export declare interface KanbanRendererSettings {
|
|
717
|
+
viewMode: ViewMode;
|
|
718
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
719
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
720
|
+
ordering: KanbanRendererOrdering;
|
|
721
|
+
displayProperties: string[];
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
declare interface KanbanRendererStoreState {
|
|
725
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
718
726
|
}
|
|
719
727
|
|
|
720
728
|
export declare interface Keybinding {
|
|
@@ -731,11 +739,6 @@ export declare interface KeybindingRegistry {
|
|
|
731
739
|
listActiveKeybindings(): RegisteredKeybinding[];
|
|
732
740
|
}
|
|
733
741
|
|
|
734
|
-
declare interface KeybindingRegistryDeps {
|
|
735
|
-
commands: CommandRegistry;
|
|
736
|
-
context: ContextKeyService;
|
|
737
|
-
}
|
|
738
|
-
|
|
739
742
|
declare interface KeybindingRegistryStoreState {
|
|
740
743
|
keybindings: RegisteredKeybinding[];
|
|
741
744
|
}
|
|
@@ -747,55 +750,80 @@ export declare interface LastResourcePersistenceAdapter {
|
|
|
747
750
|
setLastResource(resource: ResourceRef | undefined): void;
|
|
748
751
|
}
|
|
749
752
|
|
|
750
|
-
|
|
753
|
+
declare interface LayoutModel {
|
|
751
754
|
store: WorkbenchStore<WorkbenchLayoutStoreState>;
|
|
752
755
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
753
756
|
dispose(): void;
|
|
754
757
|
};
|
|
758
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
759
|
+
dispose(): void;
|
|
760
|
+
};
|
|
755
761
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
756
762
|
dispose(): void;
|
|
757
763
|
};
|
|
764
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
765
|
+
dispose(): void;
|
|
766
|
+
};
|
|
767
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
768
|
+
dispose(): void;
|
|
769
|
+
};
|
|
770
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
771
|
+
dispose(): void;
|
|
772
|
+
};
|
|
758
773
|
unregisterWidget(id: string, options?: {
|
|
759
774
|
removePlacements?: boolean;
|
|
760
775
|
persist?: boolean;
|
|
761
776
|
}): void;
|
|
762
|
-
getPlaceholder(
|
|
777
|
+
getPlaceholder(regionId: WorkbenchRegion): RegisteredPlaceholderContribution | undefined;
|
|
763
778
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
779
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
780
|
+
getRegionSize(regionId: WorkbenchRegion): WorkbenchRegionSize | undefined;
|
|
781
|
+
getRegionCollapsible(regionId: WorkbenchRegion): boolean;
|
|
782
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
|
|
783
|
+
setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
|
|
784
|
+
setRegionSize(regionId: WorkbenchRegion, size: number): void;
|
|
769
785
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
770
786
|
listWidgets(): RegisteredWidgetContribution[];
|
|
787
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
788
|
+
listPanelInstances(region?: WorkbenchRegion): WorkbenchPanelInstance[];
|
|
789
|
+
getActivePanel(region?: WorkbenchRegion): WorkbenchPanelInstance | undefined;
|
|
771
790
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
791
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
792
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
793
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
794
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
795
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
772
796
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
797
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
798
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
773
799
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
800
|
+
setRegionActiveWidget(regionId: WorkbenchRegion, widgetId: string | undefined): void;
|
|
774
801
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
775
802
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
776
|
-
|
|
777
|
-
|
|
803
|
+
clearRegion(regionId: WorkbenchRegion): void;
|
|
804
|
+
resetRegions(): void;
|
|
778
805
|
getLayout(): WorkbenchLayout;
|
|
779
806
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
780
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
807
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
808
|
+
carryRegionState?: readonly WorkbenchRegion[];
|
|
809
|
+
}): void;
|
|
781
810
|
getPersistenceScope(): LayoutScope | undefined;
|
|
811
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
812
|
+
dispose(): void;
|
|
813
|
+
};
|
|
782
814
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
783
815
|
dispose(): void;
|
|
784
816
|
};
|
|
785
817
|
}
|
|
786
818
|
|
|
787
|
-
|
|
819
|
+
declare interface LayoutPersistenceAdapter {
|
|
788
820
|
getLayout(scope?: LayoutScope): WorkbenchLayout | undefined;
|
|
789
821
|
setLayout(layout: WorkbenchLayout, scope?: LayoutScope): void;
|
|
822
|
+
flush?(): void;
|
|
823
|
+
dispose?(): void;
|
|
790
824
|
}
|
|
791
825
|
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
export declare const listAnchorAreas: () => ("status" | "secondary" | "main" | "nav" | "activity" | "left-header" | "left" | "main-header" | "main-left" | "main-right" | "secondary-header" | "overlay" | "floating-header" | "floating")[];
|
|
795
|
-
|
|
796
|
-
export declare const listProjectionAreas: () => ("status" | "secondary" | "main" | "nav" | "activity" | "left-header" | "left" | "main-header" | "main-left" | "main-right" | "secondary-header" | "overlay" | "floating-header" | "floating")[];
|
|
797
|
-
|
|
798
|
-
export declare const listProjectionsReading: (anchorId: AnchorReadId) => ("status" | "secondary" | "main" | "nav" | "activity" | "left-header" | "left" | "main-header" | "main-left" | "main-right" | "secondary-header" | "overlay" | "floating-header" | "floating")[];
|
|
826
|
+
declare type LayoutScope = string;
|
|
799
827
|
|
|
800
828
|
declare const MANUAL_ORDERING = "manual";
|
|
801
829
|
|
|
@@ -803,6 +831,7 @@ export declare const matchesContextExpression: (values: Record<string, ContextKe
|
|
|
803
831
|
|
|
804
832
|
export declare interface MenuItem {
|
|
805
833
|
commandId: string;
|
|
834
|
+
sourceCommandId?: string;
|
|
806
835
|
label?: string;
|
|
807
836
|
description?: string;
|
|
808
837
|
icon?: string;
|
|
@@ -825,21 +854,17 @@ export declare interface MenuRegistry {
|
|
|
825
854
|
listMenuItems(path: MenuPath): RegisteredMenuItem[];
|
|
826
855
|
}
|
|
827
856
|
|
|
828
|
-
declare interface MenuRegistryDeps {
|
|
829
|
-
commands: CommandRegistry;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
857
|
declare interface MenuRegistryStoreState {
|
|
833
858
|
itemsByPath: Record<string, RegisteredMenuItem[]>;
|
|
834
859
|
}
|
|
835
860
|
|
|
836
861
|
export declare interface NavigationDispatcherContext {
|
|
837
862
|
canOpenResource?(resource: ResourceRef): boolean;
|
|
838
|
-
|
|
863
|
+
canOpenPanel?(panelId: string): boolean;
|
|
839
864
|
canExecuteCommand?(commandId: string): boolean;
|
|
840
865
|
createCheckpoint?(): undefined | (() => void);
|
|
841
866
|
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<unknown>;
|
|
842
|
-
|
|
867
|
+
openPanel(panelId: string, input?: OpenWorkbenchPanelInput): unknown;
|
|
843
868
|
executeCommand(commandId: string, args?: unknown): Promise<unknown> | unknown;
|
|
844
869
|
}
|
|
845
870
|
|
|
@@ -881,7 +906,13 @@ export declare interface NavigationTargetCompound {
|
|
|
881
906
|
targets: readonly NavigationTargetItem[];
|
|
882
907
|
}
|
|
883
908
|
|
|
884
|
-
export declare type NavigationTargetItem = NavigationTargetResource |
|
|
909
|
+
export declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
910
|
+
|
|
911
|
+
export declare interface NavigationTargetPanel {
|
|
912
|
+
kind: "panel";
|
|
913
|
+
panelId: string;
|
|
914
|
+
input?: OpenWorkbenchPanelInput;
|
|
915
|
+
}
|
|
885
916
|
|
|
886
917
|
export declare interface NavigationTargetResource {
|
|
887
918
|
kind: "resource";
|
|
@@ -889,12 +920,6 @@ export declare interface NavigationTargetResource {
|
|
|
889
920
|
input?: OpenResourceInput;
|
|
890
921
|
}
|
|
891
922
|
|
|
892
|
-
export declare interface NavigationTargetView {
|
|
893
|
-
kind: "view";
|
|
894
|
-
widgetId: string;
|
|
895
|
-
input?: OpenWidgetInput;
|
|
896
|
-
}
|
|
897
|
-
|
|
898
923
|
declare const NO_GROUPING = "none";
|
|
899
924
|
|
|
900
925
|
export declare interface NotificationRegistry {
|
|
@@ -913,31 +938,50 @@ export declare interface OpenResourceInput {
|
|
|
913
938
|
declare interface OpenWidgetInput {
|
|
914
939
|
resource?: ResourceRef;
|
|
915
940
|
title?: string;
|
|
916
|
-
|
|
941
|
+
region?: WorkbenchRegion;
|
|
917
942
|
ownerId?: string;
|
|
918
943
|
source?: ContributionSource;
|
|
919
944
|
pinned?: boolean;
|
|
920
945
|
closable?: boolean;
|
|
921
946
|
mountStrategy?: WidgetMountStrategy;
|
|
922
947
|
hiddenByDefault?: boolean;
|
|
948
|
+
tabRetention?: WorkbenchTabRetention;
|
|
949
|
+
tabPosition?: WorkbenchTabPosition;
|
|
950
|
+
tab?: WorkbenchWidgetTab;
|
|
923
951
|
replaceActive?: boolean;
|
|
952
|
+
replaceWidgetId?: string;
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
export declare interface OpenWorkbenchPanelInput {
|
|
956
|
+
resource?: ResourceRef;
|
|
957
|
+
title?: string;
|
|
958
|
+
region?: WorkbenchRegion;
|
|
959
|
+
pinned?: boolean;
|
|
960
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
961
|
+
hiddenByDefault?: boolean;
|
|
962
|
+
tab?: WorkbenchPanelTab;
|
|
963
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
924
964
|
}
|
|
925
965
|
|
|
926
966
|
export declare interface PersistedTreeRendererStates {
|
|
927
967
|
statesByTreeId: Record<string, TreeRendererState>;
|
|
928
968
|
}
|
|
929
969
|
|
|
930
|
-
export declare interface
|
|
931
|
-
|
|
970
|
+
export declare interface PersistedWorkbenchHistory extends Omit<HistoryStoreState, "hydrating"> {
|
|
971
|
+
version: 1;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
declare interface PersistedWorkbenchPanels {
|
|
975
|
+
openByRegionId: Record<string, boolean>;
|
|
932
976
|
}
|
|
933
977
|
|
|
934
|
-
|
|
978
|
+
declare interface PlaceholderContribution {
|
|
935
979
|
id: string;
|
|
936
980
|
title: string;
|
|
937
|
-
|
|
981
|
+
region: WorkbenchRegion;
|
|
938
982
|
rendererId: string;
|
|
939
|
-
|
|
940
|
-
|
|
983
|
+
regionSize?: WorkbenchRegionSize;
|
|
984
|
+
regionCollapsible?: boolean;
|
|
941
985
|
config?: unknown;
|
|
942
986
|
priority?: number;
|
|
943
987
|
}
|
|
@@ -980,80 +1024,71 @@ export declare interface PreferenceScopeRef {
|
|
|
980
1024
|
|
|
981
1025
|
export declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
982
1026
|
|
|
983
|
-
declare interface
|
|
984
|
-
role: "projection";
|
|
985
|
-
reads: AnchorReadId[];
|
|
986
|
-
navigator?: boolean;
|
|
987
|
-
}
|
|
988
|
-
|
|
989
|
-
export declare const reconcileAnchors: ({ layout, primary, isInScope }: ReconcileAnchorsInput) => AnchorReconcileAction[];
|
|
990
|
-
|
|
991
|
-
export declare interface ReconcileAnchorsInput {
|
|
992
|
-
layout: WorkbenchLayout;
|
|
993
|
-
primary: ResourceRef | undefined;
|
|
994
|
-
isInScope: (resource: ResourceRef, primary: ResourceRef | undefined) => boolean;
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
export declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
1027
|
+
declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
998
1028
|
command: Command;
|
|
999
1029
|
handler: CommandHandler;
|
|
1000
1030
|
}
|
|
1001
1031
|
|
|
1002
|
-
|
|
1032
|
+
declare interface RegisteredContributionMetadata {
|
|
1003
1033
|
source: ContributionSource;
|
|
1004
1034
|
ownerId: string;
|
|
1005
1035
|
priority: number;
|
|
1006
1036
|
}
|
|
1007
1037
|
|
|
1008
|
-
|
|
1038
|
+
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
1009
1039
|
}
|
|
1010
1040
|
|
|
1011
|
-
|
|
1041
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
1012
1042
|
}
|
|
1013
1043
|
|
|
1014
|
-
|
|
1044
|
+
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
1015
1045
|
}
|
|
1016
1046
|
|
|
1017
|
-
|
|
1047
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
declare interface RegisteredKeepAliveHost {
|
|
1018
1051
|
rendererId: string;
|
|
1019
1052
|
host: HTMLElement;
|
|
1020
1053
|
attachedTo?: HTMLElement;
|
|
1021
1054
|
}
|
|
1022
1055
|
|
|
1023
|
-
|
|
1056
|
+
declare interface RegisteredKeybinding extends Keybinding, RegisteredContributionMetadata {
|
|
1024
1057
|
}
|
|
1025
1058
|
|
|
1026
|
-
|
|
1059
|
+
declare interface RegisteredMenuItem extends MenuItem, RegisteredContributionMetadata {
|
|
1027
1060
|
path: MenuPath;
|
|
1028
1061
|
}
|
|
1029
1062
|
|
|
1030
|
-
|
|
1063
|
+
declare type RegisteredNavigationParser = Omit<NavigationParser, "priority"> & RegisteredContributionMetadata;
|
|
1031
1064
|
|
|
1032
|
-
|
|
1065
|
+
declare type RegisteredPlaceholderContribution = Omit<PlaceholderContribution, "priority"> & RegisteredContributionMetadata;
|
|
1033
1066
|
|
|
1034
1067
|
declare type RegisteredPreferenceSchema = PreferencePropertySchema & {
|
|
1035
1068
|
ownerId: string;
|
|
1036
1069
|
source: string;
|
|
1037
1070
|
};
|
|
1038
1071
|
|
|
1039
|
-
|
|
1072
|
+
declare interface RegisteredResourceKind extends ResourceKindContribution, RegisteredContributionMetadata {
|
|
1040
1073
|
}
|
|
1041
1074
|
|
|
1042
|
-
|
|
1075
|
+
declare type RegisteredResourceNavigator = Omit<ResourceNavigator, "priority"> & RegisteredContributionMetadata;
|
|
1043
1076
|
|
|
1044
|
-
|
|
1077
|
+
declare type RegisteredSettingsPanel = SettingsPanelContribution & RegisteredContributionMetadata;
|
|
1045
1078
|
|
|
1046
|
-
|
|
1079
|
+
declare type RegisteredSettingsSection = SettingsSectionContribution & RegisteredContributionMetadata;
|
|
1047
1080
|
|
|
1048
|
-
|
|
1081
|
+
declare interface RegisteredTreeRendererContribution extends TreeRendererContribution, RegisteredContributionMetadata {
|
|
1049
1082
|
}
|
|
1050
1083
|
|
|
1051
|
-
|
|
1084
|
+
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
1085
|
+
ownedPanelMenuIds?: readonly string[];
|
|
1052
1086
|
singleton: boolean;
|
|
1053
1087
|
reuse: WidgetReusePolicy;
|
|
1088
|
+
role: WorkbenchWidgetRole;
|
|
1054
1089
|
} & RegisteredContributionMetadata;
|
|
1055
1090
|
|
|
1056
|
-
|
|
1091
|
+
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
1057
1092
|
id: string;
|
|
1058
1093
|
level: WorkbenchNotificationLevel;
|
|
1059
1094
|
title: string;
|
|
@@ -1064,9 +1099,11 @@ export declare interface RegisteredWorkbenchNotification extends RegisteredContr
|
|
|
1064
1099
|
metadata?: Record<string, unknown>;
|
|
1065
1100
|
}
|
|
1066
1101
|
|
|
1067
|
-
export declare const
|
|
1102
|
+
export declare const resolveAnchorRegion: (anchorId: AnchorId) => "status" | "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" | "overlay";
|
|
1068
1103
|
|
|
1069
|
-
declare type
|
|
1104
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1105
|
+
|
|
1106
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
1070
1107
|
|
|
1071
1108
|
export declare interface ResourceBrowseEntry {
|
|
1072
1109
|
resource: ResourceRef;
|
|
@@ -1090,6 +1127,13 @@ export declare interface ResourceContextAction {
|
|
|
1090
1127
|
|
|
1091
1128
|
export declare const resourceContextMenuPath: (resourceKind: string) => MenuPath;
|
|
1092
1129
|
|
|
1130
|
+
export declare interface ResourceHierarchyProvider {
|
|
1131
|
+
id: string;
|
|
1132
|
+
priority?: number;
|
|
1133
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1134
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1093
1137
|
export declare interface ResourceKindContribution {
|
|
1094
1138
|
kind: string;
|
|
1095
1139
|
label: string;
|
|
@@ -1102,7 +1146,7 @@ export declare interface ResourceListContext {
|
|
|
1102
1146
|
primary?: ResourceRef;
|
|
1103
1147
|
}
|
|
1104
1148
|
|
|
1105
|
-
|
|
1149
|
+
declare interface ResourceNavigator<TResult = unknown> {
|
|
1106
1150
|
id: string;
|
|
1107
1151
|
priority?: number;
|
|
1108
1152
|
canNavigate(resource: ResourceRef): boolean;
|
|
@@ -1110,11 +1154,11 @@ export declare interface ResourceNavigator<TResult = unknown> {
|
|
|
1110
1154
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
1111
1155
|
}
|
|
1112
1156
|
|
|
1113
|
-
export declare interface
|
|
1157
|
+
export declare interface ResourcePresenter {
|
|
1114
1158
|
id: string;
|
|
1115
1159
|
priority?: number;
|
|
1116
1160
|
canOpen(resource: ResourceRef): boolean;
|
|
1117
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1161
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
1118
1162
|
}
|
|
1119
1163
|
|
|
1120
1164
|
export declare interface ResourceProvider {
|
|
@@ -1138,19 +1182,24 @@ export declare interface ResourceRegistry {
|
|
|
1138
1182
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
1139
1183
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
1140
1184
|
listKinds(): RegisteredResourceKind[];
|
|
1141
|
-
|
|
1142
|
-
|
|
1185
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1186
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
1143
1187
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
1144
1188
|
listProviders(): ResourceProvider[];
|
|
1145
1189
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
1146
|
-
|
|
1190
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1191
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1192
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1193
|
+
isOpeningResource(): boolean;
|
|
1194
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
1147
1195
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
1148
1196
|
}
|
|
1149
1197
|
|
|
1150
1198
|
declare interface ResourceRegistryStoreState {
|
|
1151
1199
|
kinds: Record<string, RegisteredResourceKind>;
|
|
1152
|
-
|
|
1200
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
1153
1201
|
providers: Record<string, ResourceProvider>;
|
|
1202
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
1154
1203
|
}
|
|
1155
1204
|
|
|
1156
1205
|
export declare type ResourceSurface = "primary" | "secondary" | "attached";
|
|
@@ -1211,7 +1260,7 @@ export declare interface SettingsRegistry {
|
|
|
1211
1260
|
refresh(): void;
|
|
1212
1261
|
}
|
|
1213
1262
|
|
|
1214
|
-
|
|
1263
|
+
declare interface SettingsRegistryStoreState {
|
|
1215
1264
|
sections: Record<string, RegisteredSettingsSection>;
|
|
1216
1265
|
panels: Record<string, RegisteredSettingsPanel>;
|
|
1217
1266
|
/** Bumped by refresh() so the surface re-reads collection items() after backing data changes. */
|
|
@@ -1221,7 +1270,7 @@ export declare interface SettingsRegistryStoreState {
|
|
|
1221
1270
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
1222
1271
|
export declare type SettingsScope = "global" | "project";
|
|
1223
1272
|
|
|
1224
|
-
/** An ordered
|
|
1273
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
1225
1274
|
export declare interface SettingsSectionContribution {
|
|
1226
1275
|
id: string;
|
|
1227
1276
|
title?: string;
|
|
@@ -1239,13 +1288,9 @@ export declare const standardResourceIcons: {
|
|
|
1239
1288
|
readonly workspace: "computer";
|
|
1240
1289
|
readonly worktree: "git-pull-request-draft";
|
|
1241
1290
|
readonly settings: "settings";
|
|
1242
|
-
readonly
|
|
1291
|
+
readonly kanbanRenderer: "table-properties";
|
|
1243
1292
|
};
|
|
1244
1293
|
|
|
1245
|
-
export declare type SurfaceDescriptor = AnchorSurface | ProjectionSurface | ChromeSurface | TransientSurface;
|
|
1246
|
-
|
|
1247
|
-
export declare const surfaceMap: Record<WorkbenchArea, SurfaceDescriptor>;
|
|
1248
|
-
|
|
1249
1294
|
/**
|
|
1250
1295
|
* Core-owned contract for theme registrations. Structurally identical to
|
|
1251
1296
|
* @pstdio/ui's ThemePreferenceOption; the React layer bridges the two so core
|
|
@@ -1271,10 +1316,6 @@ export declare interface ThemeRegistry {
|
|
|
1271
1316
|
listThemes(): readonly ThemePreferenceOption[];
|
|
1272
1317
|
}
|
|
1273
1318
|
|
|
1274
|
-
declare interface TransientSurface {
|
|
1275
|
-
role: "transient";
|
|
1276
|
-
}
|
|
1277
|
-
|
|
1278
1319
|
export declare interface TreeAction {
|
|
1279
1320
|
id: string;
|
|
1280
1321
|
label?: string;
|
|
@@ -1321,6 +1362,8 @@ export declare interface TreeNode {
|
|
|
1321
1362
|
hiddenByDefault?: boolean;
|
|
1322
1363
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1323
1364
|
canHide?: boolean;
|
|
1365
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1366
|
+
canReorder?: boolean;
|
|
1324
1367
|
}
|
|
1325
1368
|
|
|
1326
1369
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1338,7 +1381,7 @@ export declare interface TreeRendererContribution {
|
|
|
1338
1381
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1339
1382
|
}
|
|
1340
1383
|
|
|
1341
|
-
export declare type TreeRendererImplementation = (input:
|
|
1384
|
+
export declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1342
1385
|
treeId: string;
|
|
1343
1386
|
}) => unknown;
|
|
1344
1387
|
|
|
@@ -1379,7 +1422,7 @@ export declare interface TreeRendererState {
|
|
|
1379
1422
|
loading?: boolean;
|
|
1380
1423
|
}
|
|
1381
1424
|
|
|
1382
|
-
|
|
1425
|
+
declare interface TreeRendererStoreState {
|
|
1383
1426
|
trees: Record<string, RegisteredTreeRendererContribution>;
|
|
1384
1427
|
statesByTreeId: Record<string, TreeRendererState>;
|
|
1385
1428
|
refreshKeysByTreeId: Record<string, number>;
|
|
@@ -1401,61 +1444,50 @@ export declare interface TreeViewSection {
|
|
|
1401
1444
|
hiddenByDefault?: boolean;
|
|
1402
1445
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1403
1446
|
canHide?: boolean;
|
|
1447
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1448
|
+
canReorder?: boolean;
|
|
1404
1449
|
}
|
|
1405
1450
|
|
|
1406
1451
|
/**
|
|
1407
|
-
* Core-owned contracts for
|
|
1408
|
-
*
|
|
1452
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1453
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1409
1454
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1410
1455
|
* API shape to UI package ownership.
|
|
1411
1456
|
*/
|
|
1412
1457
|
export declare type ViewMode = "board" | "list";
|
|
1413
1458
|
|
|
1414
|
-
|
|
1459
|
+
declare interface WidgetContribution {
|
|
1415
1460
|
id: string;
|
|
1416
1461
|
title: string;
|
|
1417
|
-
|
|
1418
|
-
|
|
1462
|
+
icon?: string;
|
|
1463
|
+
region: WorkbenchRegion;
|
|
1464
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1419
1465
|
singleton?: boolean;
|
|
1420
1466
|
reuse?: WidgetReusePolicy;
|
|
1421
1467
|
mountStrategy?: WidgetMountStrategy;
|
|
1422
1468
|
closable?: boolean;
|
|
1423
1469
|
hiddenByDefault?: boolean;
|
|
1424
|
-
|
|
1425
|
-
|
|
1470
|
+
regionSize?: WorkbenchRegionSize;
|
|
1471
|
+
regionCollapsible?: boolean;
|
|
1426
1472
|
headerBorderBottom?: boolean;
|
|
1473
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1427
1474
|
resourceKinds?: string[];
|
|
1428
1475
|
priority?: number;
|
|
1429
1476
|
rendererId: string;
|
|
1477
|
+
openCommandId?: string;
|
|
1478
|
+
role?: WorkbenchWidgetRole;
|
|
1479
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1480
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1481
|
+
tab?: WorkbenchWidgetTab;
|
|
1430
1482
|
config?: unknown;
|
|
1431
1483
|
canOpen?(resource: ResourceRef): boolean;
|
|
1432
1484
|
}
|
|
1433
1485
|
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
export declare type WidgetReusePolicy = "resource" | "none";
|
|
1437
|
-
|
|
1438
|
-
export declare type WorkbenchArea = (typeof workbenchAreas)[number];
|
|
1439
|
-
|
|
1440
|
-
export declare const workbenchAreas: readonly ["nav", "activity", "left-header", "left", "main-header", "main-left", "main", "main-right", "secondary-header", "secondary", "status", "overlay", "floating-header", "floating"];
|
|
1441
|
-
|
|
1442
|
-
export declare interface WorkbenchAreaSize {
|
|
1443
|
-
defaultPx?: number;
|
|
1444
|
-
minPx?: number;
|
|
1445
|
-
maxPx?: number;
|
|
1446
|
-
}
|
|
1447
|
-
|
|
1448
|
-
export declare interface WorkbenchAreaState {
|
|
1449
|
-
id: WorkbenchArea;
|
|
1450
|
-
visible: boolean;
|
|
1451
|
-
size?: number;
|
|
1452
|
-
widgets: WorkbenchWidgetPlacement[];
|
|
1453
|
-
activeWidgetId?: string;
|
|
1454
|
-
}
|
|
1486
|
+
declare type WidgetMountStrategy = "active" | "keep-mounted";
|
|
1455
1487
|
|
|
1456
|
-
|
|
1488
|
+
declare type WidgetReusePolicy = "resource" | "none";
|
|
1457
1489
|
|
|
1458
|
-
|
|
1490
|
+
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1459
1491
|
|
|
1460
1492
|
export declare interface WorkbenchBreadcrumbController {
|
|
1461
1493
|
store: WorkbenchStore<WorkbenchBreadcrumbState>;
|
|
@@ -1468,6 +1500,7 @@ export declare interface WorkbenchBreadcrumbController {
|
|
|
1468
1500
|
export declare interface WorkbenchBreadcrumbItem {
|
|
1469
1501
|
title: unknown;
|
|
1470
1502
|
icon?: string;
|
|
1503
|
+
indicator?: "session-status";
|
|
1471
1504
|
url?: string;
|
|
1472
1505
|
onClick?: () => void;
|
|
1473
1506
|
resource?: ResourceRef;
|
|
@@ -1477,8 +1510,16 @@ declare interface WorkbenchBreadcrumbState {
|
|
|
1477
1510
|
items: WorkbenchBreadcrumbItem[] | undefined;
|
|
1478
1511
|
}
|
|
1479
1512
|
|
|
1513
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1514
|
+
region: WorkbenchPanelRegion;
|
|
1515
|
+
reference: WorkbenchSubPanelRef;
|
|
1516
|
+
resource?: ResourceRef;
|
|
1517
|
+
title?: string;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1480
1520
|
export declare interface WorkbenchCommandExecutionContext {
|
|
1481
1521
|
resource?: ResourceRef;
|
|
1522
|
+
source?: "panel-add";
|
|
1482
1523
|
}
|
|
1483
1524
|
|
|
1484
1525
|
export declare interface WorkbenchCommandExecutionError {
|
|
@@ -1487,9 +1528,9 @@ export declare interface WorkbenchCommandExecutionError {
|
|
|
1487
1528
|
error: unknown;
|
|
1488
1529
|
}
|
|
1489
1530
|
|
|
1490
|
-
|
|
1531
|
+
declare type WorkbenchCommandExecutionErrorListener = (event: WorkbenchCommandExecutionError) => void;
|
|
1491
1532
|
|
|
1492
|
-
|
|
1533
|
+
declare type WorkbenchCommandPaletteChangeListener = (open: boolean) => void;
|
|
1493
1534
|
|
|
1494
1535
|
export declare interface WorkbenchCommandPaletteController {
|
|
1495
1536
|
store: WorkbenchStore<WorkbenchCommandPaletteState>;
|
|
@@ -1512,14 +1553,14 @@ export declare interface WorkbenchCommandPaletteOpenInput {
|
|
|
1512
1553
|
initialQuery?: string;
|
|
1513
1554
|
}
|
|
1514
1555
|
|
|
1515
|
-
|
|
1556
|
+
declare interface WorkbenchCommandPaletteState {
|
|
1516
1557
|
open: boolean;
|
|
1517
1558
|
view: WorkbenchCommandPaletteView;
|
|
1518
1559
|
initialQuery: string;
|
|
1519
1560
|
paramsRequest: WorkbenchCommandParamsRequest | null;
|
|
1520
1561
|
}
|
|
1521
1562
|
|
|
1522
|
-
|
|
1563
|
+
declare type WorkbenchCommandPaletteView = "main" | "theme" | "mode";
|
|
1523
1564
|
|
|
1524
1565
|
declare interface WorkbenchCommandParamsRequest {
|
|
1525
1566
|
record: {
|
|
@@ -1535,11 +1576,12 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1535
1576
|
}
|
|
1536
1577
|
|
|
1537
1578
|
export declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1579
|
+
host: WorkbenchHost;
|
|
1538
1580
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1539
1581
|
unregisterModule(moduleId: string): void;
|
|
1540
1582
|
}
|
|
1541
1583
|
|
|
1542
|
-
|
|
1584
|
+
declare interface WorkbenchCoreContributionContext {
|
|
1543
1585
|
breadcrumbs: WorkbenchBreadcrumbController;
|
|
1544
1586
|
commandPalette: WorkbenchCommandPaletteController;
|
|
1545
1587
|
commandPaletteResources: CommandPaletteResourceRegistry;
|
|
@@ -1558,7 +1600,8 @@ export declare interface WorkbenchCoreContributionContext {
|
|
|
1558
1600
|
renderers: WorkbenchRenderers;
|
|
1559
1601
|
resources: ResourceRegistry;
|
|
1560
1602
|
settings: SettingsRegistry;
|
|
1561
|
-
|
|
1603
|
+
shell: WorkbenchShellController;
|
|
1604
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1562
1605
|
terminal: WorkbenchTerminalController;
|
|
1563
1606
|
themes: ThemeRegistry;
|
|
1564
1607
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1568,46 +1611,82 @@ export declare interface WorkbenchCoreContributionContext {
|
|
|
1568
1611
|
onDidChangeActiveResource(listener: (resource: ResourceRef | undefined) => void): Disposable_2;
|
|
1569
1612
|
}
|
|
1570
1613
|
|
|
1571
|
-
|
|
1614
|
+
declare interface WorkbenchFileIconThemeStoreState {
|
|
1572
1615
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1573
1616
|
}
|
|
1574
1617
|
|
|
1575
|
-
export declare type
|
|
1576
|
-
|
|
1577
|
-
export declare const workbenchFocusAreas: readonly ["activityBar", "sideBar", "main", "panel", "statusBar"];
|
|
1618
|
+
export declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1578
1619
|
|
|
1579
|
-
|
|
1620
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1580
1621
|
|
|
1581
1622
|
export declare interface WorkbenchFocusController {
|
|
1582
1623
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1583
|
-
|
|
1624
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1584
1625
|
clearFocus(): void;
|
|
1585
|
-
|
|
1626
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1586
1627
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1587
1628
|
}
|
|
1588
1629
|
|
|
1589
|
-
export declare
|
|
1590
|
-
|
|
1630
|
+
export declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1631
|
+
|
|
1632
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1633
|
+
|
|
1634
|
+
declare interface WorkbenchFocusState {
|
|
1635
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
declare interface WorkbenchHistoryPersistence {
|
|
1639
|
+
getHistory(scope?: string): PersistedWorkbenchHistory | undefined;
|
|
1640
|
+
setHistory(state: PersistedWorkbenchHistory, scope?: string): void;
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
export declare interface WorkbenchHost {
|
|
1644
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1645
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1646
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1647
|
+
carryRegions?: readonly WorkbenchRegion[];
|
|
1648
|
+
}): void;
|
|
1649
|
+
getPersistenceScope(): string | undefined;
|
|
1591
1650
|
}
|
|
1592
1651
|
|
|
1593
|
-
|
|
1652
|
+
declare interface WorkbenchLastResourceController {
|
|
1594
1653
|
get(): ResourceRef | undefined;
|
|
1595
1654
|
set(resource: ResourceRef | undefined): void;
|
|
1596
1655
|
restore(): Promise<boolean>;
|
|
1597
1656
|
}
|
|
1598
1657
|
|
|
1599
1658
|
export declare interface WorkbenchLayout {
|
|
1600
|
-
|
|
1659
|
+
regions: Record<WorkbenchRegion, WorkbenchRegionState>;
|
|
1660
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1601
1661
|
activeWidgetId?: string;
|
|
1662
|
+
activeLocationWidgetId?: string;
|
|
1602
1663
|
activeResourceUri?: string;
|
|
1603
1664
|
}
|
|
1604
1665
|
|
|
1605
|
-
|
|
1666
|
+
declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
1606
1667
|
|
|
1607
|
-
|
|
1668
|
+
declare interface WorkbenchLayoutStoreState {
|
|
1608
1669
|
layout: WorkbenchLayout;
|
|
1609
1670
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1610
|
-
placeholders: Partial<Record<
|
|
1671
|
+
placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1675
|
+
|
|
1676
|
+
export declare interface WorkbenchLocationEligibility {
|
|
1677
|
+
modeIds?: string[];
|
|
1678
|
+
resourceKinds?: string[];
|
|
1679
|
+
resourceIds?: string[];
|
|
1680
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
declare interface WorkbenchLocationRef {
|
|
1684
|
+
key: string;
|
|
1685
|
+
modeId?: string;
|
|
1686
|
+
resource?: ResourceRef;
|
|
1687
|
+
contributionId?: string;
|
|
1688
|
+
instanceKey?: string;
|
|
1689
|
+
title?: string;
|
|
1611
1690
|
}
|
|
1612
1691
|
|
|
1613
1692
|
export declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
@@ -1619,16 +1698,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1619
1698
|
export declare interface WorkbenchModeContribution {
|
|
1620
1699
|
id: string;
|
|
1621
1700
|
label?: string;
|
|
1701
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1622
1702
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1703
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1704
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1623
1705
|
}
|
|
1624
1706
|
|
|
1625
1707
|
export declare interface WorkbenchModeRegistry {
|
|
1626
1708
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1709
|
+
dispose(): void;
|
|
1627
1710
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1628
1711
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1629
1712
|
listModes(): WorkbenchModeContribution[];
|
|
1630
1713
|
getActiveModeId(): string | undefined;
|
|
1631
|
-
|
|
1714
|
+
isTransitioning(): boolean;
|
|
1715
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1716
|
+
deferSeed?: boolean;
|
|
1717
|
+
}): void;
|
|
1718
|
+
seedActiveMode(): void;
|
|
1632
1719
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1633
1720
|
}
|
|
1634
1721
|
|
|
@@ -1639,6 +1726,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1639
1726
|
|
|
1640
1727
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1641
1728
|
|
|
1729
|
+
export declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1730
|
+
|
|
1642
1731
|
export declare interface WorkbenchModuleContribution {
|
|
1643
1732
|
id: string;
|
|
1644
1733
|
source?: ContributionSource;
|
|
@@ -1646,7 +1735,21 @@ export declare interface WorkbenchModuleContribution {
|
|
|
1646
1735
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1647
1736
|
}
|
|
1648
1737
|
|
|
1649
|
-
export declare type WorkbenchModuleContributionContext =
|
|
1738
|
+
export declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1739
|
+
|
|
1740
|
+
declare interface WorkbenchNavigationEntry {
|
|
1741
|
+
entryId: string;
|
|
1742
|
+
recordedAt: number;
|
|
1743
|
+
location: WorkbenchLocationRef;
|
|
1744
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1745
|
+
kind: "resource" | "widget" | "mode";
|
|
1746
|
+
modeId?: string;
|
|
1747
|
+
resource?: ResourceRef;
|
|
1748
|
+
widgetId?: string;
|
|
1749
|
+
contributionId?: string;
|
|
1750
|
+
title?: string;
|
|
1751
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1752
|
+
}
|
|
1650
1753
|
|
|
1651
1754
|
export declare interface WorkbenchNotification {
|
|
1652
1755
|
id?: string;
|
|
@@ -1682,31 +1785,190 @@ declare interface WorkbenchNotificationStoreState {
|
|
|
1682
1785
|
notifications: Record<string, RegisteredWorkbenchNotification>;
|
|
1683
1786
|
}
|
|
1684
1787
|
|
|
1685
|
-
export declare
|
|
1788
|
+
export declare interface WorkbenchPanelContribution {
|
|
1789
|
+
id: string;
|
|
1790
|
+
title: string;
|
|
1791
|
+
icon?: string;
|
|
1792
|
+
region: WorkbenchRegion;
|
|
1793
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1794
|
+
rendererId: string;
|
|
1795
|
+
closable: boolean;
|
|
1796
|
+
singleton?: boolean;
|
|
1797
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1798
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1799
|
+
hiddenByDefault?: boolean;
|
|
1800
|
+
regionSize?: WorkbenchRegionSize;
|
|
1801
|
+
regionCollapsible?: boolean;
|
|
1802
|
+
headerBorderBottom?: boolean;
|
|
1803
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1804
|
+
resourceKinds?: string[];
|
|
1805
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1806
|
+
priority?: number;
|
|
1807
|
+
openCommandId?: string;
|
|
1808
|
+
tab?: WorkbenchPanelTab;
|
|
1809
|
+
config?: unknown;
|
|
1810
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1811
|
+
ownerId?: string;
|
|
1812
|
+
source?: ContributionSource;
|
|
1813
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
export declare interface WorkbenchPanelInstance {
|
|
1817
|
+
instanceId: string;
|
|
1818
|
+
panelId: string;
|
|
1819
|
+
ownerId?: string;
|
|
1820
|
+
source?: ContributionSource;
|
|
1821
|
+
resource?: ResourceRef;
|
|
1822
|
+
resourceUri?: string;
|
|
1823
|
+
ownerResourceUri?: string;
|
|
1824
|
+
title?: string;
|
|
1825
|
+
pinned?: boolean;
|
|
1826
|
+
closable: boolean;
|
|
1827
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1828
|
+
hiddenByDefault?: boolean;
|
|
1829
|
+
tabRetention?: WorkbenchTabRetention;
|
|
1830
|
+
tab?: WorkbenchPanelTab;
|
|
1831
|
+
}
|
|
1832
|
+
|
|
1833
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
1834
|
+
region: WorkbenchPanelMenuRegion;
|
|
1835
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
1836
|
+
};
|
|
1837
|
+
|
|
1838
|
+
export declare interface WorkbenchPanelMenuDefinition {
|
|
1839
|
+
id: string;
|
|
1840
|
+
title: string;
|
|
1841
|
+
icon?: string;
|
|
1842
|
+
side: WorkbenchPanelMenuSide;
|
|
1843
|
+
singleton?: boolean;
|
|
1844
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1845
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1846
|
+
hiddenByDefault?: boolean;
|
|
1847
|
+
regionSize?: WorkbenchRegionSize;
|
|
1848
|
+
regionCollapsible?: boolean;
|
|
1849
|
+
headerBorderBottom?: boolean;
|
|
1850
|
+
rendererId: string;
|
|
1851
|
+
priority?: number;
|
|
1852
|
+
config?: unknown;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
1856
|
+
level: "panel";
|
|
1857
|
+
contributionId?: string;
|
|
1858
|
+
} | {
|
|
1859
|
+
level: "sub-panel";
|
|
1860
|
+
contributionId: string;
|
|
1861
|
+
};
|
|
1862
|
+
|
|
1863
|
+
export declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
1864
|
+
|
|
1865
|
+
declare const workbenchPanelMenuRegions: {
|
|
1866
|
+
readonly main: {
|
|
1867
|
+
readonly left: "main-left-menu";
|
|
1868
|
+
readonly right: "main-right-menu";
|
|
1869
|
+
};
|
|
1870
|
+
readonly secondary: {
|
|
1871
|
+
readonly left: "secondary-left-menu";
|
|
1872
|
+
readonly right: "secondary-right-menu";
|
|
1873
|
+
};
|
|
1874
|
+
readonly side: {
|
|
1875
|
+
readonly left: "side-left-menu";
|
|
1876
|
+
readonly right: "side-right-menu";
|
|
1877
|
+
};
|
|
1878
|
+
};
|
|
1879
|
+
|
|
1880
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
1881
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1882
|
+
}
|
|
1686
1883
|
|
|
1687
|
-
export declare
|
|
1884
|
+
export declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
1885
|
+
|
|
1886
|
+
export declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
1887
|
+
|
|
1888
|
+
export declare type WorkbenchPanelOpenStrategy = {
|
|
1889
|
+
kind: "activate-or-open";
|
|
1890
|
+
position?: WorkbenchTabPosition;
|
|
1891
|
+
} | {
|
|
1892
|
+
kind: "replace-active";
|
|
1893
|
+
} | {
|
|
1894
|
+
kind: "replace-panel";
|
|
1895
|
+
instanceId: string;
|
|
1896
|
+
} | {
|
|
1897
|
+
kind: "preview";
|
|
1898
|
+
position?: WorkbenchTabPosition;
|
|
1899
|
+
};
|
|
1900
|
+
|
|
1901
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
1902
|
+
|
|
1903
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
1904
|
+
|
|
1905
|
+
export declare interface WorkbenchPanelRenderInput {
|
|
1906
|
+
workbench: WorkbenchCore;
|
|
1907
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
1908
|
+
instance: WorkbenchPanelInstance;
|
|
1909
|
+
refresh: () => void;
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1912
|
+
export declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
1913
|
+
|
|
1914
|
+
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1915
|
+
|
|
1916
|
+
declare interface WorkbenchPanelsController {
|
|
1688
1917
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1689
|
-
isOpen(
|
|
1690
|
-
setOpen(
|
|
1691
|
-
toggle(
|
|
1918
|
+
isOpen(regionId: string): boolean;
|
|
1919
|
+
setOpen(regionId: string, open: boolean): void;
|
|
1920
|
+
toggle(regionId: string): void;
|
|
1921
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
1922
|
+
getPersistenceScope(): string | undefined;
|
|
1692
1923
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1693
1924
|
}
|
|
1694
1925
|
|
|
1695
|
-
|
|
1696
|
-
getPanelStates(): PersistedWorkbenchPanels | undefined;
|
|
1697
|
-
setPanelStates(state: PersistedWorkbenchPanels): void;
|
|
1926
|
+
declare interface WorkbenchPanelsPersistenceAdapter {
|
|
1927
|
+
getPanelStates(scope?: string): PersistedWorkbenchPanels | undefined;
|
|
1928
|
+
setPanelStates(state: PersistedWorkbenchPanels, scope?: string): void;
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
declare interface WorkbenchPanelsState {
|
|
1932
|
+
openByRegionId: Record<string, boolean>;
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
export declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
1936
|
+
|
|
1937
|
+
export declare interface WorkbenchPersistenceAdapter {
|
|
1938
|
+
getSnapshot(scope?: string): WorkbenchSnapshot | undefined;
|
|
1939
|
+
setSnapshot(snapshot: WorkbenchSnapshot, scope?: string): void;
|
|
1940
|
+
flush?(): void;
|
|
1941
|
+
dispose?(): void;
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
export declare type WorkbenchRegion = (typeof workbenchRegions)[number];
|
|
1945
|
+
|
|
1946
|
+
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"];
|
|
1947
|
+
|
|
1948
|
+
export declare interface WorkbenchRegionSize {
|
|
1949
|
+
defaultPx?: number;
|
|
1950
|
+
minPx?: number;
|
|
1951
|
+
maxPx?: number;
|
|
1698
1952
|
}
|
|
1699
1953
|
|
|
1700
|
-
|
|
1701
|
-
|
|
1954
|
+
declare interface WorkbenchRegionState {
|
|
1955
|
+
id: WorkbenchRegion;
|
|
1956
|
+
visible: boolean;
|
|
1957
|
+
size?: number;
|
|
1958
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
1959
|
+
activeWidgetId?: string;
|
|
1702
1960
|
}
|
|
1703
1961
|
|
|
1962
|
+
export declare const workbenchRegionTabAddMenuPath: (region: string) => MenuPath;
|
|
1963
|
+
|
|
1964
|
+
export declare const workbenchRegionTabLeadingMenuPath: (region: string) => MenuPath;
|
|
1965
|
+
|
|
1704
1966
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
1705
1967
|
|
|
1706
1968
|
export declare type WorkbenchRendererRegistration = {
|
|
1707
1969
|
id: string;
|
|
1708
1970
|
keepAlive?: false;
|
|
1709
|
-
render: (input:
|
|
1971
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1710
1972
|
} | {
|
|
1711
1973
|
id: string;
|
|
1712
1974
|
keepAlive: true;
|
|
@@ -1719,17 +1981,17 @@ export declare interface WorkbenchRendererRegistry {
|
|
|
1719
1981
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1720
1982
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1721
1983
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1722
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
1984
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1723
1985
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1724
|
-
getClaim(rendererId: string):
|
|
1986
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1725
1987
|
}
|
|
1726
1988
|
|
|
1727
|
-
|
|
1989
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1728
1990
|
|
|
1729
|
-
|
|
1991
|
+
declare interface WorkbenchRendererStoreState {
|
|
1730
1992
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1731
1993
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1732
|
-
claims: Record<string,
|
|
1994
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
1733
1995
|
}
|
|
1734
1996
|
|
|
1735
1997
|
export declare const workbenchResourceIdContextKey = "workbench.resource.id";
|
|
@@ -1740,22 +2002,44 @@ export declare const workbenchResourceMetadataContextKey: (key: string) => strin
|
|
|
1740
2002
|
|
|
1741
2003
|
export declare const workbenchSelectionResourceUriMetadataKey = "workbench.selectionResourceUri";
|
|
1742
2004
|
|
|
1743
|
-
export declare
|
|
2005
|
+
export declare interface WorkbenchShellController {
|
|
2006
|
+
getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
|
|
2007
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
2008
|
+
setRegionSize(region: WorkbenchRegion, size: number): void;
|
|
2009
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
2010
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
2011
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
export declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1744
2015
|
|
|
1745
|
-
export declare interface
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
setMode(mode: WorkbenchSessionPanelMode): void;
|
|
1749
|
-
onDidChange(listener: WorkbenchSessionPanelChangeListener): Disposable_2;
|
|
2016
|
+
export declare interface WorkbenchShellRegionState {
|
|
2017
|
+
open: boolean;
|
|
2018
|
+
size?: number;
|
|
1750
2019
|
}
|
|
1751
2020
|
|
|
1752
|
-
|
|
2021
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
2022
|
+
|
|
2023
|
+
declare interface WorkbenchSidePanelController {
|
|
2024
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
2025
|
+
getMode(): WorkbenchSidePanelMode;
|
|
2026
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
2027
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
2031
|
+
|
|
2032
|
+
export declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
2033
|
+
|
|
2034
|
+
declare interface WorkbenchSidePanelState {
|
|
2035
|
+
mode: WorkbenchSidePanelMode;
|
|
2036
|
+
}
|
|
1753
2037
|
|
|
1754
|
-
export declare interface
|
|
1755
|
-
|
|
2038
|
+
export declare interface WorkbenchSnapshot {
|
|
2039
|
+
layout: WorkbenchLayout;
|
|
1756
2040
|
}
|
|
1757
2041
|
|
|
1758
|
-
|
|
2042
|
+
declare interface WorkbenchStore<TState> {
|
|
1759
2043
|
getState(): TState;
|
|
1760
2044
|
getInitialState(): TState;
|
|
1761
2045
|
subscribe(listener: WorkbenchStoreListener<TState>): () => void;
|
|
@@ -1765,11 +2049,30 @@ export declare interface WorkbenchStore<TState> {
|
|
|
1765
2049
|
}): () => void;
|
|
1766
2050
|
}
|
|
1767
2051
|
|
|
1768
|
-
|
|
2052
|
+
declare type WorkbenchStoreListener<TState> = (state: TState, previousState: TState) => void;
|
|
2053
|
+
|
|
2054
|
+
declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
2055
|
+
|
|
2056
|
+
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
2057
|
+
|
|
2058
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2059
|
+
region: WorkbenchPanelRegion;
|
|
2060
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
2061
|
+
} & WorkbenchPanelMenusContribution;
|
|
2062
|
+
|
|
2063
|
+
declare interface WorkbenchSubPanelRef {
|
|
2064
|
+
contributionId: string;
|
|
2065
|
+
resourceUri?: string;
|
|
2066
|
+
instanceKey?: string;
|
|
2067
|
+
}
|
|
1769
2068
|
|
|
1770
|
-
export declare type
|
|
2069
|
+
export declare type WorkbenchTabPosition = "start" | "end" | {
|
|
2070
|
+
beforeWidgetId: string;
|
|
2071
|
+
} | {
|
|
2072
|
+
afterWidgetId: string;
|
|
2073
|
+
};
|
|
1771
2074
|
|
|
1772
|
-
export declare type
|
|
2075
|
+
export declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
1773
2076
|
|
|
1774
2077
|
export declare interface WorkbenchTerminalController {
|
|
1775
2078
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
@@ -1853,7 +2156,7 @@ export declare interface WorkbenchTerminalState {
|
|
|
1853
2156
|
sessionsById: Record<string, WorkbenchTerminalSessionModel>;
|
|
1854
2157
|
}
|
|
1855
2158
|
|
|
1856
|
-
|
|
2159
|
+
declare interface WorkbenchThemeStoreState {
|
|
1857
2160
|
themes: readonly ThemePreferenceOption[];
|
|
1858
2161
|
}
|
|
1859
2162
|
|
|
@@ -1861,25 +2164,30 @@ export declare const workbenchTopHeaderLeadingMenuPath: MenuPath;
|
|
|
1861
2164
|
|
|
1862
2165
|
export declare const workbenchTopHeaderTrailingMenuPath: MenuPath;
|
|
1863
2166
|
|
|
1864
|
-
|
|
2167
|
+
declare interface WorkbenchWidgetPlacement {
|
|
1865
2168
|
widgetId: string;
|
|
1866
2169
|
contributionId: string;
|
|
1867
2170
|
ownerId?: string;
|
|
1868
2171
|
source?: ContributionSource;
|
|
1869
2172
|
resource?: ResourceRef;
|
|
1870
2173
|
resourceUri?: string;
|
|
2174
|
+
ownerResourceUri?: string;
|
|
1871
2175
|
title?: string;
|
|
1872
2176
|
pinned?: boolean;
|
|
1873
2177
|
closable?: boolean;
|
|
1874
2178
|
mountStrategy?: WidgetMountStrategy;
|
|
1875
2179
|
hiddenByDefault?: boolean;
|
|
2180
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2181
|
+
tab?: WorkbenchWidgetTab;
|
|
2182
|
+
role?: WorkbenchWidgetRole;
|
|
1876
2183
|
}
|
|
1877
2184
|
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
2185
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2186
|
+
|
|
2187
|
+
declare interface WorkbenchWidgetTab {
|
|
2188
|
+
contentRendererId?: string;
|
|
2189
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2190
|
+
customMenuRendererId?: string;
|
|
1883
2191
|
}
|
|
1884
2192
|
|
|
1885
2193
|
export { }
|