@pstdio/workbench 0.2.0 → 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 +737 -255
- 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/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,119 @@ 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;
|
|
322
|
+
}
|
|
323
|
+
|
|
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;
|
|
473
332
|
}
|
|
474
333
|
|
|
475
|
-
export declare
|
|
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
|
-
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
484
|
-
* static array to let the contribution mutate its schema at runtime —
|
|
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
|
+
rowActions?: DataTableRendererRowAction[];
|
|
366
|
+
initialPageSize?: number;
|
|
367
|
+
pageSizeOptions?: number[];
|
|
492
368
|
emptyTitle?: string;
|
|
493
369
|
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[];
|
|
370
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
503
371
|
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;
|
|
372
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
518
373
|
}
|
|
519
374
|
|
|
520
|
-
export declare type
|
|
521
|
-
|
|
522
|
-
export declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
523
|
-
dataRendererId: string;
|
|
375
|
+
export declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
376
|
+
dataTableRendererId: string;
|
|
524
377
|
}) => unknown;
|
|
525
378
|
|
|
526
|
-
export declare interface
|
|
527
|
-
|
|
528
|
-
|
|
379
|
+
export declare interface DataTableRendererQueryContext {
|
|
380
|
+
resource?: ResourceRef;
|
|
381
|
+
modeId?: string;
|
|
529
382
|
}
|
|
530
383
|
|
|
531
|
-
export declare interface
|
|
532
|
-
|
|
533
|
-
|
|
384
|
+
export declare interface DataTableRendererQueryResult {
|
|
385
|
+
rows: DataTableRendererRow[];
|
|
386
|
+
columns?: DataTableRendererColumn[];
|
|
534
387
|
}
|
|
535
388
|
|
|
536
|
-
declare interface
|
|
537
|
-
|
|
389
|
+
export declare interface DataTableRendererRefreshEvent {
|
|
390
|
+
dataTableRendererId: string;
|
|
538
391
|
}
|
|
539
392
|
|
|
540
|
-
declare
|
|
393
|
+
export declare interface DataTableRendererRegistry {
|
|
394
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
395
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
396
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
397
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
398
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
399
|
+
refreshDataTableRenderer(id: string): void;
|
|
400
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
401
|
+
}
|
|
541
402
|
|
|
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;
|
|
403
|
+
export declare interface DataTableRendererRow {
|
|
404
|
+
id: string;
|
|
405
|
+
values: Record<string, unknown>;
|
|
406
|
+
resource?: ResourceRef;
|
|
550
407
|
}
|
|
551
408
|
|
|
552
|
-
export declare interface
|
|
409
|
+
export declare interface DataTableRendererRowAction {
|
|
553
410
|
id: string;
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
* resource via the workbench).
|
|
559
|
-
*/
|
|
560
|
-
resource?: unknown;
|
|
561
|
-
attributes: Record<string, unknown>;
|
|
411
|
+
label: string;
|
|
412
|
+
icon?: unknown;
|
|
413
|
+
destructive?: boolean;
|
|
414
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
562
415
|
}
|
|
563
416
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
columnGrouping: string | typeof NO_GROUPING;
|
|
567
|
-
rowGrouping: string | typeof NO_GROUPING;
|
|
568
|
-
ordering: DataRendererOrdering;
|
|
569
|
-
displayProperties: string[];
|
|
417
|
+
declare interface DataTableRendererStoreState {
|
|
418
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
570
419
|
}
|
|
571
420
|
|
|
572
|
-
export declare interface
|
|
573
|
-
|
|
421
|
+
export declare interface DataTableRendererThemeColor {
|
|
422
|
+
light: string;
|
|
423
|
+
dark: string;
|
|
424
|
+
foreground?: {
|
|
425
|
+
light: string;
|
|
426
|
+
dark: string;
|
|
427
|
+
};
|
|
574
428
|
}
|
|
575
429
|
|
|
576
430
|
declare interface Disposable_2 {
|
|
@@ -649,7 +503,7 @@ export declare interface FileRendererContribution {
|
|
|
649
503
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
650
504
|
}
|
|
651
505
|
|
|
652
|
-
export declare type FileRendererImplementation = (input:
|
|
506
|
+
export declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
653
507
|
fileRendererId: string;
|
|
654
508
|
}) => unknown;
|
|
655
509
|
|
|
@@ -669,21 +523,19 @@ export declare interface FileRendererRegistry {
|
|
|
669
523
|
onDidRefreshFileRenderer(listener: FileRendererRefreshListener): Disposable_2;
|
|
670
524
|
}
|
|
671
525
|
|
|
672
|
-
|
|
526
|
+
declare interface FileRendererStoreState {
|
|
673
527
|
renderers: Record<string, RegisteredFileRendererContribution>;
|
|
674
528
|
}
|
|
675
529
|
|
|
676
|
-
export declare const getAnchorResource: (layout: WorkbenchLayout, anchorId: AnchorId) => ResourceRef | undefined;
|
|
677
|
-
|
|
678
530
|
export declare const getKeybindingSteps: (keybinding: KeybindingSequence) => string[];
|
|
679
531
|
|
|
680
|
-
export declare const
|
|
532
|
+
export declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
|
|
681
533
|
|
|
682
534
|
export declare const getWorkbenchSelectionResourceUris: (resource: ResourceRef | undefined) => string[];
|
|
683
535
|
|
|
684
|
-
export declare const headerLeadingMenuPath: (
|
|
536
|
+
export declare const headerLeadingMenuPath: (region: string) => MenuPath;
|
|
685
537
|
|
|
686
|
-
export declare const headerTrailingMenuPath: (
|
|
538
|
+
export declare const headerTrailingMenuPath: (region: string) => MenuPath;
|
|
687
539
|
|
|
688
540
|
export declare interface HistoryController {
|
|
689
541
|
store: WorkbenchStore<HistoryStoreState>;
|
|
@@ -692,29 +544,175 @@ export declare interface HistoryController {
|
|
|
692
544
|
goPrevious(): HistoryEntry | undefined;
|
|
693
545
|
recentlyClosed(): readonly HistoryEntry[];
|
|
694
546
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
547
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
548
|
+
getPersistenceScope(): string | undefined;
|
|
549
|
+
restore(): HistoryEntry | undefined;
|
|
550
|
+
flush(): void;
|
|
695
551
|
clear(): void;
|
|
696
552
|
}
|
|
697
553
|
|
|
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
|
-
}
|
|
554
|
+
export declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
708
555
|
|
|
709
|
-
|
|
710
|
-
entries: readonly
|
|
556
|
+
declare interface HistoryStoreState {
|
|
557
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
711
558
|
cursor: number;
|
|
712
|
-
recentlyClosed: readonly
|
|
559
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
560
|
+
hydrating: boolean;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
export declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
|
|
564
|
+
|
|
565
|
+
export declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
566
|
+
id: string;
|
|
567
|
+
title: string;
|
|
568
|
+
resourceKind?: string;
|
|
569
|
+
/**
|
|
570
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
571
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
572
|
+
*
|
|
573
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
574
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
575
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
576
|
+
* propagate live without re-registering the renderer.
|
|
577
|
+
*/
|
|
578
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
579
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
580
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
581
|
+
hideToolbar?: boolean;
|
|
582
|
+
emptyTitle?: string;
|
|
583
|
+
emptyDescription?: string;
|
|
584
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
585
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
586
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
587
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
588
|
+
defaultActiveViewId?: string;
|
|
589
|
+
/**
|
|
590
|
+
* Data source. Receives the current display state so backends can paginate
|
|
591
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
592
|
+
* so this can return unfiltered rows in simple cases.
|
|
593
|
+
*/
|
|
594
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
595
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
596
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
597
|
+
onRowClick?: (row: TRow) => void;
|
|
598
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
599
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
600
|
+
/**
|
|
601
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
602
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
603
|
+
* column value).
|
|
604
|
+
*/
|
|
605
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
606
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
607
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
608
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
609
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
610
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
export declare interface KanbanRendererCreateField {
|
|
614
|
+
id: string;
|
|
615
|
+
label: string;
|
|
616
|
+
description?: string;
|
|
617
|
+
placeholder?: string;
|
|
618
|
+
type: KanbanRendererCreateFieldType;
|
|
619
|
+
required?: boolean;
|
|
620
|
+
defaultValue?: unknown;
|
|
621
|
+
options?: EnumOption[];
|
|
622
|
+
/** `files` fields only. */
|
|
623
|
+
multiple?: boolean;
|
|
624
|
+
accept?: string;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
export declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
628
|
+
|
|
629
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
630
|
+
declare interface KanbanRendererCreateLabels {
|
|
631
|
+
cancel: string;
|
|
632
|
+
properties: string;
|
|
633
|
+
submitError: string;
|
|
634
|
+
removeFile: string;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
export declare interface KanbanRendererCreateRowConfig {
|
|
638
|
+
title: string;
|
|
639
|
+
submitLabel: string;
|
|
640
|
+
fields: KanbanRendererCreateField[];
|
|
641
|
+
labels: KanbanRendererCreateLabels;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
export declare interface KanbanRendererCreateSubmission {
|
|
645
|
+
columnId: string;
|
|
646
|
+
columnAttributeId?: string;
|
|
647
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
648
|
+
values: Record<string, unknown>;
|
|
649
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
650
|
+
attributeValues: Record<string, unknown>;
|
|
651
|
+
files: File[];
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
export declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
655
|
+
|
|
656
|
+
export declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
657
|
+
kanbanRendererId: string;
|
|
658
|
+
}) => unknown;
|
|
659
|
+
|
|
660
|
+
export declare interface KanbanRendererOrdering {
|
|
661
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
662
|
+
direction: SortDirection;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
export declare interface KanbanRendererQueryState {
|
|
666
|
+
settings: KanbanRendererSettings;
|
|
667
|
+
filters: KanbanRendererFilterState;
|
|
713
668
|
}
|
|
714
669
|
|
|
715
|
-
declare interface
|
|
716
|
-
|
|
717
|
-
|
|
670
|
+
declare interface KanbanRendererRefreshEvent {
|
|
671
|
+
kanbanRendererId: string;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
675
|
+
|
|
676
|
+
export declare interface KanbanRendererRegistry {
|
|
677
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
678
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
679
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
680
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
681
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
682
|
+
refreshKanbanRenderer(id: string): void;
|
|
683
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
export declare interface KanbanRendererRow {
|
|
687
|
+
id: string;
|
|
688
|
+
title: string;
|
|
689
|
+
/**
|
|
690
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
691
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
692
|
+
* resource via the workbench).
|
|
693
|
+
*/
|
|
694
|
+
resource?: unknown;
|
|
695
|
+
attributes: Record<string, unknown>;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
declare interface KanbanRendererSavedView {
|
|
699
|
+
id: string;
|
|
700
|
+
title: string;
|
|
701
|
+
settings: KanbanRendererSettings;
|
|
702
|
+
filters: KanbanRendererFilterState;
|
|
703
|
+
isDefault?: boolean;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
export declare interface KanbanRendererSettings {
|
|
707
|
+
viewMode: ViewMode;
|
|
708
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
709
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
710
|
+
ordering: KanbanRendererOrdering;
|
|
711
|
+
displayProperties: string[];
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
declare interface KanbanRendererStoreState {
|
|
715
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
718
716
|
}
|
|
719
717
|
|
|
720
718
|
export declare interface Keybinding {
|
|
@@ -731,11 +729,6 @@ export declare interface KeybindingRegistry {
|
|
|
731
729
|
listActiveKeybindings(): RegisteredKeybinding[];
|
|
732
730
|
}
|
|
733
731
|
|
|
734
|
-
declare interface KeybindingRegistryDeps {
|
|
735
|
-
commands: CommandRegistry;
|
|
736
|
-
context: ContextKeyService;
|
|
737
|
-
}
|
|
738
|
-
|
|
739
732
|
declare interface KeybindingRegistryStoreState {
|
|
740
733
|
keybindings: RegisteredKeybinding[];
|
|
741
734
|
}
|
|
@@ -747,55 +740,80 @@ export declare interface LastResourcePersistenceAdapter {
|
|
|
747
740
|
setLastResource(resource: ResourceRef | undefined): void;
|
|
748
741
|
}
|
|
749
742
|
|
|
750
|
-
|
|
743
|
+
declare interface LayoutModel {
|
|
751
744
|
store: WorkbenchStore<WorkbenchLayoutStoreState>;
|
|
752
745
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
753
746
|
dispose(): void;
|
|
754
747
|
};
|
|
748
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
749
|
+
dispose(): void;
|
|
750
|
+
};
|
|
755
751
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
756
752
|
dispose(): void;
|
|
757
753
|
};
|
|
754
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
755
|
+
dispose(): void;
|
|
756
|
+
};
|
|
757
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
758
|
+
dispose(): void;
|
|
759
|
+
};
|
|
760
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
761
|
+
dispose(): void;
|
|
762
|
+
};
|
|
758
763
|
unregisterWidget(id: string, options?: {
|
|
759
764
|
removePlacements?: boolean;
|
|
760
765
|
persist?: boolean;
|
|
761
766
|
}): void;
|
|
762
|
-
getPlaceholder(
|
|
767
|
+
getPlaceholder(regionId: WorkbenchRegion): RegisteredPlaceholderContribution | undefined;
|
|
763
768
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
770
|
+
getRegionSize(regionId: WorkbenchRegion): WorkbenchRegionSize | undefined;
|
|
771
|
+
getRegionCollapsible(regionId: WorkbenchRegion): boolean;
|
|
772
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
|
|
773
|
+
setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
|
|
774
|
+
setRegionSize(regionId: WorkbenchRegion, size: number): void;
|
|
769
775
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
770
776
|
listWidgets(): RegisteredWidgetContribution[];
|
|
777
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
778
|
+
listPanelInstances(region?: WorkbenchRegion): WorkbenchPanelInstance[];
|
|
779
|
+
getActivePanel(region?: WorkbenchRegion): WorkbenchPanelInstance | undefined;
|
|
771
780
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
781
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
782
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
783
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
784
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
785
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
772
786
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
787
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
788
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
773
789
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
790
|
+
setRegionActiveWidget(regionId: WorkbenchRegion, widgetId: string | undefined): void;
|
|
774
791
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
775
792
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
776
|
-
|
|
777
|
-
|
|
793
|
+
clearRegion(regionId: WorkbenchRegion): void;
|
|
794
|
+
resetRegions(): void;
|
|
778
795
|
getLayout(): WorkbenchLayout;
|
|
779
796
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
780
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
797
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
798
|
+
carryRegionState?: readonly WorkbenchRegion[];
|
|
799
|
+
}): void;
|
|
781
800
|
getPersistenceScope(): LayoutScope | undefined;
|
|
801
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
802
|
+
dispose(): void;
|
|
803
|
+
};
|
|
782
804
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
783
805
|
dispose(): void;
|
|
784
806
|
};
|
|
785
807
|
}
|
|
786
808
|
|
|
787
|
-
|
|
809
|
+
declare interface LayoutPersistenceAdapter {
|
|
788
810
|
getLayout(scope?: LayoutScope): WorkbenchLayout | undefined;
|
|
789
811
|
setLayout(layout: WorkbenchLayout, scope?: LayoutScope): void;
|
|
812
|
+
flush?(): void;
|
|
813
|
+
dispose?(): void;
|
|
790
814
|
}
|
|
791
815
|
|
|
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")[];
|
|
816
|
+
declare type LayoutScope = string;
|
|
799
817
|
|
|
800
818
|
declare const MANUAL_ORDERING = "manual";
|
|
801
819
|
|
|
@@ -803,6 +821,7 @@ export declare const matchesContextExpression: (values: Record<string, ContextKe
|
|
|
803
821
|
|
|
804
822
|
export declare interface MenuItem {
|
|
805
823
|
commandId: string;
|
|
824
|
+
sourceCommandId?: string;
|
|
806
825
|
label?: string;
|
|
807
826
|
description?: string;
|
|
808
827
|
icon?: string;
|
|
@@ -825,21 +844,17 @@ export declare interface MenuRegistry {
|
|
|
825
844
|
listMenuItems(path: MenuPath): RegisteredMenuItem[];
|
|
826
845
|
}
|
|
827
846
|
|
|
828
|
-
declare interface MenuRegistryDeps {
|
|
829
|
-
commands: CommandRegistry;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
847
|
declare interface MenuRegistryStoreState {
|
|
833
848
|
itemsByPath: Record<string, RegisteredMenuItem[]>;
|
|
834
849
|
}
|
|
835
850
|
|
|
836
851
|
export declare interface NavigationDispatcherContext {
|
|
837
852
|
canOpenResource?(resource: ResourceRef): boolean;
|
|
838
|
-
|
|
853
|
+
canOpenPanel?(panelId: string): boolean;
|
|
839
854
|
canExecuteCommand?(commandId: string): boolean;
|
|
840
855
|
createCheckpoint?(): undefined | (() => void);
|
|
841
856
|
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<unknown>;
|
|
842
|
-
|
|
857
|
+
openPanel(panelId: string, input?: OpenWorkbenchPanelInput): unknown;
|
|
843
858
|
executeCommand(commandId: string, args?: unknown): Promise<unknown> | unknown;
|
|
844
859
|
}
|
|
845
860
|
|
|
@@ -881,7 +896,13 @@ export declare interface NavigationTargetCompound {
|
|
|
881
896
|
targets: readonly NavigationTargetItem[];
|
|
882
897
|
}
|
|
883
898
|
|
|
884
|
-
export declare type NavigationTargetItem = NavigationTargetResource |
|
|
899
|
+
export declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
900
|
+
|
|
901
|
+
export declare interface NavigationTargetPanel {
|
|
902
|
+
kind: "panel";
|
|
903
|
+
panelId: string;
|
|
904
|
+
input?: OpenWorkbenchPanelInput;
|
|
905
|
+
}
|
|
885
906
|
|
|
886
907
|
export declare interface NavigationTargetResource {
|
|
887
908
|
kind: "resource";
|
|
@@ -889,12 +910,6 @@ export declare interface NavigationTargetResource {
|
|
|
889
910
|
input?: OpenResourceInput;
|
|
890
911
|
}
|
|
891
912
|
|
|
892
|
-
export declare interface NavigationTargetView {
|
|
893
|
-
kind: "view";
|
|
894
|
-
widgetId: string;
|
|
895
|
-
input?: OpenWidgetInput;
|
|
896
|
-
}
|
|
897
|
-
|
|
898
913
|
declare const NO_GROUPING = "none";
|
|
899
914
|
|
|
900
915
|
export declare interface NotificationRegistry {
|
|
@@ -913,31 +928,50 @@ export declare interface OpenResourceInput {
|
|
|
913
928
|
declare interface OpenWidgetInput {
|
|
914
929
|
resource?: ResourceRef;
|
|
915
930
|
title?: string;
|
|
916
|
-
|
|
931
|
+
region?: WorkbenchRegion;
|
|
917
932
|
ownerId?: string;
|
|
918
933
|
source?: ContributionSource;
|
|
919
934
|
pinned?: boolean;
|
|
920
935
|
closable?: boolean;
|
|
921
936
|
mountStrategy?: WidgetMountStrategy;
|
|
922
937
|
hiddenByDefault?: boolean;
|
|
938
|
+
tabRetention?: WorkbenchTabRetention;
|
|
939
|
+
tabPosition?: WorkbenchTabPosition;
|
|
940
|
+
tab?: WorkbenchWidgetTab;
|
|
923
941
|
replaceActive?: boolean;
|
|
942
|
+
replaceWidgetId?: string;
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
export declare interface OpenWorkbenchPanelInput {
|
|
946
|
+
resource?: ResourceRef;
|
|
947
|
+
title?: string;
|
|
948
|
+
region?: WorkbenchRegion;
|
|
949
|
+
pinned?: boolean;
|
|
950
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
951
|
+
hiddenByDefault?: boolean;
|
|
952
|
+
tab?: WorkbenchPanelTab;
|
|
953
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
924
954
|
}
|
|
925
955
|
|
|
926
956
|
export declare interface PersistedTreeRendererStates {
|
|
927
957
|
statesByTreeId: Record<string, TreeRendererState>;
|
|
928
958
|
}
|
|
929
959
|
|
|
930
|
-
export declare interface
|
|
931
|
-
|
|
960
|
+
export declare interface PersistedWorkbenchHistory extends Omit<HistoryStoreState, "hydrating"> {
|
|
961
|
+
version: 1;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
declare interface PersistedWorkbenchPanels {
|
|
965
|
+
openByRegionId: Record<string, boolean>;
|
|
932
966
|
}
|
|
933
967
|
|
|
934
|
-
|
|
968
|
+
declare interface PlaceholderContribution {
|
|
935
969
|
id: string;
|
|
936
970
|
title: string;
|
|
937
|
-
|
|
971
|
+
region: WorkbenchRegion;
|
|
938
972
|
rendererId: string;
|
|
939
|
-
|
|
940
|
-
|
|
973
|
+
regionSize?: WorkbenchRegionSize;
|
|
974
|
+
regionCollapsible?: boolean;
|
|
941
975
|
config?: unknown;
|
|
942
976
|
priority?: number;
|
|
943
977
|
}
|
|
@@ -980,80 +1014,71 @@ export declare interface PreferenceScopeRef {
|
|
|
980
1014
|
|
|
981
1015
|
export declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
982
1016
|
|
|
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 {
|
|
1017
|
+
declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
998
1018
|
command: Command;
|
|
999
1019
|
handler: CommandHandler;
|
|
1000
1020
|
}
|
|
1001
1021
|
|
|
1002
|
-
|
|
1022
|
+
declare interface RegisteredContributionMetadata {
|
|
1003
1023
|
source: ContributionSource;
|
|
1004
1024
|
ownerId: string;
|
|
1005
1025
|
priority: number;
|
|
1006
1026
|
}
|
|
1007
1027
|
|
|
1008
|
-
|
|
1028
|
+
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
1009
1032
|
}
|
|
1010
1033
|
|
|
1011
|
-
|
|
1034
|
+
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
1012
1035
|
}
|
|
1013
1036
|
|
|
1014
|
-
|
|
1037
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
1015
1038
|
}
|
|
1016
1039
|
|
|
1017
|
-
|
|
1040
|
+
declare interface RegisteredKeepAliveHost {
|
|
1018
1041
|
rendererId: string;
|
|
1019
1042
|
host: HTMLElement;
|
|
1020
1043
|
attachedTo?: HTMLElement;
|
|
1021
1044
|
}
|
|
1022
1045
|
|
|
1023
|
-
|
|
1046
|
+
declare interface RegisteredKeybinding extends Keybinding, RegisteredContributionMetadata {
|
|
1024
1047
|
}
|
|
1025
1048
|
|
|
1026
|
-
|
|
1049
|
+
declare interface RegisteredMenuItem extends MenuItem, RegisteredContributionMetadata {
|
|
1027
1050
|
path: MenuPath;
|
|
1028
1051
|
}
|
|
1029
1052
|
|
|
1030
|
-
|
|
1053
|
+
declare type RegisteredNavigationParser = Omit<NavigationParser, "priority"> & RegisteredContributionMetadata;
|
|
1031
1054
|
|
|
1032
|
-
|
|
1055
|
+
declare type RegisteredPlaceholderContribution = Omit<PlaceholderContribution, "priority"> & RegisteredContributionMetadata;
|
|
1033
1056
|
|
|
1034
1057
|
declare type RegisteredPreferenceSchema = PreferencePropertySchema & {
|
|
1035
1058
|
ownerId: string;
|
|
1036
1059
|
source: string;
|
|
1037
1060
|
};
|
|
1038
1061
|
|
|
1039
|
-
|
|
1062
|
+
declare interface RegisteredResourceKind extends ResourceKindContribution, RegisteredContributionMetadata {
|
|
1040
1063
|
}
|
|
1041
1064
|
|
|
1042
|
-
|
|
1065
|
+
declare type RegisteredResourceNavigator = Omit<ResourceNavigator, "priority"> & RegisteredContributionMetadata;
|
|
1043
1066
|
|
|
1044
|
-
|
|
1067
|
+
declare type RegisteredSettingsPanel = SettingsPanelContribution & RegisteredContributionMetadata;
|
|
1045
1068
|
|
|
1046
|
-
|
|
1069
|
+
declare type RegisteredSettingsSection = SettingsSectionContribution & RegisteredContributionMetadata;
|
|
1047
1070
|
|
|
1048
|
-
|
|
1071
|
+
declare interface RegisteredTreeRendererContribution extends TreeRendererContribution, RegisteredContributionMetadata {
|
|
1049
1072
|
}
|
|
1050
1073
|
|
|
1051
|
-
|
|
1074
|
+
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
1075
|
+
ownedPanelMenuIds?: readonly string[];
|
|
1052
1076
|
singleton: boolean;
|
|
1053
1077
|
reuse: WidgetReusePolicy;
|
|
1078
|
+
role: WorkbenchWidgetRole;
|
|
1054
1079
|
} & RegisteredContributionMetadata;
|
|
1055
1080
|
|
|
1056
|
-
|
|
1081
|
+
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
1057
1082
|
id: string;
|
|
1058
1083
|
level: WorkbenchNotificationLevel;
|
|
1059
1084
|
title: string;
|
|
@@ -1064,9 +1089,11 @@ export declare interface RegisteredWorkbenchNotification extends RegisteredContr
|
|
|
1064
1089
|
metadata?: Record<string, unknown>;
|
|
1065
1090
|
}
|
|
1066
1091
|
|
|
1067
|
-
export declare const
|
|
1092
|
+
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";
|
|
1093
|
+
|
|
1094
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1068
1095
|
|
|
1069
|
-
declare type
|
|
1096
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
1070
1097
|
|
|
1071
1098
|
export declare interface ResourceBrowseEntry {
|
|
1072
1099
|
resource: ResourceRef;
|
|
@@ -1090,6 +1117,13 @@ export declare interface ResourceContextAction {
|
|
|
1090
1117
|
|
|
1091
1118
|
export declare const resourceContextMenuPath: (resourceKind: string) => MenuPath;
|
|
1092
1119
|
|
|
1120
|
+
export declare interface ResourceHierarchyProvider {
|
|
1121
|
+
id: string;
|
|
1122
|
+
priority?: number;
|
|
1123
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1124
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1093
1127
|
export declare interface ResourceKindContribution {
|
|
1094
1128
|
kind: string;
|
|
1095
1129
|
label: string;
|
|
@@ -1102,7 +1136,7 @@ export declare interface ResourceListContext {
|
|
|
1102
1136
|
primary?: ResourceRef;
|
|
1103
1137
|
}
|
|
1104
1138
|
|
|
1105
|
-
|
|
1139
|
+
declare interface ResourceNavigator<TResult = unknown> {
|
|
1106
1140
|
id: string;
|
|
1107
1141
|
priority?: number;
|
|
1108
1142
|
canNavigate(resource: ResourceRef): boolean;
|
|
@@ -1110,11 +1144,11 @@ export declare interface ResourceNavigator<TResult = unknown> {
|
|
|
1110
1144
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
1111
1145
|
}
|
|
1112
1146
|
|
|
1113
|
-
export declare interface
|
|
1147
|
+
export declare interface ResourcePresenter {
|
|
1114
1148
|
id: string;
|
|
1115
1149
|
priority?: number;
|
|
1116
1150
|
canOpen(resource: ResourceRef): boolean;
|
|
1117
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1151
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
1118
1152
|
}
|
|
1119
1153
|
|
|
1120
1154
|
export declare interface ResourceProvider {
|
|
@@ -1138,19 +1172,24 @@ export declare interface ResourceRegistry {
|
|
|
1138
1172
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
1139
1173
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
1140
1174
|
listKinds(): RegisteredResourceKind[];
|
|
1141
|
-
|
|
1142
|
-
|
|
1175
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1176
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
1143
1177
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
1144
1178
|
listProviders(): ResourceProvider[];
|
|
1145
1179
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
1146
|
-
|
|
1180
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1181
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1182
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1183
|
+
isOpeningResource(): boolean;
|
|
1184
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
1147
1185
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
1148
1186
|
}
|
|
1149
1187
|
|
|
1150
1188
|
declare interface ResourceRegistryStoreState {
|
|
1151
1189
|
kinds: Record<string, RegisteredResourceKind>;
|
|
1152
|
-
|
|
1190
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
1153
1191
|
providers: Record<string, ResourceProvider>;
|
|
1192
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
1154
1193
|
}
|
|
1155
1194
|
|
|
1156
1195
|
export declare type ResourceSurface = "primary" | "secondary" | "attached";
|
|
@@ -1211,7 +1250,7 @@ export declare interface SettingsRegistry {
|
|
|
1211
1250
|
refresh(): void;
|
|
1212
1251
|
}
|
|
1213
1252
|
|
|
1214
|
-
|
|
1253
|
+
declare interface SettingsRegistryStoreState {
|
|
1215
1254
|
sections: Record<string, RegisteredSettingsSection>;
|
|
1216
1255
|
panels: Record<string, RegisteredSettingsPanel>;
|
|
1217
1256
|
/** Bumped by refresh() so the surface re-reads collection items() after backing data changes. */
|
|
@@ -1221,7 +1260,7 @@ export declare interface SettingsRegistryStoreState {
|
|
|
1221
1260
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
1222
1261
|
export declare type SettingsScope = "global" | "project";
|
|
1223
1262
|
|
|
1224
|
-
/** An ordered
|
|
1263
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
1225
1264
|
export declare interface SettingsSectionContribution {
|
|
1226
1265
|
id: string;
|
|
1227
1266
|
title?: string;
|
|
@@ -1239,13 +1278,9 @@ export declare const standardResourceIcons: {
|
|
|
1239
1278
|
readonly workspace: "computer";
|
|
1240
1279
|
readonly worktree: "git-pull-request-draft";
|
|
1241
1280
|
readonly settings: "settings";
|
|
1242
|
-
readonly
|
|
1281
|
+
readonly kanbanRenderer: "table-properties";
|
|
1243
1282
|
};
|
|
1244
1283
|
|
|
1245
|
-
export declare type SurfaceDescriptor = AnchorSurface | ProjectionSurface | ChromeSurface | TransientSurface;
|
|
1246
|
-
|
|
1247
|
-
export declare const surfaceMap: Record<WorkbenchArea, SurfaceDescriptor>;
|
|
1248
|
-
|
|
1249
1284
|
/**
|
|
1250
1285
|
* Core-owned contract for theme registrations. Structurally identical to
|
|
1251
1286
|
* @pstdio/ui's ThemePreferenceOption; the React layer bridges the two so core
|
|
@@ -1271,10 +1306,6 @@ export declare interface ThemeRegistry {
|
|
|
1271
1306
|
listThemes(): readonly ThemePreferenceOption[];
|
|
1272
1307
|
}
|
|
1273
1308
|
|
|
1274
|
-
declare interface TransientSurface {
|
|
1275
|
-
role: "transient";
|
|
1276
|
-
}
|
|
1277
|
-
|
|
1278
1309
|
export declare interface TreeAction {
|
|
1279
1310
|
id: string;
|
|
1280
1311
|
label?: string;
|
|
@@ -1321,6 +1352,8 @@ export declare interface TreeNode {
|
|
|
1321
1352
|
hiddenByDefault?: boolean;
|
|
1322
1353
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1323
1354
|
canHide?: boolean;
|
|
1355
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1356
|
+
canReorder?: boolean;
|
|
1324
1357
|
}
|
|
1325
1358
|
|
|
1326
1359
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1338,7 +1371,7 @@ export declare interface TreeRendererContribution {
|
|
|
1338
1371
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1339
1372
|
}
|
|
1340
1373
|
|
|
1341
|
-
export declare type TreeRendererImplementation = (input:
|
|
1374
|
+
export declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1342
1375
|
treeId: string;
|
|
1343
1376
|
}) => unknown;
|
|
1344
1377
|
|
|
@@ -1379,7 +1412,7 @@ export declare interface TreeRendererState {
|
|
|
1379
1412
|
loading?: boolean;
|
|
1380
1413
|
}
|
|
1381
1414
|
|
|
1382
|
-
|
|
1415
|
+
declare interface TreeRendererStoreState {
|
|
1383
1416
|
trees: Record<string, RegisteredTreeRendererContribution>;
|
|
1384
1417
|
statesByTreeId: Record<string, TreeRendererState>;
|
|
1385
1418
|
refreshKeysByTreeId: Record<string, number>;
|
|
@@ -1401,61 +1434,50 @@ export declare interface TreeViewSection {
|
|
|
1401
1434
|
hiddenByDefault?: boolean;
|
|
1402
1435
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1403
1436
|
canHide?: boolean;
|
|
1437
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1438
|
+
canReorder?: boolean;
|
|
1404
1439
|
}
|
|
1405
1440
|
|
|
1406
1441
|
/**
|
|
1407
|
-
* Core-owned contracts for
|
|
1408
|
-
*
|
|
1442
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1443
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1409
1444
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1410
1445
|
* API shape to UI package ownership.
|
|
1411
1446
|
*/
|
|
1412
1447
|
export declare type ViewMode = "board" | "list";
|
|
1413
1448
|
|
|
1414
|
-
|
|
1449
|
+
declare interface WidgetContribution {
|
|
1415
1450
|
id: string;
|
|
1416
1451
|
title: string;
|
|
1417
|
-
|
|
1418
|
-
|
|
1452
|
+
icon?: string;
|
|
1453
|
+
region: WorkbenchRegion;
|
|
1454
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1419
1455
|
singleton?: boolean;
|
|
1420
1456
|
reuse?: WidgetReusePolicy;
|
|
1421
1457
|
mountStrategy?: WidgetMountStrategy;
|
|
1422
1458
|
closable?: boolean;
|
|
1423
1459
|
hiddenByDefault?: boolean;
|
|
1424
|
-
|
|
1425
|
-
|
|
1460
|
+
regionSize?: WorkbenchRegionSize;
|
|
1461
|
+
regionCollapsible?: boolean;
|
|
1426
1462
|
headerBorderBottom?: boolean;
|
|
1463
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1427
1464
|
resourceKinds?: string[];
|
|
1428
1465
|
priority?: number;
|
|
1429
1466
|
rendererId: string;
|
|
1467
|
+
openCommandId?: string;
|
|
1468
|
+
role?: WorkbenchWidgetRole;
|
|
1469
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1470
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1471
|
+
tab?: WorkbenchWidgetTab;
|
|
1430
1472
|
config?: unknown;
|
|
1431
1473
|
canOpen?(resource: ResourceRef): boolean;
|
|
1432
1474
|
}
|
|
1433
1475
|
|
|
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
|
-
}
|
|
1476
|
+
declare type WidgetMountStrategy = "active" | "keep-mounted";
|
|
1455
1477
|
|
|
1456
|
-
|
|
1478
|
+
declare type WidgetReusePolicy = "resource" | "none";
|
|
1457
1479
|
|
|
1458
|
-
|
|
1480
|
+
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1459
1481
|
|
|
1460
1482
|
export declare interface WorkbenchBreadcrumbController {
|
|
1461
1483
|
store: WorkbenchStore<WorkbenchBreadcrumbState>;
|
|
@@ -1468,6 +1490,7 @@ export declare interface WorkbenchBreadcrumbController {
|
|
|
1468
1490
|
export declare interface WorkbenchBreadcrumbItem {
|
|
1469
1491
|
title: unknown;
|
|
1470
1492
|
icon?: string;
|
|
1493
|
+
indicator?: "session-status";
|
|
1471
1494
|
url?: string;
|
|
1472
1495
|
onClick?: () => void;
|
|
1473
1496
|
resource?: ResourceRef;
|
|
@@ -1477,8 +1500,16 @@ declare interface WorkbenchBreadcrumbState {
|
|
|
1477
1500
|
items: WorkbenchBreadcrumbItem[] | undefined;
|
|
1478
1501
|
}
|
|
1479
1502
|
|
|
1503
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1504
|
+
region: WorkbenchPanelRegion;
|
|
1505
|
+
reference: WorkbenchSubPanelRef;
|
|
1506
|
+
resource?: ResourceRef;
|
|
1507
|
+
title?: string;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1480
1510
|
export declare interface WorkbenchCommandExecutionContext {
|
|
1481
1511
|
resource?: ResourceRef;
|
|
1512
|
+
source?: "panel-add";
|
|
1482
1513
|
}
|
|
1483
1514
|
|
|
1484
1515
|
export declare interface WorkbenchCommandExecutionError {
|
|
@@ -1487,9 +1518,9 @@ export declare interface WorkbenchCommandExecutionError {
|
|
|
1487
1518
|
error: unknown;
|
|
1488
1519
|
}
|
|
1489
1520
|
|
|
1490
|
-
|
|
1521
|
+
declare type WorkbenchCommandExecutionErrorListener = (event: WorkbenchCommandExecutionError) => void;
|
|
1491
1522
|
|
|
1492
|
-
|
|
1523
|
+
declare type WorkbenchCommandPaletteChangeListener = (open: boolean) => void;
|
|
1493
1524
|
|
|
1494
1525
|
export declare interface WorkbenchCommandPaletteController {
|
|
1495
1526
|
store: WorkbenchStore<WorkbenchCommandPaletteState>;
|
|
@@ -1512,14 +1543,14 @@ export declare interface WorkbenchCommandPaletteOpenInput {
|
|
|
1512
1543
|
initialQuery?: string;
|
|
1513
1544
|
}
|
|
1514
1545
|
|
|
1515
|
-
|
|
1546
|
+
declare interface WorkbenchCommandPaletteState {
|
|
1516
1547
|
open: boolean;
|
|
1517
1548
|
view: WorkbenchCommandPaletteView;
|
|
1518
1549
|
initialQuery: string;
|
|
1519
1550
|
paramsRequest: WorkbenchCommandParamsRequest | null;
|
|
1520
1551
|
}
|
|
1521
1552
|
|
|
1522
|
-
|
|
1553
|
+
declare type WorkbenchCommandPaletteView = "main" | "theme" | "mode";
|
|
1523
1554
|
|
|
1524
1555
|
declare interface WorkbenchCommandParamsRequest {
|
|
1525
1556
|
record: {
|
|
@@ -1535,11 +1566,12 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1535
1566
|
}
|
|
1536
1567
|
|
|
1537
1568
|
export declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1569
|
+
host: WorkbenchHost;
|
|
1538
1570
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1539
1571
|
unregisterModule(moduleId: string): void;
|
|
1540
1572
|
}
|
|
1541
1573
|
|
|
1542
|
-
|
|
1574
|
+
declare interface WorkbenchCoreContributionContext {
|
|
1543
1575
|
breadcrumbs: WorkbenchBreadcrumbController;
|
|
1544
1576
|
commandPalette: WorkbenchCommandPaletteController;
|
|
1545
1577
|
commandPaletteResources: CommandPaletteResourceRegistry;
|
|
@@ -1558,7 +1590,8 @@ export declare interface WorkbenchCoreContributionContext {
|
|
|
1558
1590
|
renderers: WorkbenchRenderers;
|
|
1559
1591
|
resources: ResourceRegistry;
|
|
1560
1592
|
settings: SettingsRegistry;
|
|
1561
|
-
|
|
1593
|
+
shell: WorkbenchShellController;
|
|
1594
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1562
1595
|
terminal: WorkbenchTerminalController;
|
|
1563
1596
|
themes: ThemeRegistry;
|
|
1564
1597
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1568,46 +1601,82 @@ export declare interface WorkbenchCoreContributionContext {
|
|
|
1568
1601
|
onDidChangeActiveResource(listener: (resource: ResourceRef | undefined) => void): Disposable_2;
|
|
1569
1602
|
}
|
|
1570
1603
|
|
|
1571
|
-
|
|
1604
|
+
declare interface WorkbenchFileIconThemeStoreState {
|
|
1572
1605
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1573
1606
|
}
|
|
1574
1607
|
|
|
1575
|
-
export declare type
|
|
1608
|
+
export declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1576
1609
|
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
export declare type WorkbenchFocusChangeListener = (area: WorkbenchFocusArea | undefined) => void;
|
|
1610
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1580
1611
|
|
|
1581
1612
|
export declare interface WorkbenchFocusController {
|
|
1582
1613
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1583
|
-
|
|
1614
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1584
1615
|
clearFocus(): void;
|
|
1585
|
-
|
|
1616
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1586
1617
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1587
1618
|
}
|
|
1588
1619
|
|
|
1589
|
-
export declare
|
|
1590
|
-
|
|
1620
|
+
export declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1621
|
+
|
|
1622
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1623
|
+
|
|
1624
|
+
declare interface WorkbenchFocusState {
|
|
1625
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
declare interface WorkbenchHistoryPersistence {
|
|
1629
|
+
getHistory(scope?: string): PersistedWorkbenchHistory | undefined;
|
|
1630
|
+
setHistory(state: PersistedWorkbenchHistory, scope?: string): void;
|
|
1591
1631
|
}
|
|
1592
1632
|
|
|
1593
|
-
export declare interface
|
|
1633
|
+
export declare interface WorkbenchHost {
|
|
1634
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1635
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1636
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1637
|
+
carryRegions?: readonly WorkbenchRegion[];
|
|
1638
|
+
}): void;
|
|
1639
|
+
getPersistenceScope(): string | undefined;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
declare interface WorkbenchLastResourceController {
|
|
1594
1643
|
get(): ResourceRef | undefined;
|
|
1595
1644
|
set(resource: ResourceRef | undefined): void;
|
|
1596
1645
|
restore(): Promise<boolean>;
|
|
1597
1646
|
}
|
|
1598
1647
|
|
|
1599
1648
|
export declare interface WorkbenchLayout {
|
|
1600
|
-
|
|
1649
|
+
regions: Record<WorkbenchRegion, WorkbenchRegionState>;
|
|
1650
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1601
1651
|
activeWidgetId?: string;
|
|
1652
|
+
activeLocationWidgetId?: string;
|
|
1602
1653
|
activeResourceUri?: string;
|
|
1603
1654
|
}
|
|
1604
1655
|
|
|
1605
|
-
|
|
1656
|
+
declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
1606
1657
|
|
|
1607
|
-
|
|
1658
|
+
declare interface WorkbenchLayoutStoreState {
|
|
1608
1659
|
layout: WorkbenchLayout;
|
|
1609
1660
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1610
|
-
placeholders: Partial<Record<
|
|
1661
|
+
placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1665
|
+
|
|
1666
|
+
export declare interface WorkbenchLocationEligibility {
|
|
1667
|
+
modeIds?: string[];
|
|
1668
|
+
resourceKinds?: string[];
|
|
1669
|
+
resourceIds?: string[];
|
|
1670
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
declare interface WorkbenchLocationRef {
|
|
1674
|
+
key: string;
|
|
1675
|
+
modeId?: string;
|
|
1676
|
+
resource?: ResourceRef;
|
|
1677
|
+
contributionId?: string;
|
|
1678
|
+
instanceKey?: string;
|
|
1679
|
+
title?: string;
|
|
1611
1680
|
}
|
|
1612
1681
|
|
|
1613
1682
|
export declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
@@ -1619,16 +1688,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1619
1688
|
export declare interface WorkbenchModeContribution {
|
|
1620
1689
|
id: string;
|
|
1621
1690
|
label?: string;
|
|
1691
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1622
1692
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1693
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1694
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1623
1695
|
}
|
|
1624
1696
|
|
|
1625
1697
|
export declare interface WorkbenchModeRegistry {
|
|
1626
1698
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1699
|
+
dispose(): void;
|
|
1627
1700
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1628
1701
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1629
1702
|
listModes(): WorkbenchModeContribution[];
|
|
1630
1703
|
getActiveModeId(): string | undefined;
|
|
1631
|
-
|
|
1704
|
+
isTransitioning(): boolean;
|
|
1705
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1706
|
+
deferSeed?: boolean;
|
|
1707
|
+
}): void;
|
|
1708
|
+
seedActiveMode(): void;
|
|
1632
1709
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1633
1710
|
}
|
|
1634
1711
|
|
|
@@ -1639,6 +1716,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1639
1716
|
|
|
1640
1717
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1641
1718
|
|
|
1719
|
+
export declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1720
|
+
|
|
1642
1721
|
export declare interface WorkbenchModuleContribution {
|
|
1643
1722
|
id: string;
|
|
1644
1723
|
source?: ContributionSource;
|
|
@@ -1646,7 +1725,21 @@ export declare interface WorkbenchModuleContribution {
|
|
|
1646
1725
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1647
1726
|
}
|
|
1648
1727
|
|
|
1649
|
-
export declare type WorkbenchModuleContributionContext =
|
|
1728
|
+
export declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1729
|
+
|
|
1730
|
+
declare interface WorkbenchNavigationEntry {
|
|
1731
|
+
entryId: string;
|
|
1732
|
+
recordedAt: number;
|
|
1733
|
+
location: WorkbenchLocationRef;
|
|
1734
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1735
|
+
kind: "resource" | "widget" | "mode";
|
|
1736
|
+
modeId?: string;
|
|
1737
|
+
resource?: ResourceRef;
|
|
1738
|
+
widgetId?: string;
|
|
1739
|
+
contributionId?: string;
|
|
1740
|
+
title?: string;
|
|
1741
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1742
|
+
}
|
|
1650
1743
|
|
|
1651
1744
|
export declare interface WorkbenchNotification {
|
|
1652
1745
|
id?: string;
|
|
@@ -1682,31 +1775,190 @@ declare interface WorkbenchNotificationStoreState {
|
|
|
1682
1775
|
notifications: Record<string, RegisteredWorkbenchNotification>;
|
|
1683
1776
|
}
|
|
1684
1777
|
|
|
1685
|
-
export declare
|
|
1778
|
+
export declare interface WorkbenchPanelContribution {
|
|
1779
|
+
id: string;
|
|
1780
|
+
title: string;
|
|
1781
|
+
icon?: string;
|
|
1782
|
+
region: WorkbenchRegion;
|
|
1783
|
+
fallbackRegion?: WorkbenchRegion;
|
|
1784
|
+
rendererId: string;
|
|
1785
|
+
closable: boolean;
|
|
1786
|
+
singleton?: boolean;
|
|
1787
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1788
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1789
|
+
hiddenByDefault?: boolean;
|
|
1790
|
+
regionSize?: WorkbenchRegionSize;
|
|
1791
|
+
regionCollapsible?: boolean;
|
|
1792
|
+
headerBorderBottom?: boolean;
|
|
1793
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1794
|
+
resourceKinds?: string[];
|
|
1795
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1796
|
+
priority?: number;
|
|
1797
|
+
openCommandId?: string;
|
|
1798
|
+
tab?: WorkbenchPanelTab;
|
|
1799
|
+
config?: unknown;
|
|
1800
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1801
|
+
ownerId?: string;
|
|
1802
|
+
source?: ContributionSource;
|
|
1803
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1806
|
+
export declare interface WorkbenchPanelInstance {
|
|
1807
|
+
instanceId: string;
|
|
1808
|
+
panelId: string;
|
|
1809
|
+
ownerId?: string;
|
|
1810
|
+
source?: ContributionSource;
|
|
1811
|
+
resource?: ResourceRef;
|
|
1812
|
+
resourceUri?: string;
|
|
1813
|
+
ownerResourceUri?: string;
|
|
1814
|
+
title?: string;
|
|
1815
|
+
pinned?: boolean;
|
|
1816
|
+
closable: boolean;
|
|
1817
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1818
|
+
hiddenByDefault?: boolean;
|
|
1819
|
+
tabRetention?: WorkbenchTabRetention;
|
|
1820
|
+
tab?: WorkbenchPanelTab;
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
1824
|
+
region: WorkbenchPanelMenuRegion;
|
|
1825
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
1826
|
+
};
|
|
1827
|
+
|
|
1828
|
+
export declare interface WorkbenchPanelMenuDefinition {
|
|
1829
|
+
id: string;
|
|
1830
|
+
title: string;
|
|
1831
|
+
icon?: string;
|
|
1832
|
+
side: WorkbenchPanelMenuSide;
|
|
1833
|
+
singleton?: boolean;
|
|
1834
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
1835
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1836
|
+
hiddenByDefault?: boolean;
|
|
1837
|
+
regionSize?: WorkbenchRegionSize;
|
|
1838
|
+
regionCollapsible?: boolean;
|
|
1839
|
+
headerBorderBottom?: boolean;
|
|
1840
|
+
rendererId: string;
|
|
1841
|
+
priority?: number;
|
|
1842
|
+
config?: unknown;
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
1846
|
+
level: "panel";
|
|
1847
|
+
contributionId?: string;
|
|
1848
|
+
} | {
|
|
1849
|
+
level: "sub-panel";
|
|
1850
|
+
contributionId: string;
|
|
1851
|
+
};
|
|
1852
|
+
|
|
1853
|
+
export declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
1854
|
+
|
|
1855
|
+
declare const workbenchPanelMenuRegions: {
|
|
1856
|
+
readonly main: {
|
|
1857
|
+
readonly left: "main-left-menu";
|
|
1858
|
+
readonly right: "main-right-menu";
|
|
1859
|
+
};
|
|
1860
|
+
readonly secondary: {
|
|
1861
|
+
readonly left: "secondary-left-menu";
|
|
1862
|
+
readonly right: "secondary-right-menu";
|
|
1863
|
+
};
|
|
1864
|
+
readonly side: {
|
|
1865
|
+
readonly left: "side-left-menu";
|
|
1866
|
+
readonly right: "side-right-menu";
|
|
1867
|
+
};
|
|
1868
|
+
};
|
|
1869
|
+
|
|
1870
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
1871
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
export declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
1875
|
+
|
|
1876
|
+
export declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
1877
|
+
|
|
1878
|
+
export declare type WorkbenchPanelOpenStrategy = {
|
|
1879
|
+
kind: "activate-or-open";
|
|
1880
|
+
position?: WorkbenchTabPosition;
|
|
1881
|
+
} | {
|
|
1882
|
+
kind: "replace-active";
|
|
1883
|
+
} | {
|
|
1884
|
+
kind: "replace-panel";
|
|
1885
|
+
instanceId: string;
|
|
1886
|
+
} | {
|
|
1887
|
+
kind: "preview";
|
|
1888
|
+
position?: WorkbenchTabPosition;
|
|
1889
|
+
};
|
|
1890
|
+
|
|
1891
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
1892
|
+
|
|
1893
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
1894
|
+
|
|
1895
|
+
export declare interface WorkbenchPanelRenderInput {
|
|
1896
|
+
workbench: WorkbenchCore;
|
|
1897
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
1898
|
+
instance: WorkbenchPanelInstance;
|
|
1899
|
+
refresh: () => void;
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
export declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
1686
1903
|
|
|
1687
|
-
|
|
1904
|
+
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1905
|
+
|
|
1906
|
+
declare interface WorkbenchPanelsController {
|
|
1688
1907
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1689
|
-
isOpen(
|
|
1690
|
-
setOpen(
|
|
1691
|
-
toggle(
|
|
1908
|
+
isOpen(regionId: string): boolean;
|
|
1909
|
+
setOpen(regionId: string, open: boolean): void;
|
|
1910
|
+
toggle(regionId: string): void;
|
|
1911
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
1912
|
+
getPersistenceScope(): string | undefined;
|
|
1692
1913
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1693
1914
|
}
|
|
1694
1915
|
|
|
1695
|
-
|
|
1696
|
-
getPanelStates(): PersistedWorkbenchPanels | undefined;
|
|
1697
|
-
setPanelStates(state: PersistedWorkbenchPanels): void;
|
|
1916
|
+
declare interface WorkbenchPanelsPersistenceAdapter {
|
|
1917
|
+
getPanelStates(scope?: string): PersistedWorkbenchPanels | undefined;
|
|
1918
|
+
setPanelStates(state: PersistedWorkbenchPanels, scope?: string): void;
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
declare interface WorkbenchPanelsState {
|
|
1922
|
+
openByRegionId: Record<string, boolean>;
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1925
|
+
export declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
1926
|
+
|
|
1927
|
+
export declare interface WorkbenchPersistenceAdapter {
|
|
1928
|
+
getSnapshot(scope?: string): WorkbenchSnapshot | undefined;
|
|
1929
|
+
setSnapshot(snapshot: WorkbenchSnapshot, scope?: string): void;
|
|
1930
|
+
flush?(): void;
|
|
1931
|
+
dispose?(): void;
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
export declare type WorkbenchRegion = (typeof workbenchRegions)[number];
|
|
1935
|
+
|
|
1936
|
+
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"];
|
|
1937
|
+
|
|
1938
|
+
export declare interface WorkbenchRegionSize {
|
|
1939
|
+
defaultPx?: number;
|
|
1940
|
+
minPx?: number;
|
|
1941
|
+
maxPx?: number;
|
|
1698
1942
|
}
|
|
1699
1943
|
|
|
1700
|
-
|
|
1701
|
-
|
|
1944
|
+
declare interface WorkbenchRegionState {
|
|
1945
|
+
id: WorkbenchRegion;
|
|
1946
|
+
visible: boolean;
|
|
1947
|
+
size?: number;
|
|
1948
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
1949
|
+
activeWidgetId?: string;
|
|
1702
1950
|
}
|
|
1703
1951
|
|
|
1952
|
+
export declare const workbenchRegionTabAddMenuPath: (region: string) => MenuPath;
|
|
1953
|
+
|
|
1954
|
+
export declare const workbenchRegionTabLeadingMenuPath: (region: string) => MenuPath;
|
|
1955
|
+
|
|
1704
1956
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
1705
1957
|
|
|
1706
1958
|
export declare type WorkbenchRendererRegistration = {
|
|
1707
1959
|
id: string;
|
|
1708
1960
|
keepAlive?: false;
|
|
1709
|
-
render: (input:
|
|
1961
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1710
1962
|
} | {
|
|
1711
1963
|
id: string;
|
|
1712
1964
|
keepAlive: true;
|
|
@@ -1719,17 +1971,17 @@ export declare interface WorkbenchRendererRegistry {
|
|
|
1719
1971
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1720
1972
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1721
1973
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1722
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
1974
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1723
1975
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1724
|
-
getClaim(rendererId: string):
|
|
1976
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1725
1977
|
}
|
|
1726
1978
|
|
|
1727
|
-
|
|
1979
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1728
1980
|
|
|
1729
|
-
|
|
1981
|
+
declare interface WorkbenchRendererStoreState {
|
|
1730
1982
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1731
1983
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1732
|
-
claims: Record<string,
|
|
1984
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
1733
1985
|
}
|
|
1734
1986
|
|
|
1735
1987
|
export declare const workbenchResourceIdContextKey = "workbench.resource.id";
|
|
@@ -1740,22 +1992,44 @@ export declare const workbenchResourceMetadataContextKey: (key: string) => strin
|
|
|
1740
1992
|
|
|
1741
1993
|
export declare const workbenchSelectionResourceUriMetadataKey = "workbench.selectionResourceUri";
|
|
1742
1994
|
|
|
1743
|
-
export declare
|
|
1995
|
+
export declare interface WorkbenchShellController {
|
|
1996
|
+
getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
|
|
1997
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
1998
|
+
setRegionSize(region: WorkbenchRegion, size: number): void;
|
|
1999
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
2000
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
2001
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
2002
|
+
}
|
|
2003
|
+
|
|
2004
|
+
export declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1744
2005
|
|
|
1745
|
-
export declare interface
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
setMode(mode: WorkbenchSessionPanelMode): void;
|
|
1749
|
-
onDidChange(listener: WorkbenchSessionPanelChangeListener): Disposable_2;
|
|
2006
|
+
export declare interface WorkbenchShellRegionState {
|
|
2007
|
+
open: boolean;
|
|
2008
|
+
size?: number;
|
|
1750
2009
|
}
|
|
1751
2010
|
|
|
1752
|
-
|
|
2011
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
2012
|
+
|
|
2013
|
+
declare interface WorkbenchSidePanelController {
|
|
2014
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
2015
|
+
getMode(): WorkbenchSidePanelMode;
|
|
2016
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
2017
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
2018
|
+
}
|
|
2019
|
+
|
|
2020
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
2021
|
+
|
|
2022
|
+
export declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
2023
|
+
|
|
2024
|
+
declare interface WorkbenchSidePanelState {
|
|
2025
|
+
mode: WorkbenchSidePanelMode;
|
|
2026
|
+
}
|
|
1753
2027
|
|
|
1754
|
-
export declare interface
|
|
1755
|
-
|
|
2028
|
+
export declare interface WorkbenchSnapshot {
|
|
2029
|
+
layout: WorkbenchLayout;
|
|
1756
2030
|
}
|
|
1757
2031
|
|
|
1758
|
-
|
|
2032
|
+
declare interface WorkbenchStore<TState> {
|
|
1759
2033
|
getState(): TState;
|
|
1760
2034
|
getInitialState(): TState;
|
|
1761
2035
|
subscribe(listener: WorkbenchStoreListener<TState>): () => void;
|
|
@@ -1765,11 +2039,30 @@ export declare interface WorkbenchStore<TState> {
|
|
|
1765
2039
|
}): () => void;
|
|
1766
2040
|
}
|
|
1767
2041
|
|
|
1768
|
-
|
|
2042
|
+
declare type WorkbenchStoreListener<TState> = (state: TState, previousState: TState) => void;
|
|
2043
|
+
|
|
2044
|
+
declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
2045
|
+
|
|
2046
|
+
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
2047
|
+
|
|
2048
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2049
|
+
region: WorkbenchPanelRegion;
|
|
2050
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
2051
|
+
} & WorkbenchPanelMenusContribution;
|
|
2052
|
+
|
|
2053
|
+
declare interface WorkbenchSubPanelRef {
|
|
2054
|
+
contributionId: string;
|
|
2055
|
+
resourceUri?: string;
|
|
2056
|
+
instanceKey?: string;
|
|
2057
|
+
}
|
|
1769
2058
|
|
|
1770
|
-
export declare type
|
|
2059
|
+
export declare type WorkbenchTabPosition = "start" | "end" | {
|
|
2060
|
+
beforeWidgetId: string;
|
|
2061
|
+
} | {
|
|
2062
|
+
afterWidgetId: string;
|
|
2063
|
+
};
|
|
1771
2064
|
|
|
1772
|
-
export declare type
|
|
2065
|
+
export declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
1773
2066
|
|
|
1774
2067
|
export declare interface WorkbenchTerminalController {
|
|
1775
2068
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
@@ -1853,7 +2146,7 @@ export declare interface WorkbenchTerminalState {
|
|
|
1853
2146
|
sessionsById: Record<string, WorkbenchTerminalSessionModel>;
|
|
1854
2147
|
}
|
|
1855
2148
|
|
|
1856
|
-
|
|
2149
|
+
declare interface WorkbenchThemeStoreState {
|
|
1857
2150
|
themes: readonly ThemePreferenceOption[];
|
|
1858
2151
|
}
|
|
1859
2152
|
|
|
@@ -1861,25 +2154,30 @@ export declare const workbenchTopHeaderLeadingMenuPath: MenuPath;
|
|
|
1861
2154
|
|
|
1862
2155
|
export declare const workbenchTopHeaderTrailingMenuPath: MenuPath;
|
|
1863
2156
|
|
|
1864
|
-
|
|
2157
|
+
declare interface WorkbenchWidgetPlacement {
|
|
1865
2158
|
widgetId: string;
|
|
1866
2159
|
contributionId: string;
|
|
1867
2160
|
ownerId?: string;
|
|
1868
2161
|
source?: ContributionSource;
|
|
1869
2162
|
resource?: ResourceRef;
|
|
1870
2163
|
resourceUri?: string;
|
|
2164
|
+
ownerResourceUri?: string;
|
|
1871
2165
|
title?: string;
|
|
1872
2166
|
pinned?: boolean;
|
|
1873
2167
|
closable?: boolean;
|
|
1874
2168
|
mountStrategy?: WidgetMountStrategy;
|
|
1875
2169
|
hiddenByDefault?: boolean;
|
|
2170
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2171
|
+
tab?: WorkbenchWidgetTab;
|
|
2172
|
+
role?: WorkbenchWidgetRole;
|
|
1876
2173
|
}
|
|
1877
2174
|
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
2175
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2176
|
+
|
|
2177
|
+
declare interface WorkbenchWidgetTab {
|
|
2178
|
+
contentRendererId?: string;
|
|
2179
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2180
|
+
customMenuRendererId?: string;
|
|
1883
2181
|
}
|
|
1884
2182
|
|
|
1885
2183
|
export { }
|