@scion/workbench 20.0.0-beta.9 → 21.0.0-beta.2
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/fesm2022/scion-workbench.mjs +14419 -13350
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/package.json +13 -13
- package/{index.d.ts → types/scion-workbench.d.ts} +1082 -751
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as _angular_cdk_portal from '@angular/cdk/portal';
|
|
2
2
|
import { ComponentType } from '@angular/cdk/portal';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, Signal, Injector, Type, EnvironmentProviders,
|
|
5
|
-
import { MicrofrontendPlatformConfig } from '@scion/microfrontend-platform';
|
|
6
|
-
import
|
|
7
|
-
import { UrlSegment, NavigationExtras, ActivatedRoute, CanMatchFn } from '@angular/router';
|
|
4
|
+
import { InjectionToken, Signal, Injector, Type, EnvironmentProviders, TemplateRef, WritableSignal, ComponentRef, Provider, ViewContainerRef, OnDestroy, OnInit, DestroyableInjector, ElementRef, StaticProvider, PipeTransform } from '@angular/core';
|
|
5
|
+
import { MicrofrontendPlatformConfig, Qualifier, Capability } from '@scion/microfrontend-platform';
|
|
6
|
+
import { CanMatchFn, UrlSegment, NavigationExtras, ActivatedRoute } from '@angular/router';
|
|
8
7
|
import { Observable, BehaviorSubject } from 'rxjs';
|
|
9
8
|
import * as _scion_workbench from '@scion/workbench';
|
|
9
|
+
import { WorkbenchPopupReferrer } from '@scion/workbench-client';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Set of log levels to control logging output.
|
|
@@ -141,19 +141,190 @@ declare abstract class MicrofrontendPlatformConfigLoader {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
144
|
+
* Configures a route to only match workbench parts navigated to the specified part capability.
|
|
145
145
|
*
|
|
146
|
-
*
|
|
146
|
+
* Use this guard to differentiate microfrontend routes, which must all have an empty path.
|
|
147
|
+
*
|
|
148
|
+
* @example - Route matching a part capability with qualifier {part: 'navigator'}
|
|
149
|
+
* ```ts
|
|
150
|
+
* import {Routes} from '@angular/router';
|
|
151
|
+
* import {canMatchWorkbenchPartCapability} from '@scion/workbench';
|
|
152
|
+
*
|
|
153
|
+
* const routes: Routes = [
|
|
154
|
+
* {path: '', canMatch: [canMatchWorkbenchPartCapability({part: 'navigator'})], component: NavigatorComponent},
|
|
155
|
+
* ];
|
|
156
|
+
* ```
|
|
157
|
+
*
|
|
158
|
+
* The above route matches the following part capability:
|
|
159
|
+
*
|
|
160
|
+
* ```json
|
|
161
|
+
* {
|
|
162
|
+
* "type": "part",
|
|
163
|
+
* "qualifier": {
|
|
164
|
+
* "part": "navigator"
|
|
165
|
+
* },
|
|
166
|
+
* "properties": {
|
|
167
|
+
* "path": ""
|
|
168
|
+
* }
|
|
169
|
+
* }
|
|
170
|
+
* ```
|
|
171
|
+
*
|
|
172
|
+
* @param qualifier - Identifies the part capability.
|
|
173
|
+
* @return guard matching the specified part capability.
|
|
147
174
|
*/
|
|
148
|
-
declare
|
|
175
|
+
declare function canMatchWorkbenchPartCapability(qualifier: Qualifier): CanMatchFn;
|
|
149
176
|
/**
|
|
150
|
-
*
|
|
177
|
+
* Configures a route to only match workbench views navigated to the specified view capability.
|
|
151
178
|
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
179
|
+
* Use this guard to differentiate microfrontend routes, which must all have an empty path.
|
|
180
|
+
*
|
|
181
|
+
* @example - Route matching a view capability with qualifier {view: 'search'}
|
|
182
|
+
* ```ts
|
|
183
|
+
* import {Routes} from '@angular/router';
|
|
184
|
+
* import {canMatchWorkbenchViewCapability} from '@scion/workbench';
|
|
185
|
+
*
|
|
186
|
+
* const routes: Routes = [
|
|
187
|
+
* {path: '', canMatch: [canMatchWorkbenchViewCapability({view: 'search'})], component: SearchComponent},
|
|
188
|
+
* ];
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* The above route matches the following view capability:
|
|
192
|
+
*
|
|
193
|
+
* ```json
|
|
194
|
+
* {
|
|
195
|
+
* "type": "view",
|
|
196
|
+
* "qualifier": {
|
|
197
|
+
* "view": "search"
|
|
198
|
+
* },
|
|
199
|
+
* "properties": {
|
|
200
|
+
* "path": ""
|
|
201
|
+
* }
|
|
202
|
+
* }
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @param qualifier - Identifies the view capability.
|
|
206
|
+
* @return guard matching the specified view capability.
|
|
155
207
|
*/
|
|
156
|
-
|
|
208
|
+
declare function canMatchWorkbenchViewCapability(qualifier: Qualifier): CanMatchFn;
|
|
209
|
+
/**
|
|
210
|
+
* Configures a route to only match workbench dialogs navigated to the specified dialog capability.
|
|
211
|
+
*
|
|
212
|
+
* Use this guard to differentiate microfrontend routes, which must all have an empty path.
|
|
213
|
+
*
|
|
214
|
+
* @example - Route matching a dialog capability with qualifier {dialog: 'about'}
|
|
215
|
+
* ```ts
|
|
216
|
+
* import {Routes} from '@angular/router';
|
|
217
|
+
* import {canMatchWorkbenchDialogCapability} from '@scion/workbench';
|
|
218
|
+
*
|
|
219
|
+
* const routes: Routes = [
|
|
220
|
+
* {path: '', canMatch: [canMatchWorkbenchDialogCapability({dialog: 'about'})], component: AboutComponent},
|
|
221
|
+
* ];
|
|
222
|
+
* ```
|
|
223
|
+
*
|
|
224
|
+
* The above route matches the following dialog capability:
|
|
225
|
+
*
|
|
226
|
+
* ```json
|
|
227
|
+
* {
|
|
228
|
+
* "type": "dialog",
|
|
229
|
+
* "qualifier": {
|
|
230
|
+
* "dialog": "about"
|
|
231
|
+
* },
|
|
232
|
+
* "properties": {
|
|
233
|
+
* "path": ""
|
|
234
|
+
* }
|
|
235
|
+
* }
|
|
236
|
+
* ```
|
|
237
|
+
*
|
|
238
|
+
* @param qualifier - Identifies the dialog capability.
|
|
239
|
+
* @return guard matching the specified dialog capability.
|
|
240
|
+
*/
|
|
241
|
+
declare function canMatchWorkbenchDialogCapability(qualifier: Qualifier): CanMatchFn;
|
|
242
|
+
/**
|
|
243
|
+
* Configures a route to only match workbench messageboxes navigated to the specified messagebox capability.
|
|
244
|
+
*
|
|
245
|
+
* Use this guard to differentiate microfrontend routes, which must all have an empty path.
|
|
246
|
+
*
|
|
247
|
+
* @example - Route matching a messagebox capability with qualifier {messagebox: 'alert'}
|
|
248
|
+
* ```ts
|
|
249
|
+
* import {Routes} from '@angular/router';
|
|
250
|
+
* import {canMatchWorkbenchMessageBoxCapability} from '@scion/workbench';
|
|
251
|
+
*
|
|
252
|
+
* const routes: Routes = [
|
|
253
|
+
* {path: '', canMatch: [canMatchWorkbenchMessageBoxCapability({messagebox: 'alert'})], component: AlertComponent},
|
|
254
|
+
* ];
|
|
255
|
+
* ```
|
|
256
|
+
*
|
|
257
|
+
* The above route matches the following messagebox capability:
|
|
258
|
+
*
|
|
259
|
+
* ```json
|
|
260
|
+
* {
|
|
261
|
+
* "type": "messagebox",
|
|
262
|
+
* "qualifier": {
|
|
263
|
+
* "messagebox": "alert"
|
|
264
|
+
* },
|
|
265
|
+
* "properties": {
|
|
266
|
+
* "path": ""
|
|
267
|
+
* }
|
|
268
|
+
* }
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @param qualifier - Identifies the messagebox capability.
|
|
272
|
+
* @return guard matching the specified messagebox capability.
|
|
273
|
+
*/
|
|
274
|
+
declare function canMatchWorkbenchMessageBoxCapability(qualifier: Qualifier): CanMatchFn;
|
|
275
|
+
/**
|
|
276
|
+
* Configures a route to only match workbench popups navigated to the specified popup capability.
|
|
277
|
+
*
|
|
278
|
+
* Use this guard to differentiate microfrontend routes, which must all have an empty path.
|
|
279
|
+
*
|
|
280
|
+
* @example - Route matching a popup capability with qualifier {popup: 'info'}
|
|
281
|
+
* ```ts
|
|
282
|
+
* import {Routes} from '@angular/router';
|
|
283
|
+
* import {canMatchWorkbenchPopupCapability} from '@scion/workbench';
|
|
284
|
+
*
|
|
285
|
+
* const routes: Routes = [
|
|
286
|
+
* {path: '', canMatch: [canMatchWorkbenchPopupCapability({popup: 'info'})], component: InfoComponent},
|
|
287
|
+
* ];
|
|
288
|
+
* ```
|
|
289
|
+
*
|
|
290
|
+
* The above route matches the following popup capability:
|
|
291
|
+
*
|
|
292
|
+
* ```json
|
|
293
|
+
* {
|
|
294
|
+
* "type": "popup",
|
|
295
|
+
* "qualifier": {
|
|
296
|
+
* "popup": "info"
|
|
297
|
+
* },
|
|
298
|
+
* "properties": {
|
|
299
|
+
* "path": ""
|
|
300
|
+
* }
|
|
301
|
+
* }
|
|
302
|
+
* ```
|
|
303
|
+
*
|
|
304
|
+
* @param qualifier - Identifies the popup capability.
|
|
305
|
+
* @return guard matching the specified popup capability.
|
|
306
|
+
*/
|
|
307
|
+
declare function canMatchWorkbenchPopupCapability(qualifier: Qualifier): CanMatchFn;
|
|
308
|
+
/**
|
|
309
|
+
* Format of a microfrontend capability id.
|
|
310
|
+
*/
|
|
311
|
+
type MicrofrontendCapabilityId = string;
|
|
312
|
+
/**
|
|
313
|
+
* Format of a microfrontend host outlet name.
|
|
314
|
+
*
|
|
315
|
+
* Microfrontend host outlets are used to render microfrontends provided by the host application.
|
|
316
|
+
*
|
|
317
|
+
* Format: `workbench.microfrontend.host.<capabilityId>.<workbenchElementType>.<workbenchElementId>`
|
|
318
|
+
* Example: `workbench.microfrontend.host.39768ab.part.5485357a`
|
|
319
|
+
*/
|
|
320
|
+
type MicrofrontendHostOutlet = `workbench.microfrontend.host.${MicrofrontendCapabilityId}.${PartId | ViewId | DialogId | PopupId}`;
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* DI token to get a unique id of the workbench.
|
|
324
|
+
*
|
|
325
|
+
* The id is different each time the app is reloaded. Different workbench windows have different ids.
|
|
326
|
+
*/
|
|
327
|
+
declare const WORKBENCH_ID: InjectionToken<string>;
|
|
157
328
|
/**
|
|
158
329
|
* Format of a part identifier.
|
|
159
330
|
*
|
|
@@ -162,6 +333,14 @@ type ViewId = `${typeof VIEW_ID_PREFIX}${string}`;
|
|
|
162
333
|
* be identified either by its unique or alternative id.
|
|
163
334
|
*/
|
|
164
335
|
type PartId = `${typeof PART_ID_PREFIX}${string}`;
|
|
336
|
+
/**
|
|
337
|
+
* Format of a view identifier.
|
|
338
|
+
*
|
|
339
|
+
* Each view is assigned a unique identifier (e.g., `view.d4de99fb`, `view.cad347dd`, etc.).
|
|
340
|
+
* A view can also have an alternative id, a meaningful but not necessarily unique name. A view can
|
|
341
|
+
* be identified either by its unique or alternative id.
|
|
342
|
+
*/
|
|
343
|
+
type ViewId = `${typeof VIEW_ID_PREFIX}${string}`;
|
|
165
344
|
/**
|
|
166
345
|
* Format of a dialog identifier.
|
|
167
346
|
*/
|
|
@@ -186,18 +365,10 @@ type ViewOutlet = ViewId;
|
|
|
186
365
|
* Format of a part outlet name.
|
|
187
366
|
*/
|
|
188
367
|
type PartOutlet = PartId;
|
|
189
|
-
/**
|
|
190
|
-
* Format of a popup outlet name.
|
|
191
|
-
*/
|
|
192
|
-
type PopupOutlet = PopupId;
|
|
193
|
-
/**
|
|
194
|
-
* Format of a dialog outlet name.
|
|
195
|
-
*/
|
|
196
|
-
type DialogOutlet = DialogId;
|
|
197
368
|
/**
|
|
198
369
|
* Union of workbench outlets.
|
|
199
370
|
*/
|
|
200
|
-
type WorkbenchOutlet = PartOutlet | ViewOutlet |
|
|
371
|
+
type WorkbenchOutlet = PartOutlet | ViewOutlet | MicrofrontendHostOutlet;
|
|
201
372
|
/**
|
|
202
373
|
* Represents the id prefix of views.
|
|
203
374
|
*
|
|
@@ -1046,7 +1217,7 @@ interface WorkbenchIconDescriptor {
|
|
|
1046
1217
|
*/
|
|
1047
1218
|
component: ComponentType<unknown>;
|
|
1048
1219
|
/**
|
|
1049
|
-
*
|
|
1220
|
+
* Specifies data to pass to the component. Inputs are available as input properties in the component.
|
|
1050
1221
|
*
|
|
1051
1222
|
* ```ts
|
|
1052
1223
|
* @Component({...})
|
|
@@ -1190,42 +1361,6 @@ declare abstract class WorkbenchConfig {
|
|
|
1190
1361
|
* Set to `false` to exclude all built-in menu items.
|
|
1191
1362
|
*/
|
|
1192
1363
|
abstract viewMenuItems?: ViewMenuItemsConfig | false;
|
|
1193
|
-
/**
|
|
1194
|
-
* Configures startup of the SCION Workbench.
|
|
1195
|
-
*
|
|
1196
|
-
* The SCION Workbench starts automatically when the `<wb-workbench>` component is added to the DOM. Alternatively,
|
|
1197
|
-
* the workbench can be started manually using {@link WorkbenchLauncher.launch}, such as in an app initializer or a route guard.
|
|
1198
|
-
*
|
|
1199
|
-
* The application can hook into the startup process of the SCION Workbench by providing one or more initializers to {@link provideWorkbenchInitializer}.
|
|
1200
|
-
* Initializers execute at defined points during startup, enabling the application's controlled initialization. The workbench is fully started once
|
|
1201
|
-
* all initializers have completed.
|
|
1202
|
-
*
|
|
1203
|
-
* The application can inject {@link WorkbenchStartup} to check if the workbench has completed startup.
|
|
1204
|
-
*/
|
|
1205
|
-
abstract startup?: {
|
|
1206
|
-
/**
|
|
1207
|
-
* Controls when to start the SCION Workbench. Defaults to `LAZY`.
|
|
1208
|
-
*
|
|
1209
|
-
* - **LAZY**
|
|
1210
|
-
* Starts the workbench when the `<wb-workbench>` component is added to the DOM or manually via {@link WorkbenchLauncher#launch},
|
|
1211
|
-
* e.g., from a route guard or app initializer.
|
|
1212
|
-
*
|
|
1213
|
-
* - **APP_INITIALIZER**
|
|
1214
|
-
* Starts the workbench during application bootstrapping, blocking Angular's app startup until the workbench is ready.
|
|
1215
|
-
* No splash is displayed.
|
|
1216
|
-
*
|
|
1217
|
-
* @deprecated since version 19.0.0-beta.3. To start the workbench in an app initializer, use Angular's `provideAppInitializer()` function: `provideAppInitializer(() => inject(WorkbenchLauncher).launch())`. Otherwise, no migration is necessary. No replacement. API will be removed in version 21.
|
|
1218
|
-
*/
|
|
1219
|
-
launcher?: 'LAZY' | 'APP_INITIALIZER';
|
|
1220
|
-
/**
|
|
1221
|
-
* Specifies the component to display in `<wb-workbench>` while the workbench is starting.
|
|
1222
|
-
*
|
|
1223
|
-
* Note: No splash screen is displayed when using the app initializer strategy.
|
|
1224
|
-
*
|
|
1225
|
-
* @deprecated since version 19.0.0-beta.3. Property has been moved. Configure the splash in `WorkbenchConfig.splashComponent`. Property will be removed in version 21.
|
|
1226
|
-
*/
|
|
1227
|
-
splash?: ComponentType<unknown>;
|
|
1228
|
-
};
|
|
1229
1364
|
/**
|
|
1230
1365
|
* Configures microfrontend support in the workbench, allowing the integration of microfrontends as workbench views or
|
|
1231
1366
|
* workbench popups.
|
|
@@ -1246,7 +1381,7 @@ declare abstract class WorkbenchConfig {
|
|
|
1246
1381
|
* "SCION Microfrontend Platform DevTools".
|
|
1247
1382
|
*
|
|
1248
1383
|
* Typically, the host app provides API to integrated micro apps via the intent mechanism. Consider registering intent handlers
|
|
1249
|
-
*
|
|
1384
|
+
* in an initializer function registered via {@link provideMicrofrontendPlatformInitializer}.
|
|
1250
1385
|
*/
|
|
1251
1386
|
abstract microfrontendPlatform?: MicrofrontendPlatformConfig | Type<MicrofrontendPlatformConfigLoader>;
|
|
1252
1387
|
/**
|
|
@@ -1387,20 +1522,6 @@ interface ViewMenuItemsConfig {
|
|
|
1387
1522
|
* Configures a built-in menu item.
|
|
1388
1523
|
*/
|
|
1389
1524
|
interface MenuItemConfig {
|
|
1390
|
-
/**
|
|
1391
|
-
* @deprecated since version 19.0.0-beta.2. Set to `false` in {@link ViewMenuItemsConfig} to exclude the menu item. API will be removed in version 21.
|
|
1392
|
-
*/
|
|
1393
|
-
visible?: boolean;
|
|
1394
|
-
/**
|
|
1395
|
-
* Specifies the text of this menu item.
|
|
1396
|
-
*
|
|
1397
|
-
* Can be a string or a function that returns a string or a {@link Signal}.
|
|
1398
|
-
*
|
|
1399
|
-
* The function can call `inject` to get any required dependencies, or use `toSignal` to convert an observable to a signal.
|
|
1400
|
-
*
|
|
1401
|
-
* @deprecated since version 19.0.0-beta.3. Register a text provider to change or localize menu item texts. Register the text provider via workbench configuration passed to the `provideWorkbench` function. API will be removed in version 21.
|
|
1402
|
-
*/
|
|
1403
|
-
text?: string | (() => string | Signal<string>);
|
|
1404
1525
|
accelerator?: string[];
|
|
1405
1526
|
group?: string;
|
|
1406
1527
|
cssClass?: string | string[];
|
|
@@ -1514,7 +1635,7 @@ interface Disposable {
|
|
|
1514
1635
|
*/
|
|
1515
1636
|
declare abstract class WorkbenchPart {
|
|
1516
1637
|
/**
|
|
1517
|
-
*
|
|
1638
|
+
* Identity of this part.
|
|
1518
1639
|
*/
|
|
1519
1640
|
abstract readonly id: PartId;
|
|
1520
1641
|
/**
|
|
@@ -1639,7 +1760,7 @@ interface WorkbenchPartNavigation {
|
|
|
1639
1760
|
*/
|
|
1640
1761
|
declare abstract class WorkbenchView {
|
|
1641
1762
|
/**
|
|
1642
|
-
*
|
|
1763
|
+
* Identity of this view.
|
|
1643
1764
|
*
|
|
1644
1765
|
* @see alternativeId
|
|
1645
1766
|
*/
|
|
@@ -1659,24 +1780,6 @@ declare abstract class WorkbenchView {
|
|
|
1659
1780
|
* A view can be navigated using {@link WorkbenchRouter#navigate} or {@link WorkbenchLayout#navigateView}.
|
|
1660
1781
|
*/
|
|
1661
1782
|
abstract readonly navigation: Signal<WorkbenchViewNavigation | undefined>;
|
|
1662
|
-
/**
|
|
1663
|
-
* Hint passed to the navigation.
|
|
1664
|
-
*
|
|
1665
|
-
* @deprecated since version 19.0.0-beta.2. Use {@link navigation.hint} instead. API will be removed in version 21.
|
|
1666
|
-
*/
|
|
1667
|
-
abstract readonly navigationHint: Signal<string | undefined>;
|
|
1668
|
-
/**
|
|
1669
|
-
* Data passed to the navigation.
|
|
1670
|
-
*
|
|
1671
|
-
* @deprecated since version 19.0.0-beta.2. Use {@link navigation.data} instead. API will be removed in version 21.
|
|
1672
|
-
*/
|
|
1673
|
-
abstract readonly navigationData: Signal<NavigationData>;
|
|
1674
|
-
/**
|
|
1675
|
-
* State passed to the navigation.
|
|
1676
|
-
*
|
|
1677
|
-
* @deprecated since version 19.0.0-beta.2. Use {@link navigation.state} instead. API will be removed in version 21.
|
|
1678
|
-
*/
|
|
1679
|
-
abstract readonly navigationState: Signal<NavigationState>;
|
|
1680
1783
|
/**
|
|
1681
1784
|
* Part which contains this view.
|
|
1682
1785
|
*
|
|
@@ -1741,12 +1844,6 @@ declare abstract class WorkbenchView {
|
|
|
1741
1844
|
* Menu items associated with this view.
|
|
1742
1845
|
*/
|
|
1743
1846
|
abstract readonly menuItems: Signal<WorkbenchMenuItem[]>;
|
|
1744
|
-
/**
|
|
1745
|
-
* URL associated with this view.
|
|
1746
|
-
*
|
|
1747
|
-
* @deprecated since version 19.0.0-beta.2. Use {@link navigation.path} instead. API will be removed in version 21.
|
|
1748
|
-
*/
|
|
1749
|
-
abstract readonly urlSegments: Signal<UrlSegment[]>;
|
|
1750
1847
|
/**
|
|
1751
1848
|
* Gets the activation instant of this view.
|
|
1752
1849
|
*/
|
|
@@ -1847,13 +1944,13 @@ interface WorkbenchViewNavigation {
|
|
|
1847
1944
|
/**
|
|
1848
1945
|
* Handle to interact with a dialog opened via {@link WorkbenchDialogService}.
|
|
1849
1946
|
*
|
|
1850
|
-
* The dialog component can inject this handle to interact with the dialog
|
|
1947
|
+
* The dialog component can inject this handle to interact with the dialog.
|
|
1851
1948
|
*
|
|
1852
1949
|
* Dialog inputs are available as input properties in the dialog component.
|
|
1853
1950
|
*/
|
|
1854
|
-
declare abstract class WorkbenchDialog
|
|
1951
|
+
declare abstract class WorkbenchDialog {
|
|
1855
1952
|
/**
|
|
1856
|
-
*
|
|
1953
|
+
* Identity of this dialog.
|
|
1857
1954
|
*/
|
|
1858
1955
|
abstract readonly id: DialogId;
|
|
1859
1956
|
/**
|
|
@@ -1864,7 +1961,7 @@ declare abstract class WorkbenchDialog<R = unknown> {
|
|
|
1864
1961
|
abstract get title(): Signal<Translatable | undefined>;
|
|
1865
1962
|
abstract set title(title: Translatable | undefined);
|
|
1866
1963
|
/**
|
|
1867
|
-
*
|
|
1964
|
+
* Sets the preferred dialog size. Defaults to the content's intrinsic size, constrained by min and max size, if set.
|
|
1868
1965
|
*/
|
|
1869
1966
|
abstract readonly size: WorkbenchDialogSize;
|
|
1870
1967
|
/**
|
|
@@ -1898,23 +1995,27 @@ declare abstract class WorkbenchDialog<R = unknown> {
|
|
|
1898
1995
|
/**
|
|
1899
1996
|
* Closes the dialog. Optionally, pass a result or an error to the dialog opener.
|
|
1900
1997
|
*/
|
|
1901
|
-
abstract close(result?: R | Error): void;
|
|
1998
|
+
abstract close<R>(result?: R | Error): void;
|
|
1902
1999
|
}
|
|
1903
2000
|
/**
|
|
1904
2001
|
* Represents the preferred dialog size.
|
|
1905
2002
|
*/
|
|
1906
2003
|
interface WorkbenchDialogSize {
|
|
2004
|
+
/**
|
|
2005
|
+
* Specifies the height of the dialog, constrained by {@link minHeight} and {@link maxHeight}, if any.
|
|
2006
|
+
*/
|
|
2007
|
+
get height(): Signal<string | undefined>;
|
|
2008
|
+
set height(height: string | undefined);
|
|
2009
|
+
/**
|
|
2010
|
+
* Specifies the width of the dialog, constrained by {@link minWidth} and {@link maxWidth}, if any.
|
|
2011
|
+
*/
|
|
2012
|
+
get width(): Signal<string | undefined>;
|
|
2013
|
+
set width(width: string | undefined);
|
|
1907
2014
|
/**
|
|
1908
2015
|
* Specifies the minimum height of the dialog.
|
|
1909
2016
|
*/
|
|
1910
2017
|
get minHeight(): Signal<string | undefined>;
|
|
1911
2018
|
set minHeight(minHeight: string | undefined);
|
|
1912
|
-
/**
|
|
1913
|
-
* Specifies the height of the dialog, displaying a vertical scrollbar if its content overflows.
|
|
1914
|
-
* If not specified, the dialog adapts its height to its context height, respecting any `minHeight' or `maxHeight' constraint.
|
|
1915
|
-
*/
|
|
1916
|
-
get height(): Signal<string | undefined>;
|
|
1917
|
-
set height(height: string | undefined);
|
|
1918
2019
|
/**
|
|
1919
2020
|
* Specifies the maximum height of the dialog.
|
|
1920
2021
|
*/
|
|
@@ -1925,12 +2026,6 @@ interface WorkbenchDialogSize {
|
|
|
1925
2026
|
*/
|
|
1926
2027
|
get minWidth(): Signal<string | undefined>;
|
|
1927
2028
|
set minWidth(minWidth: string | undefined);
|
|
1928
|
-
/**
|
|
1929
|
-
* Specifies the width of the dialog, displaying a horizontal scrollbar if its content overflows.
|
|
1930
|
-
* If not specified, the dialog adapts its width to its context width, respecting any `minWidth' or `maxWidth' constraint.
|
|
1931
|
-
*/
|
|
1932
|
-
get width(): Signal<string | undefined>;
|
|
1933
|
-
set width(width: string | undefined);
|
|
1934
2029
|
/**
|
|
1935
2030
|
* Specifies the maximum width of the dialog.
|
|
1936
2031
|
*/
|
|
@@ -1939,250 +2034,99 @@ interface WorkbenchDialogSize {
|
|
|
1939
2034
|
}
|
|
1940
2035
|
|
|
1941
2036
|
/**
|
|
1942
|
-
*
|
|
2037
|
+
* A popup is a visual workbench element for displaying content above other content. The popup is positioned relative
|
|
2038
|
+
* to an anchor based on its preferred alignment. The anchor can be an element or a coordinate.
|
|
2039
|
+
*
|
|
2040
|
+
* The popup component can inject this handle to interact with the popup.
|
|
2041
|
+
*
|
|
2042
|
+
* Popup inputs are available as input properties in the popup component.
|
|
2043
|
+
*
|
|
2044
|
+
* @see WorkbenchPopupService
|
|
1943
2045
|
*/
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
2046
|
+
declare abstract class WorkbenchPopup {
|
|
2047
|
+
/**
|
|
2048
|
+
* Identity of this popup.
|
|
2049
|
+
*/
|
|
2050
|
+
abstract readonly id: PopupId;
|
|
2051
|
+
/**
|
|
2052
|
+
* Sets the preferred popup size. Defaults to the content's intrinsic size, constrained by min and max size, if set.
|
|
2053
|
+
*/
|
|
2054
|
+
abstract readonly size: WorkbenchPopupSize;
|
|
2055
|
+
/**
|
|
2056
|
+
* Specifies CSS class(es) to add to the popup, e.g., to locate the popup in tests.
|
|
2057
|
+
*/
|
|
2058
|
+
abstract get cssClass(): Signal<string[]>;
|
|
2059
|
+
abstract set cssClass(cssClass: string | string[]);
|
|
2060
|
+
/**
|
|
2061
|
+
* Indicates whether this popup has the focus.
|
|
2062
|
+
*/
|
|
2063
|
+
abstract readonly focused: Signal<boolean>;
|
|
2064
|
+
/**
|
|
2065
|
+
* Sets a result that will be passed to the popup opener when the popup is closed on focus loss {@link CloseStrategy#onFocusLost}.
|
|
2066
|
+
*/
|
|
2067
|
+
abstract setResult<R>(result?: R): void;
|
|
2068
|
+
/**
|
|
2069
|
+
* Closes the popup. Optionally, pass a result or an error to the popup opener.
|
|
2070
|
+
*/
|
|
2071
|
+
abstract close<R>(result?: R | Error): void;
|
|
2072
|
+
}
|
|
1948
2073
|
/**
|
|
1949
|
-
*
|
|
2074
|
+
* Represents the preferred size of a popup.
|
|
1950
2075
|
*/
|
|
1951
|
-
interface
|
|
1952
|
-
|
|
1953
|
-
|
|
2076
|
+
interface WorkbenchPopupSize {
|
|
2077
|
+
/**
|
|
2078
|
+
* Specifies the height of the popup, constrained by {@link minHeight} and {@link maxHeight}, if any.
|
|
2079
|
+
*/
|
|
2080
|
+
get height(): Signal<string | undefined>;
|
|
2081
|
+
set height(height: string | undefined);
|
|
2082
|
+
/**
|
|
2083
|
+
* Specifies the width of the popup, constrained by {@link minWidth} and {@link maxWidth}, if any.
|
|
2084
|
+
*/
|
|
2085
|
+
get width(): Signal<string | undefined>;
|
|
2086
|
+
set width(width: string | undefined);
|
|
2087
|
+
/**
|
|
2088
|
+
* Specifies the minimum height of the popup.
|
|
2089
|
+
*/
|
|
2090
|
+
get minHeight(): Signal<string | undefined>;
|
|
2091
|
+
set minHeight(minHeight: string | undefined);
|
|
2092
|
+
/**
|
|
2093
|
+
* Specifies the maximum height of the popup.
|
|
2094
|
+
*/
|
|
2095
|
+
get maxHeight(): Signal<string | undefined>;
|
|
2096
|
+
set maxHeight(maxHeight: string | undefined);
|
|
2097
|
+
/**
|
|
2098
|
+
* Specifies the minimum width of the popup.
|
|
2099
|
+
*/
|
|
2100
|
+
get minWidth(): Signal<string | undefined>;
|
|
2101
|
+
set minWidth(minWidth: string | undefined);
|
|
2102
|
+
/**
|
|
2103
|
+
* Specifies the maximum width of the popup.
|
|
2104
|
+
*/
|
|
2105
|
+
get maxWidth(): Signal<string | undefined>;
|
|
2106
|
+
set maxWidth(maxWidth: string | undefined);
|
|
1954
2107
|
}
|
|
2108
|
+
|
|
1955
2109
|
/**
|
|
1956
|
-
*
|
|
2110
|
+
* The signature of a function to confirm closing a view., e.g., if dirty.
|
|
1957
2111
|
*
|
|
1958
|
-
*
|
|
2112
|
+
* The function can call `inject` to get dependencies.
|
|
1959
2113
|
*/
|
|
1960
|
-
|
|
1961
|
-
top: number;
|
|
1962
|
-
left: number;
|
|
1963
|
-
}
|
|
2114
|
+
type CanCloseFn = () => Observable<boolean> | Promise<boolean> | boolean;
|
|
1964
2115
|
/**
|
|
1965
|
-
*
|
|
2116
|
+
* Reference to a `CanClose` guard registered on a view.
|
|
1966
2117
|
*/
|
|
1967
|
-
interface
|
|
1968
|
-
|
|
1969
|
-
|
|
2118
|
+
interface CanCloseRef {
|
|
2119
|
+
/**
|
|
2120
|
+
* Removes the `CanClose` guard from the view.
|
|
2121
|
+
*
|
|
2122
|
+
* Has no effect if another guard was registered in the meantime.
|
|
2123
|
+
*/
|
|
2124
|
+
dispose(): void;
|
|
1970
2125
|
}
|
|
1971
2126
|
/**
|
|
1972
|
-
*
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
bottom: number;
|
|
1976
|
-
left: number;
|
|
1977
|
-
}
|
|
1978
|
-
/**
|
|
1979
|
-
* Coordinate relative to the "bottom/right" corner of the view or page viewport.
|
|
1980
|
-
*/
|
|
1981
|
-
interface BottomRightPoint {
|
|
1982
|
-
bottom: number;
|
|
1983
|
-
right: number;
|
|
1984
|
-
}
|
|
1985
|
-
|
|
1986
|
-
/**
|
|
1987
|
-
* Controls the appearance and behavior of a popup.
|
|
1988
|
-
*/
|
|
1989
|
-
declare abstract class PopupConfig {
|
|
1990
|
-
/**
|
|
1991
|
-
* Controls where to open the popup.
|
|
1992
|
-
*
|
|
1993
|
-
* Can be an HTML element or a coordinate. The coordinate is relative to the {@link context}, defaulting to the calling context.
|
|
1994
|
-
*
|
|
1995
|
-
* Supported coordinate pairs:
|
|
1996
|
-
* - x/y: Relative to the top/left corner of the context.
|
|
1997
|
-
* - top/left: Same as x/y.
|
|
1998
|
-
* - top/right: Relative to the top/right corner of the context.
|
|
1999
|
-
* - bottom/left: Relative to the bottom/left corner of the context.
|
|
2000
|
-
* - bottom/right: Relative to the bottom/right corner of the context.
|
|
2001
|
-
*
|
|
2002
|
-
* Passing an Observable allows for updating the coordinate.
|
|
2003
|
-
*/
|
|
2004
|
-
abstract readonly anchor: ElementRef<Element> | Element | PopupOrigin | Observable<PopupOrigin>;
|
|
2005
|
-
/**
|
|
2006
|
-
* Specifies the component to display in the popup.
|
|
2007
|
-
*
|
|
2008
|
-
* In the component, you can inject the popup handle {@link WorkbenchPopup} to interact with the popup, such as to close it
|
|
2009
|
-
* or obtain its input data.
|
|
2010
|
-
*/
|
|
2011
|
-
abstract readonly component: Type<any>;
|
|
2012
|
-
/**
|
|
2013
|
-
* Instructs Angular how to construct the component. In most cases, construct options need not to be set.
|
|
2014
|
-
*/
|
|
2015
|
-
readonly componentConstructOptions?: {
|
|
2016
|
-
/**
|
|
2017
|
-
* Sets the injector for the instantiation of the popup component, giving you control over the objects available
|
|
2018
|
-
* for injection into the popup component. If not specified, uses the application's root injector, or the view's
|
|
2019
|
-
* injector if opened in the context of a view.
|
|
2020
|
-
*
|
|
2021
|
-
* ```ts
|
|
2022
|
-
* Injector.create({
|
|
2023
|
-
* parent: ...,
|
|
2024
|
-
* providers: [
|
|
2025
|
-
* {provide: <DiToken>, useValue: <value>}
|
|
2026
|
-
* ],
|
|
2027
|
-
* })
|
|
2028
|
-
* ```
|
|
2029
|
-
*/
|
|
2030
|
-
injector?: Injector;
|
|
2031
|
-
/**
|
|
2032
|
-
* Specifies providers to be registered with the popup injector. Unlike providers that are registered via a separate {@link injector},
|
|
2033
|
-
* passed providers are registered in the same injector as the popup handle itself, allowing for dependency injection of the popup handle.
|
|
2034
|
-
*/
|
|
2035
|
-
providers?: StaticProvider[];
|
|
2036
|
-
/**
|
|
2037
|
-
* Sets the component's attachment point in Angular's logical component tree (not the DOM tree used for rendering), effecting when
|
|
2038
|
-
* Angular checks the component for changes during a change detection cycle. If not set, inserts the component at the top level
|
|
2039
|
-
* in the component tree.
|
|
2040
|
-
*/
|
|
2041
|
-
viewContainerRef?: ViewContainerRef;
|
|
2042
|
-
};
|
|
2043
|
-
/**
|
|
2044
|
-
* Hint where to align the popup relative to the popup anchor, unless there is not enough space available in that area. By default,
|
|
2045
|
-
* if not specified, the popup opens north of the anchor.
|
|
2046
|
-
*/
|
|
2047
|
-
readonly align?: 'east' | 'west' | 'north' | 'south';
|
|
2048
|
-
/**
|
|
2049
|
-
* Optional data to pass to the popup component. In the component, you can inject the popup handle {@link WorkbenchPopup} to read input data.
|
|
2050
|
-
*/
|
|
2051
|
-
readonly input?: any;
|
|
2052
|
-
/**
|
|
2053
|
-
* Controls when to close the popup.
|
|
2054
|
-
*/
|
|
2055
|
-
readonly closeStrategy?: CloseStrategy;
|
|
2056
|
-
/**
|
|
2057
|
-
* Specifies the preferred popup size. If not specified, the popup adjusts its size to the content size.
|
|
2058
|
-
*/
|
|
2059
|
-
readonly size?: PopupSize;
|
|
2060
|
-
/**
|
|
2061
|
-
* Specifies CSS class(es) to add to the popup, e.g., to locate the popup in tests.
|
|
2062
|
-
*/
|
|
2063
|
-
readonly cssClass?: string | string[];
|
|
2064
|
-
/**
|
|
2065
|
-
* Binds the popup to a context (e.g., a part or view). Defaults to the calling context.
|
|
2066
|
-
*
|
|
2067
|
-
* The popup is displayed only if the context is visible and closes when the context is disposed.
|
|
2068
|
-
*
|
|
2069
|
-
* Set to `null` to open the popup outside a context.
|
|
2070
|
-
*/
|
|
2071
|
-
abstract context?: ViewId | PartId | DialogId | PopupId | Context$2 | null;
|
|
2072
|
-
}
|
|
2073
|
-
/**
|
|
2074
|
-
* Specifies when to close the popup.
|
|
2075
|
-
*/
|
|
2076
|
-
interface CloseStrategy {
|
|
2077
|
-
/**
|
|
2078
|
-
* Controls if to close the popup on focus loss, returning the result set via {@link WorkbenchPopup#setResult} to the popup opener.
|
|
2079
|
-
* Defaults to `true`.
|
|
2080
|
-
*/
|
|
2081
|
-
onFocusLost?: boolean;
|
|
2082
|
-
/**
|
|
2083
|
-
* Controls if to close the popup when pressing escape. Defaults to `true`.
|
|
2084
|
-
* No return value will be passed to the popup opener.
|
|
2085
|
-
*/
|
|
2086
|
-
onEscape?: boolean;
|
|
2087
|
-
}
|
|
2088
|
-
/**
|
|
2089
|
-
* Represents the preferred popup size as specified by the popup opener.
|
|
2090
|
-
*/
|
|
2091
|
-
interface PopupSize {
|
|
2092
|
-
/**
|
|
2093
|
-
* Specifies the min-height of the popup.
|
|
2094
|
-
*/
|
|
2095
|
-
minHeight?: string;
|
|
2096
|
-
/**
|
|
2097
|
-
* Specifies the height of the popup.
|
|
2098
|
-
*/
|
|
2099
|
-
height?: string;
|
|
2100
|
-
/**
|
|
2101
|
-
* Specifies the max-height of the popup.
|
|
2102
|
-
*/
|
|
2103
|
-
maxHeight?: string;
|
|
2104
|
-
/**
|
|
2105
|
-
* Specifies the min-width of the popup.
|
|
2106
|
-
*/
|
|
2107
|
-
minWidth?: string;
|
|
2108
|
-
/**
|
|
2109
|
-
* Specifies the width of the popup.
|
|
2110
|
-
*/
|
|
2111
|
-
width?: string;
|
|
2112
|
-
/**
|
|
2113
|
-
* Specifies the max-width of the popup.
|
|
2114
|
-
*/
|
|
2115
|
-
maxWidth?: string;
|
|
2116
|
-
}
|
|
2117
|
-
/**
|
|
2118
|
-
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
2119
|
-
*/
|
|
2120
|
-
interface Context$2 {
|
|
2121
|
-
/**
|
|
2122
|
-
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
2123
|
-
*/
|
|
2124
|
-
viewId?: ViewId | null;
|
|
2125
|
-
}
|
|
2126
|
-
|
|
2127
|
-
/**
|
|
2128
|
-
* Handle to interact with a popup opened via {@link WorkbenchPopupService}.
|
|
2129
|
-
*
|
|
2130
|
-
* The popup component can inject this handle to interact with the popup.
|
|
2131
|
-
*
|
|
2132
|
-
* Popup inputs are available via {@link WorkbenchPopup.input} property.
|
|
2133
|
-
*/
|
|
2134
|
-
declare abstract class WorkbenchPopup<T = unknown, R = unknown> {
|
|
2135
|
-
/**
|
|
2136
|
-
* Unique identity of this popup.
|
|
2137
|
-
*/
|
|
2138
|
-
abstract readonly id: PopupId;
|
|
2139
|
-
/**
|
|
2140
|
-
* Input data as passed by the popup opener when opened the popup, or `undefined` if not passed.
|
|
2141
|
-
*/
|
|
2142
|
-
abstract readonly input: T | undefined;
|
|
2143
|
-
/**
|
|
2144
|
-
* Preferred popup size as specified by the popup opener, or `undefined` if not set.
|
|
2145
|
-
*/
|
|
2146
|
-
abstract readonly size: PopupSize | undefined;
|
|
2147
|
-
/**
|
|
2148
|
-
* CSS classes associated with the popup.
|
|
2149
|
-
*/
|
|
2150
|
-
abstract readonly cssClasses: string[];
|
|
2151
|
-
/**
|
|
2152
|
-
* Indicates whether this popup has the focus.
|
|
2153
|
-
*/
|
|
2154
|
-
abstract readonly focused: Signal<boolean>;
|
|
2155
|
-
/**
|
|
2156
|
-
* Sets a result that will be passed to the popup opener when the popup is closed on focus loss {@link CloseStrategy#onFocusLost}.
|
|
2157
|
-
*/
|
|
2158
|
-
abstract setResult(result?: R): void;
|
|
2159
|
-
/**
|
|
2160
|
-
* Closes the popup. Optionally, pass a result or an error to the popup opener.
|
|
2161
|
-
*/
|
|
2162
|
-
abstract close(result?: R | Error): void;
|
|
2163
|
-
}
|
|
2164
|
-
|
|
2165
|
-
/**
|
|
2166
|
-
* The signature of a function to confirm closing a view., e.g., if dirty.
|
|
2167
|
-
*
|
|
2168
|
-
* The function can call `inject` to get dependencies.
|
|
2169
|
-
*/
|
|
2170
|
-
type CanCloseFn = () => Observable<boolean> | Promise<boolean> | boolean;
|
|
2171
|
-
/**
|
|
2172
|
-
* Reference to a `CanClose` guard registered on a view.
|
|
2173
|
-
*/
|
|
2174
|
-
interface CanCloseRef {
|
|
2175
|
-
/**
|
|
2176
|
-
* Removes the `CanClose` guard from the view.
|
|
2177
|
-
*
|
|
2178
|
-
* Has no effect if another guard was registered in the meantime.
|
|
2179
|
-
*/
|
|
2180
|
-
dispose(): void;
|
|
2181
|
-
}
|
|
2182
|
-
/**
|
|
2183
|
-
* Represents an action of a {@link WorkbenchPart}.
|
|
2184
|
-
*
|
|
2185
|
-
* Part actions are displayed in the part bar, enabling interaction with the part and its content. Actions can be aligned to the left or right.
|
|
2127
|
+
* Represents an action of a {@link WorkbenchPart}.
|
|
2128
|
+
*
|
|
2129
|
+
* Part actions are displayed in the part bar, enabling interaction with the part and its content. Actions can be aligned to the left or right.
|
|
2186
2130
|
*/
|
|
2187
2131
|
interface WorkbenchPartAction {
|
|
2188
2132
|
/**
|
|
@@ -2194,7 +2138,7 @@ interface WorkbenchPartAction {
|
|
|
2194
2138
|
*/
|
|
2195
2139
|
content: ComponentType<unknown> | TemplateRef<unknown>;
|
|
2196
2140
|
/**
|
|
2197
|
-
*
|
|
2141
|
+
* Specifies data to pass to the component or template.
|
|
2198
2142
|
*
|
|
2199
2143
|
* If using a component, inputs are available as input properties.
|
|
2200
2144
|
*
|
|
@@ -2253,7 +2197,7 @@ interface WorkbenchMenuItem {
|
|
|
2253
2197
|
*/
|
|
2254
2198
|
content: ComponentType<unknown> | TemplateRef<unknown>;
|
|
2255
2199
|
/**
|
|
2256
|
-
*
|
|
2200
|
+
* Specifies data to pass to the component or template.
|
|
2257
2201
|
*
|
|
2258
2202
|
* If using a component, inputs are available as input properties.
|
|
2259
2203
|
*
|
|
@@ -2334,21 +2278,6 @@ type WorkbenchPartActionFn = (part: WorkbenchPart) => WorkbenchPartAction | Comp
|
|
|
2334
2278
|
* Use Angular's `untracked` function to execute code outside this reactive context.
|
|
2335
2279
|
*/
|
|
2336
2280
|
type WorkbenchViewMenuItemFn = (view: WorkbenchView) => WorkbenchMenuItem | null;
|
|
2337
|
-
/**
|
|
2338
|
-
* Information about a workbench theme.
|
|
2339
|
-
*
|
|
2340
|
-
* @deprecated since version 19.0.0-beta.3. Read the theme from `WorkbenchService.settings.theme` signal, and the color scheme from 'getComputedStyle(inject(DOCUMENT).documentElement).colorScheme'. API will be removed in version 21.
|
|
2341
|
-
*/
|
|
2342
|
-
interface WorkbenchTheme {
|
|
2343
|
-
/**
|
|
2344
|
-
* The name of the theme.
|
|
2345
|
-
*/
|
|
2346
|
-
name: string;
|
|
2347
|
-
/**
|
|
2348
|
-
* The color scheme of the theme.
|
|
2349
|
-
*/
|
|
2350
|
-
colorScheme: 'light' | 'dark';
|
|
2351
|
-
}
|
|
2352
2281
|
/**
|
|
2353
2282
|
* Union of workbench elements.
|
|
2354
2283
|
*/
|
|
@@ -2514,19 +2443,6 @@ declare abstract class WorkbenchService {
|
|
|
2514
2443
|
* @return handle to unregister the menu item.
|
|
2515
2444
|
*/
|
|
2516
2445
|
abstract registerViewMenuItem(fn: WorkbenchViewMenuItemFn): Disposable;
|
|
2517
|
-
/**
|
|
2518
|
-
* Switches the theme of the workbench.
|
|
2519
|
-
*
|
|
2520
|
-
* Themes can be registered when loading the `@scion/workbench` SCSS module in the application's `styles.scss` file.
|
|
2521
|
-
* By default, SCION provides a light and a dark theme, `scion-light` and `scion-dark`.
|
|
2522
|
-
*
|
|
2523
|
-
* See the documentation of `@scion/workbench` SCSS module for more information.
|
|
2524
|
-
*
|
|
2525
|
-
* @param theme - The name of the theme to switch to.
|
|
2526
|
-
*
|
|
2527
|
-
* @deprecated since version 19.0.0-beta.3. Switch theme using `WorkbenchService.settings.theme` signal. API will be removed in version 21.
|
|
2528
|
-
*/
|
|
2529
|
-
abstract switchTheme(theme: string): Promise<void>;
|
|
2530
2446
|
/**
|
|
2531
2447
|
* Defines settings to adapt the workbench to personal preferences and working styles.
|
|
2532
2448
|
*
|
|
@@ -2558,12 +2474,6 @@ declare abstract class WorkbenchService {
|
|
|
2558
2474
|
* Provides the focused workbench element, or `null` if the focus is on a DOM element outside any workbench element.
|
|
2559
2475
|
*/
|
|
2560
2476
|
abstract readonly activeElement: Signal<WorkbenchElement | null>;
|
|
2561
|
-
/**
|
|
2562
|
-
* Provides the current workbench theme, if any.
|
|
2563
|
-
*
|
|
2564
|
-
* @deprecated since version 19.0.0-beta.3. Read the theme from `WorkbenchService.settings.theme` signal, and the color scheme from 'getComputedStyle(inject(DOCUMENT).documentElement).colorScheme'. API will be removed in version 21.
|
|
2565
|
-
*/
|
|
2566
|
-
abstract readonly theme: Signal<WorkbenchTheme | null>;
|
|
2567
2477
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchService, never>;
|
|
2568
2478
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchService>;
|
|
2569
2479
|
}
|
|
@@ -2584,22 +2494,6 @@ declare abstract class WorkbenchStartup {
|
|
|
2584
2494
|
* After startup, the workbench layout is available.
|
|
2585
2495
|
*/
|
|
2586
2496
|
abstract readonly whenDone: Promise<void>;
|
|
2587
|
-
/**
|
|
2588
|
-
* Indicates whether the workbench has completed startup.
|
|
2589
|
-
*
|
|
2590
|
-
* After startup, the workbench layout is available.
|
|
2591
|
-
*
|
|
2592
|
-
* @deprecated since version 19.0.0-beta.3. Use `WorkbenchStartup.done` instead. API will be removed in version 21.
|
|
2593
|
-
*/
|
|
2594
|
-
abstract readonly isStarted: Signal<boolean>;
|
|
2595
|
-
/**
|
|
2596
|
-
* Resolves when the workbench completes startup.
|
|
2597
|
-
*
|
|
2598
|
-
* After startup, the workbench layout is available.
|
|
2599
|
-
*
|
|
2600
|
-
* @deprecated since version 19.0.0-beta.3. Use `WorkbenchStartup.whenDone` instead. API will be removed in version 21.
|
|
2601
|
-
*/
|
|
2602
|
-
abstract readonly whenStarted: Promise<true>;
|
|
2603
2497
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchStartup, never>;
|
|
2604
2498
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchStartup>;
|
|
2605
2499
|
}
|
|
@@ -2624,15 +2518,6 @@ interface MPartGrid {
|
|
|
2624
2518
|
*/
|
|
2625
2519
|
referencePartId?: PartId;
|
|
2626
2520
|
}
|
|
2627
|
-
/**
|
|
2628
|
-
* {@link MPartGrid} with additional fields not serialized into the URL.
|
|
2629
|
-
*/
|
|
2630
|
-
interface ɵMPartGrid extends MPartGrid {
|
|
2631
|
-
/**
|
|
2632
|
-
* Indicates if this grid was migrated from an older version.
|
|
2633
|
-
*/
|
|
2634
|
-
migrated?: true;
|
|
2635
|
-
}
|
|
2636
2521
|
/**
|
|
2637
2522
|
* Represents a node in the grid.
|
|
2638
2523
|
*
|
|
@@ -2724,7 +2609,7 @@ interface MView {
|
|
|
2724
2609
|
/**
|
|
2725
2610
|
* Grids referenced in the workbench layout.
|
|
2726
2611
|
*/
|
|
2727
|
-
interface WorkbenchGrids<T =
|
|
2612
|
+
interface WorkbenchGrids<T = MPartGrid> {
|
|
2728
2613
|
/**
|
|
2729
2614
|
* Reference to the "root" grid of the workbench layout.
|
|
2730
2615
|
*/
|
|
@@ -3710,6 +3595,10 @@ interface PortalOptions {
|
|
|
3710
3595
|
* Providers registered with the injector for the instantiation of the component.
|
|
3711
3596
|
*/
|
|
3712
3597
|
providers?: Provider[];
|
|
3598
|
+
/**
|
|
3599
|
+
* Optional name used in portal lifecycle logs.
|
|
3600
|
+
*/
|
|
3601
|
+
debugName?: string;
|
|
3713
3602
|
}
|
|
3714
3603
|
/**
|
|
3715
3604
|
* Lifecycle hook for the component rendered by {@link WbComponentPortal} after attached to the DOM.
|
|
@@ -4136,7 +4025,6 @@ declare class DesktopSlotComponent implements OnAttach, OnDetach {
|
|
|
4136
4025
|
private readonly _host;
|
|
4137
4026
|
private readonly _document;
|
|
4138
4027
|
private readonly _viewport;
|
|
4139
|
-
private readonly _logger;
|
|
4140
4028
|
private _scrollTop;
|
|
4141
4029
|
private _scrollLeft;
|
|
4142
4030
|
private _activeElementBeforeDetach;
|
|
@@ -4149,7 +4037,6 @@ declare class DesktopSlotComponent implements OnAttach, OnDetach {
|
|
|
4149
4037
|
* Method invoked before detaching this component from the DOM.
|
|
4150
4038
|
*/
|
|
4151
4039
|
onDetach(): void;
|
|
4152
|
-
protected onLegacyDesktopActivate(): void;
|
|
4153
4040
|
static ɵfac: i0.ɵɵFactoryDeclaration<DesktopSlotComponent, never>;
|
|
4154
4041
|
static ɵcmp: i0.ɵɵComponentDeclaration<DesktopSlotComponent, "wb-desktop-slot", never, {}, {}, never, never, true, never>;
|
|
4155
4042
|
}
|
|
@@ -4194,7 +4081,7 @@ declare class MainAreaPartComponent {
|
|
|
4194
4081
|
private readonly _layout;
|
|
4195
4082
|
private readonly _viewDragService;
|
|
4196
4083
|
protected readonly part: ɵWorkbenchPart;
|
|
4197
|
-
protected readonly mainAreaGrid: i0.Signal
|
|
4084
|
+
protected readonly mainAreaGrid: i0.Signal<MPartGrid>;
|
|
4198
4085
|
protected readonly desktop: WorkbenchDesktop;
|
|
4199
4086
|
protected readonly dasherize: typeof dasherize;
|
|
4200
4087
|
protected readonly canDrop: i0.Signal<boolean>;
|
|
@@ -4221,7 +4108,6 @@ declare class PartComponent implements OnInit {
|
|
|
4221
4108
|
* Constructs view components of inactive views, so they can initialize, e.g., to set the view tab title.
|
|
4222
4109
|
*/
|
|
4223
4110
|
private constructInactiveViewComponents;
|
|
4224
|
-
private addHostCssClasses;
|
|
4225
4111
|
private installComponentLifecycleLogger;
|
|
4226
4112
|
static ɵfac: i0.ɵɵFactoryDeclaration<PartComponent, never>;
|
|
4227
4113
|
static ɵcmp: i0.ɵɵComponentDeclaration<PartComponent, "wb-part", never, {}, {}, never, never, true, never>;
|
|
@@ -4232,9 +4118,9 @@ declare class PartComponent implements OnInit {
|
|
|
4232
4118
|
*/
|
|
4233
4119
|
interface WorkbenchDialogOptions {
|
|
4234
4120
|
/**
|
|
4235
|
-
*
|
|
4121
|
+
* Specifies data to pass to the dialog component. Inputs are available as input properties in the dialog component.
|
|
4236
4122
|
*
|
|
4237
|
-
*
|
|
4123
|
+
* @example - Reading inputs in the component
|
|
4238
4124
|
* ```ts
|
|
4239
4125
|
* public someInput = input.required<string>();
|
|
4240
4126
|
* ```
|
|
@@ -4253,20 +4139,19 @@ interface WorkbenchDialogOptions {
|
|
|
4253
4139
|
*/
|
|
4254
4140
|
modality?: 'none' | 'context' | 'application' | ViewModality$1;
|
|
4255
4141
|
/**
|
|
4256
|
-
* Binds the dialog to a context (e.g.,
|
|
4142
|
+
* Binds the dialog to a context (e.g., part or view). Defaults to the calling context.
|
|
4257
4143
|
*
|
|
4258
4144
|
* The dialog is displayed only if the context is visible and closes when the context is disposed.
|
|
4259
4145
|
* The dialog is opened in the center of its context, if any, unless opened from the peripheral area.
|
|
4260
4146
|
*
|
|
4261
4147
|
* Set to `null` to open the dialog outside a context.
|
|
4262
4148
|
*/
|
|
4263
|
-
context?: ViewId | PartId | DialogId | PopupId | Context$
|
|
4149
|
+
context?: ViewId | PartId | DialogId | PopupId | Context$3 | null;
|
|
4264
4150
|
/**
|
|
4265
|
-
*
|
|
4266
|
-
* for injection
|
|
4267
|
-
* injector if opened in the context of a view.
|
|
4151
|
+
* Specifies the injector for the instantiation of the dialog, giving control over the objects available
|
|
4152
|
+
* for injection in the dialog component. Defaults to the application's root injector.
|
|
4268
4153
|
*
|
|
4269
|
-
*
|
|
4154
|
+
* @example - Creating an injector with a DI token
|
|
4270
4155
|
* ```ts
|
|
4271
4156
|
* Injector.create({
|
|
4272
4157
|
* parent: ...,
|
|
@@ -4277,6 +4162,12 @@ interface WorkbenchDialogOptions {
|
|
|
4277
4162
|
* ```
|
|
4278
4163
|
*/
|
|
4279
4164
|
injector?: Injector;
|
|
4165
|
+
/**
|
|
4166
|
+
* Specifies providers available for injection in the dialog component.
|
|
4167
|
+
*
|
|
4168
|
+
* Providers can inject {@link WorkbenchDialog} to interact with the dialog.
|
|
4169
|
+
*/
|
|
4170
|
+
providers?: Provider[];
|
|
4280
4171
|
/**
|
|
4281
4172
|
* Specifies CSS class(es) to add to the dialog, e.g., to locate the dialog in tests.
|
|
4282
4173
|
*/
|
|
@@ -4293,7 +4184,7 @@ type ViewModality$1 = 'view';
|
|
|
4293
4184
|
/**
|
|
4294
4185
|
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
4295
4186
|
*/
|
|
4296
|
-
interface Context$
|
|
4187
|
+
interface Context$3 {
|
|
4297
4188
|
/**
|
|
4298
4189
|
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
4299
4190
|
*/
|
|
@@ -4403,7 +4294,7 @@ interface WorkbenchInvocationContext {
|
|
|
4403
4294
|
}
|
|
4404
4295
|
|
|
4405
4296
|
/** @inheritDoc */
|
|
4406
|
-
declare class ɵWorkbenchDialog
|
|
4297
|
+
declare class ɵWorkbenchDialog implements WorkbenchDialog, Blockable, Blocking {
|
|
4407
4298
|
id: DialogId;
|
|
4408
4299
|
component: ComponentType<unknown>;
|
|
4409
4300
|
invocationContext: WorkbenchInvocationContext | null;
|
|
@@ -4439,9 +4330,9 @@ declare class ɵWorkbenchDialog<R = unknown> implements WorkbenchDialog<R>, Bloc
|
|
|
4439
4330
|
/**
|
|
4440
4331
|
* Waits for the dialog to close, resolving to its result or rejecting if closed with an error.
|
|
4441
4332
|
*/
|
|
4442
|
-
waitForClose(): Promise<R | undefined>;
|
|
4333
|
+
waitForClose<R>(): Promise<R | undefined>;
|
|
4443
4334
|
/** @inheritDoc */
|
|
4444
|
-
close(result?: R | Error): void;
|
|
4335
|
+
close<R>(result?: R | Error): void;
|
|
4445
4336
|
/**
|
|
4446
4337
|
* Inputs passed to the dialog.
|
|
4447
4338
|
*/
|
|
@@ -4638,7 +4529,6 @@ declare class ViewSlotComponent implements OnAttach, OnDetach {
|
|
|
4638
4529
|
*/
|
|
4639
4530
|
onDetach(): void;
|
|
4640
4531
|
private installMenuAccelerators;
|
|
4641
|
-
private addHostCssClasses;
|
|
4642
4532
|
/**
|
|
4643
4533
|
* Unsets the active workbench element if this view was the focused element when its part is deactivated,
|
|
4644
4534
|
* such as when closing the activity containing this view. Otherwise, the active element would not be unset.
|
|
@@ -4663,18 +4553,13 @@ declare class ɵWorkbenchView implements WorkbenchView, Blockable {
|
|
|
4663
4553
|
private readonly _viewDragService;
|
|
4664
4554
|
private readonly _focusMonitor;
|
|
4665
4555
|
private readonly _logger;
|
|
4666
|
-
private readonly _adapters;
|
|
4667
4556
|
private readonly _title;
|
|
4668
4557
|
private readonly _heading;
|
|
4669
4558
|
private readonly _dirty;
|
|
4670
4559
|
private readonly _closable;
|
|
4671
4560
|
private readonly _scrolledIntoView;
|
|
4672
|
-
alternativeId: string | undefined;
|
|
4561
|
+
readonly alternativeId: string | undefined;
|
|
4673
4562
|
readonly navigation: i0.WritableSignal<WorkbenchViewNavigation | undefined>;
|
|
4674
|
-
readonly navigationHint: Signal<string | undefined>;
|
|
4675
|
-
readonly navigationData: Signal<_scion_workbench.NavigationData>;
|
|
4676
|
-
readonly navigationState: Signal<_scion_workbench.NavigationState>;
|
|
4677
|
-
readonly urlSegments: Signal<_angular_router.UrlSegment[]>;
|
|
4678
4563
|
readonly position: Signal<number>;
|
|
4679
4564
|
readonly first: Signal<boolean>;
|
|
4680
4565
|
readonly last: Signal<boolean>;
|
|
@@ -4751,20 +4636,6 @@ declare class ɵWorkbenchView implements WorkbenchView, Blockable {
|
|
|
4751
4636
|
}): void;
|
|
4752
4637
|
/** @inheritDoc */
|
|
4753
4638
|
canClose(canClose: CanCloseFn): CanCloseRef;
|
|
4754
|
-
/**
|
|
4755
|
-
* Registers an adapter for this view, replacing any previously registered adapter of the same type.
|
|
4756
|
-
*
|
|
4757
|
-
* Adapters enable loosely coupled extension of an object, allowing one object to be adapted to another.
|
|
4758
|
-
*/
|
|
4759
|
-
registerAdapter<T>(adapterType: AbstractType<T> | Type<T>, object: T): void;
|
|
4760
|
-
/**
|
|
4761
|
-
* Unregisters the given adapter. Has no effect if not registered.
|
|
4762
|
-
*/
|
|
4763
|
-
unregisterAdapter(adapterType: AbstractType<unknown> | Type<unknown>): void;
|
|
4764
|
-
/**
|
|
4765
|
-
* Adapts this object to the specified type. Returns `null` if no such object can be found.
|
|
4766
|
-
*/
|
|
4767
|
-
adapt<T>(adapterType: AbstractType<T> | Type<T>): T | null;
|
|
4768
4639
|
get destroyed(): Signal<boolean>;
|
|
4769
4640
|
/**
|
|
4770
4641
|
* Computes menu items matching this view.
|
|
@@ -4843,39 +4714,230 @@ declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
|
4843
4714
|
destroy(): void;
|
|
4844
4715
|
}
|
|
4845
4716
|
|
|
4846
|
-
/**
|
|
4847
|
-
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
readonly injector: DestroyableInjector;
|
|
4853
|
-
private readonly _overlayRef;
|
|
4854
|
-
private readonly _focusMonitor;
|
|
4855
|
-
private readonly _portal;
|
|
4856
|
-
private readonly _componentRef;
|
|
4857
|
-
private readonly _popupOrigin;
|
|
4858
|
-
readonly cssClasses: string[];
|
|
4859
|
-
readonly focused: Signal<boolean>;
|
|
4860
|
-
readonly attached: Signal<boolean>;
|
|
4861
|
-
readonly destroyed: i0.WritableSignal<boolean>;
|
|
4862
|
-
readonly bounds: Signal<DOMRect | undefined>;
|
|
4863
|
-
readonly blockedBy: Signal<ɵWorkbenchDialog | null>;
|
|
4864
|
-
result: R | Error | undefined;
|
|
4865
|
-
constructor(id: PopupId, invocationContext: WorkbenchInvocationContext | null, _config: PopupConfig);
|
|
4717
|
+
/**
|
|
4718
|
+
* Represents a point on the page or view, optionally with a dimension, where a workbench popup should be attached.
|
|
4719
|
+
*/
|
|
4720
|
+
type PopupOrigin = (Point | TopLeftPoint | TopRightPoint | BottomLeftPoint | BottomRightPoint) & {
|
|
4721
|
+
width?: number;
|
|
4722
|
+
height?: number;
|
|
4866
4723
|
/**
|
|
4867
|
-
*
|
|
4724
|
+
* Specifies if the coordinate is relative to the context (e.g., part or view) or page viewport. Defaults to `context`.
|
|
4725
|
+
*
|
|
4726
|
+
* If relative to the viewport and bound to a context, the popup is still constrained by the context's bounds.
|
|
4868
4727
|
*/
|
|
4869
|
-
|
|
4728
|
+
relativeTo?: 'context' | 'viewport';
|
|
4729
|
+
};
|
|
4730
|
+
/**
|
|
4731
|
+
* Coordinate relative to the "x/y" corner of the view or page viewport.
|
|
4732
|
+
*/
|
|
4733
|
+
interface Point {
|
|
4734
|
+
x: number;
|
|
4735
|
+
y: number;
|
|
4736
|
+
}
|
|
4737
|
+
/**
|
|
4738
|
+
* Coordinate relative to the "top/left" corner of the view or page viewport.
|
|
4739
|
+
*
|
|
4740
|
+
* This is equivalent to passing a "x/y" coordinate as {@link Point}.
|
|
4741
|
+
*/
|
|
4742
|
+
interface TopLeftPoint {
|
|
4743
|
+
top: number;
|
|
4744
|
+
left: number;
|
|
4745
|
+
}
|
|
4746
|
+
/**
|
|
4747
|
+
* Coordinate relative to the "top/right" corner of the view or page viewport.
|
|
4748
|
+
*/
|
|
4749
|
+
interface TopRightPoint {
|
|
4750
|
+
top: number;
|
|
4751
|
+
right: number;
|
|
4752
|
+
}
|
|
4753
|
+
/**
|
|
4754
|
+
* Coordinate relative to the "bottom/left" corner of the view or page viewport.
|
|
4755
|
+
*/
|
|
4756
|
+
interface BottomLeftPoint {
|
|
4757
|
+
bottom: number;
|
|
4758
|
+
left: number;
|
|
4759
|
+
}
|
|
4760
|
+
/**
|
|
4761
|
+
* Coordinate relative to the "bottom/right" corner of the view or page viewport.
|
|
4762
|
+
*/
|
|
4763
|
+
interface BottomRightPoint {
|
|
4764
|
+
bottom: number;
|
|
4765
|
+
right: number;
|
|
4766
|
+
}
|
|
4767
|
+
|
|
4768
|
+
/**
|
|
4769
|
+
* Controls the appearance and behavior of a popup.
|
|
4770
|
+
*/
|
|
4771
|
+
interface WorkbenchPopupOptions {
|
|
4772
|
+
/**
|
|
4773
|
+
* Controls where to open the popup.
|
|
4774
|
+
*
|
|
4775
|
+
* Can be an HTML element or a coordinate. The coordinate is relative to the {@link context}, defaulting to the calling context.
|
|
4776
|
+
*
|
|
4777
|
+
* Supported coordinate pairs:
|
|
4778
|
+
* - x/y: Relative to the top/left corner of the context.
|
|
4779
|
+
* - top/left: Same as x/y.
|
|
4780
|
+
* - top/right: Relative to the top/right corner of the context.
|
|
4781
|
+
* - bottom/left: Relative to the bottom/left corner of the context.
|
|
4782
|
+
* - bottom/right: Relative to the bottom/right corner of the context.
|
|
4783
|
+
*
|
|
4784
|
+
* Passing an Observable allows for updating the coordinate.
|
|
4785
|
+
*/
|
|
4786
|
+
anchor: ElementRef<Element> | Element | PopupOrigin | Observable<PopupOrigin>;
|
|
4787
|
+
/**
|
|
4788
|
+
* Controls where to align the popup relative to the popup anchor, unless there is not enough space available in that area. Defaults to `north`.
|
|
4789
|
+
*/
|
|
4790
|
+
align?: 'east' | 'west' | 'north' | 'south';
|
|
4791
|
+
/**
|
|
4792
|
+
* Specifies data to pass to the popup component. Inputs are available as input properties in the popup component.
|
|
4793
|
+
*
|
|
4794
|
+
* @example - Reading inputs in the component
|
|
4795
|
+
* ```ts
|
|
4796
|
+
* public someInput = input.required<string>();
|
|
4797
|
+
* ```
|
|
4798
|
+
*/
|
|
4799
|
+
inputs?: {
|
|
4800
|
+
[name: string]: unknown;
|
|
4801
|
+
};
|
|
4802
|
+
/**
|
|
4803
|
+
* Controls when to close the popup.
|
|
4804
|
+
*/
|
|
4805
|
+
closeStrategy?: CloseStrategy$1;
|
|
4806
|
+
/**
|
|
4807
|
+
* Specifies the preferred popup size. Defaults to the content's intrinsic size, constrained by min and max size, if set.
|
|
4808
|
+
*
|
|
4809
|
+
* @deprecated since version 21.0.0-beta.1. Popup size should be set by the popup component. To migrate, inject `WorkbenchPopup` into the popup component and set the size via the `WorkbenchPopup.size` property. Marked for removal in version 22.
|
|
4810
|
+
*/
|
|
4811
|
+
size?: {
|
|
4812
|
+
minHeight?: string;
|
|
4813
|
+
height?: string;
|
|
4814
|
+
maxHeight?: string;
|
|
4815
|
+
minWidth?: string;
|
|
4816
|
+
width?: string;
|
|
4817
|
+
maxWidth?: string;
|
|
4818
|
+
};
|
|
4819
|
+
/**
|
|
4820
|
+
* Specifies CSS class(es) to add to the popup, e.g., to locate the popup in tests.
|
|
4821
|
+
*/
|
|
4822
|
+
cssClass?: string | string[];
|
|
4823
|
+
/**
|
|
4824
|
+
* Binds the popup to a context (e.g., part or view). Defaults to the calling context.
|
|
4825
|
+
*
|
|
4826
|
+
* The popup is displayed only if the context is visible and closes when the context is disposed.
|
|
4827
|
+
*
|
|
4828
|
+
* Set to `null` to open the popup outside a context.
|
|
4829
|
+
*/
|
|
4830
|
+
context?: ViewId | PartId | DialogId | PopupId | Context$2 | null;
|
|
4831
|
+
/**
|
|
4832
|
+
* Specifies the injector for the instantiation of the popup, giving control over the objects available
|
|
4833
|
+
* for injection in the popup component. Defaults to the application's root injector.
|
|
4834
|
+
*
|
|
4835
|
+
* @example - Creating an injector with a DI token
|
|
4836
|
+
* ```ts
|
|
4837
|
+
* Injector.create({
|
|
4838
|
+
* parent: ...,
|
|
4839
|
+
* providers: [
|
|
4840
|
+
* {provide: <TOKEN>, useValue: <VALUE>}
|
|
4841
|
+
* ],
|
|
4842
|
+
* })
|
|
4843
|
+
* ```
|
|
4844
|
+
*/
|
|
4845
|
+
injector?: Injector;
|
|
4846
|
+
/**
|
|
4847
|
+
* Specifies providers available for injection in the popup component.
|
|
4848
|
+
*
|
|
4849
|
+
* Providers can inject {@link WorkbenchPopup} to interact with the popup.
|
|
4850
|
+
*/
|
|
4851
|
+
providers?: Provider[];
|
|
4852
|
+
}
|
|
4853
|
+
/**
|
|
4854
|
+
* Specifies when to close the popup.
|
|
4855
|
+
*/
|
|
4856
|
+
interface CloseStrategy$1 {
|
|
4857
|
+
/**
|
|
4858
|
+
* Controls if to close the popup on focus loss, returning the result set via {@link WorkbenchPopup#setResult} to the popup opener.
|
|
4859
|
+
* Defaults to `true`.
|
|
4860
|
+
*/
|
|
4861
|
+
onFocusLost?: boolean;
|
|
4862
|
+
/**
|
|
4863
|
+
* Controls if to close the popup when pressing escape. Defaults to `true`.
|
|
4864
|
+
*
|
|
4865
|
+
* No return value will be returned to the popup opener.
|
|
4866
|
+
*/
|
|
4867
|
+
onEscape?: boolean;
|
|
4868
|
+
}
|
|
4869
|
+
/**
|
|
4870
|
+
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
4871
|
+
*/
|
|
4872
|
+
interface Context$2 {
|
|
4873
|
+
/**
|
|
4874
|
+
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
4875
|
+
*/
|
|
4876
|
+
viewId?: ViewId | null;
|
|
4877
|
+
}
|
|
4878
|
+
|
|
4879
|
+
/**
|
|
4880
|
+
* A popup is a visual workbench element for displaying content above other content. The popup is positioned relative
|
|
4881
|
+
* to an anchor based on its preferred alignment. The anchor can be an element or a coordinate.
|
|
4882
|
+
*
|
|
4883
|
+
* The popup component can inject this handle to interact with the popup.
|
|
4884
|
+
*
|
|
4885
|
+
* Popup inputs are available as input properties in the popup component.
|
|
4886
|
+
*
|
|
4887
|
+
* @see WorkbenchPopupService
|
|
4888
|
+
*
|
|
4889
|
+
* @deprecated since version 21.0.0-beta.1. Replaced by `WorkbenchPopup`. Marked for removal in version 22.
|
|
4890
|
+
*/
|
|
4891
|
+
declare abstract class Popup<T = unknown, R = unknown> extends WorkbenchPopup {
|
|
4892
|
+
/**
|
|
4893
|
+
* Input data as passed by the popup opener when opened the popup, or `undefined` if not passed.
|
|
4894
|
+
*
|
|
4895
|
+
* @deprecated since version 21.0.0-beta.1. Use `WorkbenchPopupService` to open popups. Inputs are available as input properties in the popup component. Marked for removal in version 22.
|
|
4896
|
+
*/
|
|
4897
|
+
abstract readonly input: T | undefined;
|
|
4898
|
+
/**
|
|
4899
|
+
* CSS classes associated with the popup.
|
|
4900
|
+
*
|
|
4901
|
+
* @deprecated since version 21.0.0-beta.1. Use `WorkbenchPopup.cssClass` instead. Marked for removal in version 22.
|
|
4902
|
+
*/
|
|
4903
|
+
abstract readonly cssClasses: string[];
|
|
4904
|
+
}
|
|
4905
|
+
|
|
4906
|
+
/** @inheritDoc */
|
|
4907
|
+
declare class ɵWorkbenchPopup implements Popup, WorkbenchPopup, Blockable {
|
|
4908
|
+
id: PopupId;
|
|
4909
|
+
component: ComponentType<unknown>;
|
|
4910
|
+
invocationContext: WorkbenchInvocationContext | null;
|
|
4911
|
+
private _options;
|
|
4912
|
+
/** Injector for the popup; destroyed when the popup is closed. */
|
|
4913
|
+
readonly injector: DestroyableInjector;
|
|
4914
|
+
private readonly _overlayRef;
|
|
4915
|
+
private readonly _focusMonitor;
|
|
4916
|
+
private readonly _portal;
|
|
4917
|
+
private readonly _componentRef;
|
|
4918
|
+
private readonly _popupOrigin;
|
|
4919
|
+
private readonly _cssClass;
|
|
4920
|
+
readonly size: WorkbenchPopupSize;
|
|
4921
|
+
readonly focused: Signal<boolean>;
|
|
4922
|
+
readonly attached: Signal<boolean>;
|
|
4923
|
+
readonly destroyed: WritableSignal<boolean>;
|
|
4924
|
+
readonly bounds: Signal<DOMRect | undefined>;
|
|
4925
|
+
readonly blockedBy: Signal<ɵWorkbenchDialog | null>;
|
|
4926
|
+
readonly input: unknown | undefined;
|
|
4927
|
+
result: unknown | Error | undefined;
|
|
4928
|
+
constructor(id: PopupId, component: ComponentType<unknown>, invocationContext: WorkbenchInvocationContext | null, _options: WorkbenchPopupOptions);
|
|
4929
|
+
/**
|
|
4930
|
+
* Waits for the popup to close, resolving to its result or rejecting if closed with an error.
|
|
4931
|
+
*/
|
|
4932
|
+
waitForClose<R>(): Promise<R | undefined>;
|
|
4870
4933
|
/**
|
|
4871
|
-
* Creates a portal to render {@link
|
|
4934
|
+
* Creates a portal to render {@link WorkbenchPopupComponent} in the popup's injection context.
|
|
4872
4935
|
*/
|
|
4873
4936
|
private createPortal;
|
|
4874
4937
|
/**
|
|
4875
4938
|
* Creates a dedicated overlay per popup to place it on top of previously created overlays, such as dialogs, popups, dropdowns, etc.
|
|
4876
4939
|
*/
|
|
4877
4940
|
private createOverlay;
|
|
4878
|
-
private focus;
|
|
4879
4941
|
/**
|
|
4880
4942
|
* Moves the popup with the anchor.
|
|
4881
4943
|
*/
|
|
@@ -4909,15 +4971,21 @@ declare class ɵWorkbenchPopup<T = unknown, R = unknown> implements WorkbenchPop
|
|
|
4909
4971
|
*/
|
|
4910
4972
|
private trackPopupOrigin;
|
|
4911
4973
|
/** @inheritDoc */
|
|
4912
|
-
setResult(result?: R): void;
|
|
4974
|
+
setResult<R>(result?: R): void;
|
|
4913
4975
|
/** @inheritDoc */
|
|
4914
|
-
close(result?: R | Error): void;
|
|
4976
|
+
close<R>(result?: R | Error): void;
|
|
4915
4977
|
/** @inheritDoc */
|
|
4916
|
-
get
|
|
4978
|
+
get cssClass(): Signal<string[]>;
|
|
4917
4979
|
/** @inheritDoc */
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
get
|
|
4980
|
+
set cssClass(cssClass: string | string[]);
|
|
4981
|
+
set cssClasses(cssClasses: string[]);
|
|
4982
|
+
get cssClasses(): string[];
|
|
4983
|
+
/**
|
|
4984
|
+
* Inputs passed to the popup.
|
|
4985
|
+
*/
|
|
4986
|
+
get inputs(): {
|
|
4987
|
+
[name: string]: unknown;
|
|
4988
|
+
} | undefined;
|
|
4921
4989
|
/**
|
|
4922
4990
|
* Destroys this popup and associated resources.
|
|
4923
4991
|
*/
|
|
@@ -4934,15 +5002,14 @@ declare class ɵWorkbenchService implements WorkbenchService {
|
|
|
4934
5002
|
private readonly _partActionRegistry;
|
|
4935
5003
|
private readonly _viewMenuItemRegistry;
|
|
4936
5004
|
private readonly _perspectiveService;
|
|
4937
|
-
readonly layout: Signal<ɵWorkbenchLayout>;
|
|
4938
|
-
readonly perspectives: Signal<ɵWorkbenchPerspective[]>;
|
|
4939
|
-
readonly parts: Signal<ɵWorkbenchPart[]>;
|
|
4940
|
-
readonly views: Signal<ɵWorkbenchView[]>;
|
|
4941
|
-
readonly dialogs: Signal<ɵWorkbenchDialog
|
|
4942
|
-
readonly popups: Signal<ɵWorkbenchPopup
|
|
4943
|
-
readonly activePerspective: Signal<ɵWorkbenchPerspective | undefined>;
|
|
4944
|
-
readonly activeElement: Signal<_scion_workbench.WorkbenchElement | null>;
|
|
4945
|
-
readonly theme: Signal<WorkbenchTheme | null>;
|
|
5005
|
+
readonly layout: i0.Signal<ɵWorkbenchLayout>;
|
|
5006
|
+
readonly perspectives: i0.Signal<ɵWorkbenchPerspective[]>;
|
|
5007
|
+
readonly parts: i0.Signal<ɵWorkbenchPart[]>;
|
|
5008
|
+
readonly views: i0.Signal<ɵWorkbenchView[]>;
|
|
5009
|
+
readonly dialogs: i0.Signal<ɵWorkbenchDialog[]>;
|
|
5010
|
+
readonly popups: i0.Signal<ɵWorkbenchPopup[]>;
|
|
5011
|
+
readonly activePerspective: i0.Signal<ɵWorkbenchPerspective | undefined>;
|
|
5012
|
+
readonly activeElement: i0.Signal<_scion_workbench.WorkbenchElement | null>;
|
|
4946
5013
|
readonly settings: {
|
|
4947
5014
|
theme: i0.WritableSignal<string | null>;
|
|
4948
5015
|
panelAlignment: i0.WritableSignal<"justify">;
|
|
@@ -4970,9 +5037,6 @@ declare class ɵWorkbenchService implements WorkbenchService {
|
|
|
4970
5037
|
registerPartAction(fn: WorkbenchPartActionFn): Disposable;
|
|
4971
5038
|
/** @inheritDoc */
|
|
4972
5039
|
registerViewMenuItem(fn: WorkbenchViewMenuItemFn): Disposable;
|
|
4973
|
-
/** @inheritDoc */
|
|
4974
|
-
switchTheme(theme: string): Promise<void>;
|
|
4975
|
-
private computeLegacyThemeObject;
|
|
4976
5040
|
static ɵfac: i0.ɵɵFactoryDeclaration<ɵWorkbenchService, never>;
|
|
4977
5041
|
static ɵprov: i0.ɵɵInjectableDeclaration<ɵWorkbenchService>;
|
|
4978
5042
|
}
|
|
@@ -4981,15 +5045,15 @@ declare class ɵWorkbenchService implements WorkbenchService {
|
|
|
4981
5045
|
* Main entry point component of the SCION Workbench.
|
|
4982
5046
|
*/
|
|
4983
5047
|
declare class WorkbenchComponent {
|
|
4984
|
-
private _workbenchLauncher;
|
|
4985
|
-
private _logger;
|
|
5048
|
+
private readonly _workbenchLauncher;
|
|
5049
|
+
private readonly _logger;
|
|
4986
5050
|
private readonly _workbenchRouter;
|
|
4987
|
-
private _iframeOverlayHost;
|
|
4988
|
-
private _viewDropZoneOverlayHost;
|
|
5051
|
+
private readonly _iframeOverlayHost;
|
|
5052
|
+
private readonly _viewDropZoneOverlayHost;
|
|
4989
5053
|
/** Splash to display during workbench startup. */
|
|
4990
|
-
protected splash: _angular_cdk_portal.ComponentType<unknown>;
|
|
4991
|
-
protected workbenchStartup: WorkbenchStartup;
|
|
4992
|
-
protected workbenchService: ɵWorkbenchService;
|
|
5054
|
+
protected readonly splash: _angular_cdk_portal.ComponentType<unknown>;
|
|
5055
|
+
protected readonly workbenchStartup: WorkbenchStartup;
|
|
5056
|
+
protected readonly workbenchService: ɵWorkbenchService;
|
|
4993
5057
|
constructor();
|
|
4994
5058
|
/**
|
|
4995
5059
|
* Toggles layout maximization by pressing Ctrl+Shift+F12.
|
|
@@ -5204,6 +5268,16 @@ declare class WorkbenchPartActionDirective {
|
|
|
5204
5268
|
static ɵdir: i0.ɵɵDirectiveDeclaration<WorkbenchPartActionDirective, "ng-template[wbPartAction]", never, { "align": { "alias": "align"; "required": false; "isSignal": true; }; "canMatch": { "alias": "canMatch"; "required": false; "isSignal": true; }; "cssClass": { "alias": "cssClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5205
5269
|
}
|
|
5206
5270
|
|
|
5271
|
+
/**
|
|
5272
|
+
* DI token to register providers available for DI if in the context of a workbench part.
|
|
5273
|
+
*/
|
|
5274
|
+
declare const WORKBENCH_PART_CONTEXT: InjectionToken<Provider[]>;
|
|
5275
|
+
|
|
5276
|
+
/**
|
|
5277
|
+
* DI token to register providers available for DI if in the context of a workbench view.
|
|
5278
|
+
*/
|
|
5279
|
+
declare const WORKBENCH_VIEW_CONTEXT: InjectionToken<Provider[]>;
|
|
5280
|
+
|
|
5207
5281
|
/**
|
|
5208
5282
|
* Enables navigation of workbench views and modification of the workbench layout.
|
|
5209
5283
|
*
|
|
@@ -5334,16 +5408,6 @@ declare const WorkbenchRouteData: {
|
|
|
5334
5408
|
* Property to associate CSS class(es) with a workbench element in {@link Route.data}, e.g., to locate it in tests.
|
|
5335
5409
|
*/
|
|
5336
5410
|
readonly cssClass: "ɵworkbenchCssClass";
|
|
5337
|
-
/**
|
|
5338
|
-
* @internal
|
|
5339
|
-
*
|
|
5340
|
-
* Property to obtain the outlet name of the route. This property is only set on the top-level route.
|
|
5341
|
-
*
|
|
5342
|
-
* Use if the route's injection context is not available, e.g., in a {@link UrlMatcher}.
|
|
5343
|
-
* Otherwise, the outlet can be injected using the {@link WORKBENCH_AUXILIARY_ROUTE_OUTLET} DI token,
|
|
5344
|
-
* even in child routes, e.g., in guards.
|
|
5345
|
-
*/
|
|
5346
|
-
readonly ɵoutlet: "ɵworkbenchOutlet";
|
|
5347
5411
|
};
|
|
5348
5412
|
|
|
5349
5413
|
/**
|
|
@@ -5354,12 +5418,16 @@ declare const WorkbenchRouteData: {
|
|
|
5354
5418
|
*
|
|
5355
5419
|
* Example for navigating a view to the 'SearchComponent':
|
|
5356
5420
|
* ```ts
|
|
5357
|
-
*
|
|
5421
|
+
* import {WorkbenchRouter} from '@scion/workbench';
|
|
5422
|
+
*
|
|
5358
5423
|
* inject(WorkbenchRouter).navigate([], {hint: 'search'});
|
|
5359
5424
|
* ```
|
|
5360
5425
|
*
|
|
5361
|
-
*
|
|
5426
|
+
* Routes:
|
|
5362
5427
|
* ```ts
|
|
5428
|
+
* import {Routes} from '@angular/router';
|
|
5429
|
+
* import {canMatchWorkbenchView} from '@scion/workbench';
|
|
5430
|
+
*
|
|
5363
5431
|
* const routes: Routes = [
|
|
5364
5432
|
* {path: '', canMatch: [canMatchWorkbenchView('search')], component: SearchComponent},
|
|
5365
5433
|
* {path: '', canMatch: [canMatchWorkbenchView('outline')], component: OutlineComponent},
|
|
@@ -5381,13 +5449,18 @@ declare function canMatchWorkbenchView(canMatch: boolean): CanMatchFn;
|
|
|
5381
5449
|
*
|
|
5382
5450
|
* Example for navigating a part to the 'SearchComponent':
|
|
5383
5451
|
* ```ts
|
|
5452
|
+
* import {WorkbenchRouter} from '@scion/workbench';
|
|
5453
|
+
*
|
|
5384
5454
|
* inject(WorkbenchRouter).navigate(layout => {
|
|
5385
5455
|
* return layout.navigatePart('search', [], {hint: 'search'});
|
|
5386
5456
|
* });
|
|
5387
5457
|
* ```
|
|
5388
5458
|
*
|
|
5389
|
-
*
|
|
5459
|
+
* Routes:
|
|
5390
5460
|
* ```ts
|
|
5461
|
+
* import {Routes} from '@angular/router';
|
|
5462
|
+
* import {canMatchWorkbenchPart} from '@scion/workbench';
|
|
5463
|
+
*
|
|
5391
5464
|
* const routes: Routes = [
|
|
5392
5465
|
* {path: '', canMatch: [canMatchWorkbenchPart('search')], component: SearchComponent},
|
|
5393
5466
|
* {path: '', canMatch: [canMatchWorkbenchPart('outline')], component: OutlineComponent},
|
|
@@ -5500,23 +5573,24 @@ interface WorkbenchMessageBoxOptions {
|
|
|
5500
5573
|
*/
|
|
5501
5574
|
modality?: 'none' | 'context' | 'application' | ViewModality;
|
|
5502
5575
|
/**
|
|
5503
|
-
* Binds the message box to a context (e.g.,
|
|
5576
|
+
* Binds the message box to a context (e.g., part or view). Defaults to the calling context.
|
|
5504
5577
|
*
|
|
5505
5578
|
* The message box is displayed only if the context is visible and closes when the context is disposed.
|
|
5506
5579
|
* The message box is opened in the center of its context, if any, unless opened from the peripheral area.
|
|
5507
5580
|
*
|
|
5508
5581
|
* Set to `null` to open the message box outside a context.
|
|
5509
5582
|
*/
|
|
5510
|
-
context?: ViewId | PartId | DialogId | PopupId | Context | null;
|
|
5583
|
+
context?: ViewId | PartId | DialogId | PopupId | Context$1 | null;
|
|
5511
5584
|
/**
|
|
5512
5585
|
* Specifies if the user can select text displayed in the message box. Defaults to `false`.
|
|
5513
5586
|
*/
|
|
5514
5587
|
contentSelectable?: boolean;
|
|
5515
5588
|
/**
|
|
5516
|
-
* Specifies data available as input properties in the message component.
|
|
5589
|
+
* Specifies data to pass to the message component. Inputs are available as input properties in the message component.
|
|
5517
5590
|
*
|
|
5518
|
-
*
|
|
5591
|
+
* Has no effect if opening a plain text message.
|
|
5519
5592
|
*
|
|
5593
|
+
* @example - Reading inputs in the component
|
|
5520
5594
|
* ```ts
|
|
5521
5595
|
* public someInput = input.required<string>();
|
|
5522
5596
|
* ```
|
|
@@ -5525,12 +5599,10 @@ interface WorkbenchMessageBoxOptions {
|
|
|
5525
5599
|
[name: string]: unknown;
|
|
5526
5600
|
};
|
|
5527
5601
|
/**
|
|
5528
|
-
* Specifies the injector for the instantiation of the message
|
|
5529
|
-
*
|
|
5530
|
-
* This property only applies to a message box opened with a component, not a plain text message.
|
|
5602
|
+
* Specifies the injector for the instantiation of the message box, giving control over the objects available
|
|
5603
|
+
* for injection in the message component. Defaults to the application's root injector.
|
|
5531
5604
|
*
|
|
5532
|
-
*
|
|
5533
|
-
* application's root injector, or the view's injector if opened in the context of a view.
|
|
5605
|
+
* @example - Creating an injector with a DI token
|
|
5534
5606
|
*
|
|
5535
5607
|
* ```ts
|
|
5536
5608
|
* Injector.create({
|
|
@@ -5542,6 +5614,12 @@ interface WorkbenchMessageBoxOptions {
|
|
|
5542
5614
|
* ```
|
|
5543
5615
|
*/
|
|
5544
5616
|
injector?: Injector;
|
|
5617
|
+
/**
|
|
5618
|
+
* Specifies providers available for injection in the message component.
|
|
5619
|
+
*
|
|
5620
|
+
* Providers can inject {@link WorkbenchMessageBox} to interact with the message.
|
|
5621
|
+
*/
|
|
5622
|
+
providers?: Provider[];
|
|
5545
5623
|
/**
|
|
5546
5624
|
* Specifies CSS class(es) to add to the message box, e.g., to locate the message box in tests.
|
|
5547
5625
|
*/
|
|
@@ -5554,7 +5632,7 @@ type ViewModality = 'view';
|
|
|
5554
5632
|
/**
|
|
5555
5633
|
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
5556
5634
|
*/
|
|
5557
|
-
interface Context {
|
|
5635
|
+
interface Context$1 {
|
|
5558
5636
|
/**
|
|
5559
5637
|
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
5560
5638
|
*/
|
|
@@ -5573,7 +5651,7 @@ interface Context {
|
|
|
5573
5651
|
* application-modal blocks the workbench or browser viewport, based on {@link WorkbenchConfig.dialog.modalityScope}.
|
|
5574
5652
|
*
|
|
5575
5653
|
* ## Context
|
|
5576
|
-
* A message box can be bound to a context (e.g.,
|
|
5654
|
+
* A message box can be bound to a context (e.g., part or view), defaulting to the calling context.
|
|
5577
5655
|
* The message box is displayed only if the context is visible and closes when the context is disposed.
|
|
5578
5656
|
*
|
|
5579
5657
|
* ## Positioning
|
|
@@ -5622,8 +5700,9 @@ declare abstract class WorkbenchMessageBoxService {
|
|
|
5622
5700
|
*
|
|
5623
5701
|
* By default, the message box is modal to the calling context. Specify a different modality in {@link WorkbenchMessageBoxOptions.modality}.
|
|
5624
5702
|
*
|
|
5625
|
-
* Data can be passed to the component as inputs via {@link WorkbenchMessageBoxOptions.inputs}
|
|
5626
|
-
*
|
|
5703
|
+
* Data can be passed to the component as inputs via {@link WorkbenchMessageBoxOptions.inputs} option. Inputs are available as input
|
|
5704
|
+
* properties in the component. Alternatively, data can be passed for injection via a custom injector ({@link WorkbenchMessageBoxOptions.injector})
|
|
5705
|
+
* or providers ({@link WorkbenchMessageBoxOptions.providers}).
|
|
5627
5706
|
*
|
|
5628
5707
|
* @example
|
|
5629
5708
|
* ```ts
|
|
@@ -5674,7 +5753,7 @@ declare abstract class WorkbenchMessageBoxService {
|
|
|
5674
5753
|
* application-modal blocks the workbench or browser viewport, based on {@link WorkbenchConfig.dialog.modalityScope}.
|
|
5675
5754
|
*
|
|
5676
5755
|
* ## Context
|
|
5677
|
-
* A dialog can be bound to a context (e.g.,
|
|
5756
|
+
* A dialog can be bound to a context (e.g., part or view), defaulting to the calling context.
|
|
5678
5757
|
* The dialog is displayed only if the context is visible and closes when the context is disposed.
|
|
5679
5758
|
*
|
|
5680
5759
|
* ## Positioning
|
|
@@ -5747,8 +5826,9 @@ declare abstract class WorkbenchDialogService {
|
|
|
5747
5826
|
*
|
|
5748
5827
|
* By default, the dialog is modal to the calling context. Specify a different modality in {@link WorkbenchDialogOptions.modality}.
|
|
5749
5828
|
*
|
|
5750
|
-
* Data can be passed to the component as inputs via {@link WorkbenchDialogOptions.inputs}
|
|
5751
|
-
*
|
|
5829
|
+
* Data can be passed to the component as inputs via {@link WorkbenchDialogOptions.inputs} option. Inputs are available as input
|
|
5830
|
+
* properties in the component. Alternatively, data can be passed for injection via a custom injector ({@link WorkbenchDialogOptions.injector})
|
|
5831
|
+
* or providers ({@link WorkbenchDialogOptions.providers}).
|
|
5752
5832
|
*
|
|
5753
5833
|
* @param component - Specifies the component to display in the dialog.
|
|
5754
5834
|
* @param options - Controls the appearance and behavior of the dialog.
|
|
@@ -5759,28 +5839,31 @@ declare abstract class WorkbenchDialogService {
|
|
|
5759
5839
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchDialogService>;
|
|
5760
5840
|
}
|
|
5761
5841
|
|
|
5842
|
+
/**
|
|
5843
|
+
* DI token to register providers available for DI if in the context of a workbench dialog.
|
|
5844
|
+
*/
|
|
5845
|
+
declare const WORKBENCH_DIALOG_CONTEXT: InjectionToken<Provider[]>;
|
|
5846
|
+
|
|
5762
5847
|
/**
|
|
5763
5848
|
* Represents a handle that a notification component can inject to interact with the notification, for example,
|
|
5764
5849
|
* to read input data or to configure the notification.
|
|
5765
5850
|
*
|
|
5766
5851
|
* A notification is a closable message that appears in the upper-right corner and disappears automatically after a few seconds.
|
|
5767
5852
|
* It informs the user of a system event, e.g., that a task has been completed or an error has occurred.
|
|
5853
|
+
*
|
|
5854
|
+
* @deprecated since version 21.0.0-beta.1. Replaced by `WorkbenchNotification`. Marked for removal in version 22.
|
|
5768
5855
|
*/
|
|
5769
5856
|
declare abstract class Notification<T = any> {
|
|
5770
5857
|
/**
|
|
5771
5858
|
* Input data as passed by the notification opener, or `undefined` if not passed.
|
|
5772
5859
|
*/
|
|
5773
5860
|
readonly input: T | undefined;
|
|
5774
|
-
/**
|
|
5775
|
-
* Sets the title of the notification.
|
|
5776
|
-
*/
|
|
5777
|
-
abstract setTitle(title: Translatable | undefined): void;
|
|
5778
5861
|
/**
|
|
5779
5862
|
* Sets the title of the notification.
|
|
5780
5863
|
*
|
|
5781
|
-
*
|
|
5864
|
+
* Can be text or a translation key. A translation key starts with the percent symbol (`%`) and may include parameters in matrix notation for text interpolation.
|
|
5782
5865
|
*/
|
|
5783
|
-
abstract setTitle(title:
|
|
5866
|
+
abstract setTitle(title: Translatable | undefined): void;
|
|
5784
5867
|
/**
|
|
5785
5868
|
* Sets the severity of the notification.
|
|
5786
5869
|
*/
|
|
@@ -5801,23 +5884,17 @@ declare abstract class Notification<T = any> {
|
|
|
5801
5884
|
}
|
|
5802
5885
|
|
|
5803
5886
|
/**
|
|
5804
|
-
*
|
|
5887
|
+
* Controls the appearance and behavior of a notification.
|
|
5805
5888
|
*
|
|
5806
|
-
*
|
|
5807
|
-
* It informs the user of a system event, e.g., that a task has been completed or an error has occurred.
|
|
5808
|
-
*
|
|
5809
|
-
* Multiple notifications are stacked vertically. Notifications can be grouped. For each group, only the last notification is
|
|
5810
|
-
* displayed at any given time.
|
|
5889
|
+
* @deprecated since version 21.0.0-beta.1. Replaced by `WorkbenchNotificationOptions`. Use `WorkbenchNotificationService` to show notifications. Marked for removal in version 22.
|
|
5811
5890
|
*/
|
|
5812
5891
|
interface NotificationConfig {
|
|
5813
5892
|
/**
|
|
5814
5893
|
* Optional title of the notification.
|
|
5815
5894
|
*
|
|
5816
5895
|
* Can be text or a translation key. A translation key starts with the percent symbol (`%`) and may include parameters in matrix notation for text interpolation.
|
|
5817
|
-
*
|
|
5818
|
-
* TODO [Angular 21] Passing an Observable is deprecated. To migrate, pass a translatable and provide the text using a text provider registered in `WorkbenchClient.registerTextProvider`. API will be removed in version 21.
|
|
5819
5896
|
*/
|
|
5820
|
-
title?: Translatable
|
|
5897
|
+
title?: Translatable;
|
|
5821
5898
|
/**
|
|
5822
5899
|
* Content of the notification, can be either a plain text message or a component.
|
|
5823
5900
|
*
|
|
@@ -5852,7 +5929,7 @@ interface NotificationConfig {
|
|
|
5852
5929
|
viewContainerRef?: ViewContainerRef;
|
|
5853
5930
|
};
|
|
5854
5931
|
/**
|
|
5855
|
-
*
|
|
5932
|
+
* Specifies data to pass to the notification component. In the component, you can inject the notification handle {@link Notification} to
|
|
5856
5933
|
* read input data. Use only in combination with a custom notification component, has no effect otherwise.
|
|
5857
5934
|
*/
|
|
5858
5935
|
componentInput?: unknown;
|
|
@@ -5888,260 +5965,393 @@ interface NotificationConfig {
|
|
|
5888
5965
|
}
|
|
5889
5966
|
|
|
5890
5967
|
/**
|
|
5891
|
-
*
|
|
5968
|
+
* Shows a notification.
|
|
5892
5969
|
*
|
|
5893
|
-
* A notification is a closable message
|
|
5894
|
-
* It informs
|
|
5970
|
+
* A notification is a closable message displayed in the upper-right corner that disappears after a few seconds unless hovered.
|
|
5971
|
+
* It informs about system events, task completion or errors. The severity indicates importance or urgency.
|
|
5972
|
+
*
|
|
5973
|
+
* Notifications can be grouped. Only the most recent notification within a group is displayed.
|
|
5895
5974
|
*
|
|
5896
|
-
*
|
|
5897
|
-
* displayed.
|
|
5975
|
+
* Content can be plain text or structured. Pressing Escape closes the notification.
|
|
5898
5976
|
*
|
|
5899
|
-
*
|
|
5977
|
+
* @deprecated since version 21.0.0-beta.1. Use `WorkbenchNotificationService` to show notifications. Marked for removal in version 22.
|
|
5900
5978
|
*/
|
|
5901
5979
|
declare class NotificationService {
|
|
5902
|
-
private readonly
|
|
5903
|
-
private readonly _injector;
|
|
5904
|
-
private readonly _document;
|
|
5905
|
-
private readonly _notifications$;
|
|
5906
|
-
constructor();
|
|
5980
|
+
private readonly _notificationService;
|
|
5907
5981
|
/**
|
|
5908
|
-
*
|
|
5982
|
+
* Displays the specified text or component as workbench notification.
|
|
5909
5983
|
*
|
|
5910
|
-
*
|
|
5984
|
+
* @param notification - Configures content and appearance of the notification.
|
|
5911
5985
|
*
|
|
5912
|
-
*
|
|
5913
|
-
* ```typescript
|
|
5914
|
-
* notificationService.notify({
|
|
5915
|
-
* content: 'Task scheduled for execution.',
|
|
5916
|
-
* severity: 'info',
|
|
5917
|
-
* duration: 'short',
|
|
5918
|
-
* });
|
|
5919
|
-
* ```
|
|
5920
|
-
*
|
|
5921
|
-
* @param notification - Configures the content and appearance of the notification.
|
|
5986
|
+
* @deprecated since version 21.0.0-beta.1. Use `WorkbenchNotificationService` to show notifications. Marked for removal in version 22.
|
|
5922
5987
|
*/
|
|
5923
5988
|
notify(notification: Translatable | NotificationConfig): void;
|
|
5924
|
-
private addNotification;
|
|
5925
|
-
/**
|
|
5926
|
-
* Constructs the notification based on the given config and computes its insertion index.
|
|
5927
|
-
*/
|
|
5928
|
-
private constructNotification;
|
|
5929
|
-
private get notifications();
|
|
5930
|
-
/**
|
|
5931
|
-
* Installs a keystroke listener to close the last notification when the user presses the escape keystroke.
|
|
5932
|
-
*/
|
|
5933
|
-
private installEscapeHandler;
|
|
5934
5989
|
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
5935
5990
|
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
5936
5991
|
}
|
|
5937
5992
|
|
|
5938
5993
|
/**
|
|
5939
|
-
*
|
|
5994
|
+
* A notification is a closable message displayed in the upper-right corner that disappears after a few seconds unless hovered.
|
|
5995
|
+
* It informs about system events, task completion or errors. The severity indicates importance or urgency.
|
|
5940
5996
|
*
|
|
5941
|
-
*
|
|
5942
|
-
* which can be an element or a coordinate. The popup moves with the anchor. By default, the popup closes on focus loss or
|
|
5943
|
-
* when pressing the escape key.
|
|
5997
|
+
* The notification component can inject this handle to interact with the notification.
|
|
5944
5998
|
*
|
|
5945
|
-
*
|
|
5946
|
-
*
|
|
5999
|
+
* Notification inputs are available as input properties in the notification component.
|
|
6000
|
+
*
|
|
6001
|
+
* @see WorkbenchNotificationService
|
|
5947
6002
|
*/
|
|
5948
|
-
declare abstract class
|
|
6003
|
+
declare abstract class WorkbenchNotification {
|
|
5949
6004
|
/**
|
|
5950
|
-
*
|
|
5951
|
-
*
|
|
5952
|
-
* An anchor is used to position the popup based on its preferred alignment. The anchor can be an element or a coordinate.
|
|
5953
|
-
*
|
|
5954
|
-
* Data can be passed to the component via {@link PopupConfig.input} property. The component can inject the popup handle {@link WorkbenchPopup} to
|
|
5955
|
-
* read input data or to close the popup.
|
|
6005
|
+
* Sets the title of the notification.
|
|
5956
6006
|
*
|
|
5957
|
-
*
|
|
6007
|
+
* Can be text or a translation key. A translation key starts with the percent symbol (`%`) and may include parameters in matrix notation for text interpolation.
|
|
6008
|
+
*/
|
|
6009
|
+
abstract get title(): Signal<Translatable | undefined>;
|
|
6010
|
+
abstract set title(title: Translatable | undefined);
|
|
6011
|
+
/**
|
|
6012
|
+
* Sets the severity of the notification to indicate importance or urgency.
|
|
6013
|
+
*/
|
|
6014
|
+
abstract get severity(): Signal<'info' | 'warn' | 'error'>;
|
|
6015
|
+
abstract set severity(severity: 'info' | 'warn' | 'error');
|
|
6016
|
+
/**
|
|
6017
|
+
* Controls how long to display the notification.
|
|
5958
6018
|
*
|
|
5959
|
-
*
|
|
5960
|
-
* @returns Promise that resolves to the popup result, if any, or that rejects if the popup couldn't be opened or was closed with an error.
|
|
6019
|
+
* Can be a duration alias, or milliseconds.
|
|
5961
6020
|
*/
|
|
5962
|
-
abstract
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
6021
|
+
abstract get duration(): Signal<'short' | 'medium' | 'long' | 'infinite' | number>;
|
|
6022
|
+
abstract set duration(duration: 'short' | 'medium' | 'long' | 'infinite' | number);
|
|
6023
|
+
/**
|
|
6024
|
+
* Specifies CSS class(es) to add to the notification, e.g., to locate the notification in tests.
|
|
6025
|
+
*/
|
|
6026
|
+
abstract get cssClass(): Signal<string[]>;
|
|
6027
|
+
abstract set cssClass(cssClass: string | string[]);
|
|
6028
|
+
/**
|
|
6029
|
+
* Closes the notification.
|
|
6030
|
+
*/
|
|
6031
|
+
abstract close(): void;
|
|
6032
|
+
}
|
|
6033
|
+
|
|
5967
6034
|
/**
|
|
5968
|
-
*
|
|
6035
|
+
* Controls the appearance and behavior of a notification.
|
|
5969
6036
|
*/
|
|
5970
|
-
|
|
6037
|
+
interface WorkbenchNotificationOptions {
|
|
5971
6038
|
/**
|
|
5972
|
-
*
|
|
6039
|
+
* Specifies the title of the notification.
|
|
6040
|
+
*
|
|
6041
|
+
* Can be text or a translation key. A translation key starts with the percent symbol (`%`) and may include parameters in matrix notation for text interpolation.
|
|
5973
6042
|
*/
|
|
5974
|
-
|
|
5975
|
-
|
|
6043
|
+
title?: Translatable;
|
|
6044
|
+
/**
|
|
6045
|
+
* Specifies the severity of the notification. Defaults to `info`.
|
|
6046
|
+
*/
|
|
6047
|
+
severity?: 'info' | 'warn' | 'error';
|
|
6048
|
+
/**
|
|
6049
|
+
* Controls how long to display the notification.
|
|
6050
|
+
*
|
|
6051
|
+
* Can be a duration alias, or milliseconds.
|
|
6052
|
+
*/
|
|
6053
|
+
duration?: 'short' | 'medium' | 'long' | 'infinite' | number;
|
|
6054
|
+
/**
|
|
6055
|
+
* Specifies the group to which the notification belongs. Only the most recent notification within a group is displayed.
|
|
6056
|
+
*/
|
|
6057
|
+
group?: string;
|
|
6058
|
+
/**
|
|
6059
|
+
* Enables aggregation of input values of notifications of the same group.
|
|
6060
|
+
*
|
|
6061
|
+
* Use with {@link group} to combine inputs of notifications of the same group.
|
|
6062
|
+
*
|
|
6063
|
+
* The reducer is invoked with inputs of the previous notification, if still displaying, and inputs of the new notification.
|
|
6064
|
+
* The returned input is passed to the new notification.
|
|
6065
|
+
*/
|
|
6066
|
+
groupInputReduceFn?: (prevInput: {
|
|
6067
|
+
[name: string]: unknown;
|
|
6068
|
+
}, currInput: {
|
|
6069
|
+
[name: string]: unknown;
|
|
6070
|
+
}) => {
|
|
6071
|
+
[name: string]: unknown;
|
|
6072
|
+
};
|
|
6073
|
+
/**
|
|
6074
|
+
* Specifies data to pass to the notification component. Inputs are available as input properties in the notification component.
|
|
6075
|
+
*
|
|
6076
|
+
* Has no effect if opening a plain text notification.
|
|
6077
|
+
*
|
|
6078
|
+
* @example - Reading inputs in the component
|
|
6079
|
+
* ```ts
|
|
6080
|
+
* public someInput = input.required<string>();
|
|
6081
|
+
* ```
|
|
6082
|
+
*/
|
|
6083
|
+
inputs?: {
|
|
6084
|
+
[name: string]: unknown;
|
|
6085
|
+
};
|
|
6086
|
+
/**
|
|
6087
|
+
* Specifies the injector for the instantiation of the notification, giving control over the objects available
|
|
6088
|
+
* for injection in the notification component. Defaults to the application's root injector.
|
|
6089
|
+
*
|
|
6090
|
+
* @example - Creating an injector with a DI token
|
|
6091
|
+
*
|
|
6092
|
+
* ```ts
|
|
6093
|
+
* Injector.create({
|
|
6094
|
+
* parent: ...,
|
|
6095
|
+
* providers: [
|
|
6096
|
+
* {provide: <TOKEN>, useValue: <VALUE>}
|
|
6097
|
+
* ],
|
|
6098
|
+
* })
|
|
6099
|
+
* ```
|
|
6100
|
+
*/
|
|
6101
|
+
injector?: Injector;
|
|
6102
|
+
/**
|
|
6103
|
+
* Specifies providers available for injection in the notification component.
|
|
6104
|
+
*
|
|
6105
|
+
* Providers can inject {@link WorkbenchNotification} to interact with the notification.
|
|
6106
|
+
*/
|
|
6107
|
+
providers?: Provider[];
|
|
6108
|
+
/**
|
|
6109
|
+
* Specifies CSS class(es) to add to the notification, e.g., to locate the notification in tests.
|
|
6110
|
+
*/
|
|
6111
|
+
cssClass?: string | string[];
|
|
6112
|
+
}
|
|
5976
6113
|
|
|
5977
6114
|
/**
|
|
5978
|
-
*
|
|
6115
|
+
* Shows a notification.
|
|
5979
6116
|
*
|
|
5980
|
-
*
|
|
5981
|
-
*
|
|
5982
|
-
*
|
|
5983
|
-
* Initializers can specify a phase for execution. Initializers in lower phases execute before initializers in higher phases.
|
|
5984
|
-
* Initializers in the same phase may execute in parallel. If no phase is specified, the initializer executes in the `Startup` phase.
|
|
5985
|
-
*
|
|
5986
|
-
* Available phases, in order of execution:
|
|
5987
|
-
* - {@link WorkbenchStartupPhase.PreStartup}
|
|
5988
|
-
* - {@link WorkbenchStartupPhase.Startup}
|
|
5989
|
-
* - {@link WorkbenchStartupPhase.PostStartup}
|
|
6117
|
+
* A notification is a closable message displayed in the upper-right corner that disappears after a few seconds unless hovered.
|
|
6118
|
+
* It informs about system events, task completion or errors. The severity indicates importance or urgency.
|
|
5990
6119
|
*
|
|
5991
|
-
*
|
|
6120
|
+
* Notifications can be grouped. Only the most recent notification within a group is displayed.
|
|
5992
6121
|
*
|
|
5993
|
-
*
|
|
5994
|
-
* @param options - Controls execution of the function.
|
|
5995
|
-
* @return A set of dependency-injection providers to be registered in Angular.
|
|
6122
|
+
* Content can be plain text or structured. Pressing Escape closes the notification.
|
|
5996
6123
|
*/
|
|
5997
|
-
declare
|
|
6124
|
+
declare abstract class WorkbenchNotificationService {
|
|
6125
|
+
/**
|
|
6126
|
+
* Displays the specified message as workbench notification.
|
|
6127
|
+
*
|
|
6128
|
+
* @param message - Specifies the text to display.
|
|
6129
|
+
* Can be text or a translation key. A translation key starts with the percent symbol (`%`) and may include parameters in matrix notation for text interpolation.
|
|
6130
|
+
* @param options - Controls the appearance and behavior of the notification.
|
|
6131
|
+
*/
|
|
6132
|
+
abstract show(message: Translatable, options?: WorkbenchNotificationOptions): void;
|
|
6133
|
+
/**
|
|
6134
|
+
* Displays the specified component as workbench notification.
|
|
6135
|
+
*
|
|
6136
|
+
* Data can be passed to the component as inputs via {@link WorkbenchNotificationOptions.inputs} option. Inputs are available as input
|
|
6137
|
+
* properties in the component. Alternatively, data can be passed for injection via a custom injector ({@link WorkbenchNotificationOptions.injector})
|
|
6138
|
+
* or providers ({@link WorkbenchNotificationOptions.providers}).
|
|
6139
|
+
*
|
|
6140
|
+
* @param component - Specifies the component to render as the notification.
|
|
6141
|
+
* @param options - Controls the appearance and behavior of the notification.
|
|
6142
|
+
*/
|
|
6143
|
+
abstract show(component: ComponentType<unknown>, options?: WorkbenchNotificationOptions): void;
|
|
6144
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchNotificationService, never>;
|
|
6145
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchNotificationService>;
|
|
6146
|
+
}
|
|
6147
|
+
|
|
5998
6148
|
/**
|
|
5999
|
-
*
|
|
6149
|
+
* Enables the display of a component in a popup.
|
|
6150
|
+
*
|
|
6151
|
+
* A popup is a visual workbench element for displaying content above other content. It is positioned relative to an anchor,
|
|
6152
|
+
* which can be an element or a coordinate. The popup moves with the anchor. By default, the popup closes on focus loss or
|
|
6153
|
+
* when pressing the escape key.
|
|
6154
|
+
*
|
|
6155
|
+
* A popup can be bound to a context (e.g., part or view), displaying the popup only if the context is visible and closing
|
|
6156
|
+
* it when the context is disposed. Defaults to the calling context.
|
|
6000
6157
|
*/
|
|
6001
|
-
|
|
6158
|
+
declare abstract class WorkbenchPopupService {
|
|
6002
6159
|
/**
|
|
6003
|
-
*
|
|
6160
|
+
* Opens a popup with the specified component and options.
|
|
6161
|
+
*
|
|
6162
|
+
* An anchor is used to position the popup based on its preferred alignment. The anchor can be an element or a coordinate.
|
|
6163
|
+
*
|
|
6164
|
+
* Data can be passed to the component as inputs via {@link WorkbenchPopupOptions.inputs} option. Inputs are available as input
|
|
6165
|
+
* properties in the component. Alternatively, data can be passed for injection via a custom injector ({@link WorkbenchPopupOptions.injector})
|
|
6166
|
+
* or providers ({@link WorkbenchPopupOptions.providers}).
|
|
6167
|
+
*
|
|
6168
|
+
* By default, the popup closes on focus loss or when pressing the escape key.
|
|
6169
|
+
*
|
|
6170
|
+
* @param component - Specifies the component to display in the popup.
|
|
6171
|
+
* @param options - Controls the appearance and behavior of the popup.
|
|
6172
|
+
* @returns Promise that resolves to the popup result, if any, or that rejects if the popup couldn't be opened or was closed with an error.
|
|
6004
6173
|
*/
|
|
6005
|
-
|
|
6174
|
+
abstract open<R>(component: ComponentType<unknown>, options: WorkbenchPopupOptions): Promise<R | undefined>;
|
|
6175
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchPopupService, never>;
|
|
6176
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchPopupService>;
|
|
6006
6177
|
}
|
|
6178
|
+
|
|
6007
6179
|
/**
|
|
6008
|
-
*
|
|
6180
|
+
* Controls the appearance and behavior of a popup.
|
|
6009
6181
|
*
|
|
6010
|
-
*
|
|
6182
|
+
* @deprecated since version 21.0.0-beta.1. Replaced by `WorkbenchPopupOptions`. Use `WorkbenchPopupService` to open popups. Marked for removal in version 22.
|
|
6011
6183
|
*/
|
|
6012
|
-
declare
|
|
6184
|
+
declare abstract class PopupConfig {
|
|
6013
6185
|
/**
|
|
6014
|
-
*
|
|
6186
|
+
* Controls where to open the popup.
|
|
6187
|
+
*
|
|
6188
|
+
* Can be an HTML element or a coordinate. The coordinate is relative to the {@link context}, defaulting to the calling context.
|
|
6189
|
+
*
|
|
6190
|
+
* Supported coordinate pairs:
|
|
6191
|
+
* - x/y: Relative to the top/left corner of the context.
|
|
6192
|
+
* - top/left: Same as x/y.
|
|
6193
|
+
* - top/right: Relative to the top/right corner of the context.
|
|
6194
|
+
* - bottom/left: Relative to the bottom/left corner of the context.
|
|
6195
|
+
* - bottom/right: Relative to the bottom/right corner of the context.
|
|
6196
|
+
*
|
|
6197
|
+
* Passing an Observable allows for updating the coordinate.
|
|
6015
6198
|
*/
|
|
6016
|
-
|
|
6199
|
+
abstract readonly anchor: ElementRef<Element> | Element | PopupOrigin | Observable<PopupOrigin>;
|
|
6017
6200
|
/**
|
|
6018
|
-
*
|
|
6201
|
+
* Specifies the component to display in the popup.
|
|
6019
6202
|
*
|
|
6020
|
-
*
|
|
6203
|
+
* In the component, you can inject the popup handle {@link WorkbenchPopup} to interact with the popup, such as to close it
|
|
6204
|
+
* or obtain its input data.
|
|
6021
6205
|
*/
|
|
6022
|
-
|
|
6206
|
+
abstract readonly component: Type<any>;
|
|
6023
6207
|
/**
|
|
6024
|
-
*
|
|
6208
|
+
* Instructs Angular how to construct the component. In most cases, construct options need not to be set.
|
|
6025
6209
|
*/
|
|
6026
|
-
|
|
6210
|
+
readonly componentConstructOptions?: {
|
|
6211
|
+
/**
|
|
6212
|
+
* Sets the injector for the instantiation of the popup component, giving you control over the objects available
|
|
6213
|
+
* for injection into the popup component. If not specified, uses the application's root injector, or the view's
|
|
6214
|
+
* injector if opened in the context of a view.
|
|
6215
|
+
*
|
|
6216
|
+
* ```ts
|
|
6217
|
+
* Injector.create({
|
|
6218
|
+
* parent: ...,
|
|
6219
|
+
* providers: [
|
|
6220
|
+
* {provide: <DiToken>, useValue: <value>}
|
|
6221
|
+
* ],
|
|
6222
|
+
* })
|
|
6223
|
+
* ```
|
|
6224
|
+
*/
|
|
6225
|
+
injector?: Injector;
|
|
6226
|
+
/**
|
|
6227
|
+
* Specifies providers to be registered with the popup injector. Unlike providers that are registered via a separate {@link injector},
|
|
6228
|
+
* passed providers are registered in the same injector as the popup handle itself, allowing for dependency injection of the popup handle.
|
|
6229
|
+
*/
|
|
6230
|
+
providers?: StaticProvider[];
|
|
6231
|
+
/**
|
|
6232
|
+
* Sets the component's attachment point in Angular's logical component tree (not the DOM tree used for rendering), effecting when
|
|
6233
|
+
* Angular checks the component for changes during a change detection cycle. If not set, inserts the component at the top level
|
|
6234
|
+
* in the component tree.
|
|
6235
|
+
*
|
|
6236
|
+
* @deprecated since version 21.0.0-beta.1. Marked for removal. No replacement as not required anymore.
|
|
6237
|
+
*/
|
|
6238
|
+
viewContainerRef?: ViewContainerRef;
|
|
6239
|
+
};
|
|
6240
|
+
/**
|
|
6241
|
+
* Controls where to align the popup relative to the popup anchor, unless there is not enough space available in that area. By default,
|
|
6242
|
+
* if not specified, the popup opens north of the anchor.
|
|
6243
|
+
*/
|
|
6244
|
+
readonly align?: 'east' | 'west' | 'north' | 'south';
|
|
6245
|
+
/**
|
|
6246
|
+
* Specifies data to pass to the popup component. In the component, you can inject the popup handle {@link WorkbenchPopup} to read input data.
|
|
6247
|
+
*/
|
|
6248
|
+
readonly input?: any;
|
|
6249
|
+
/**
|
|
6250
|
+
* Controls when to close the popup.
|
|
6251
|
+
*/
|
|
6252
|
+
readonly closeStrategy?: CloseStrategy;
|
|
6253
|
+
/**
|
|
6254
|
+
* Specifies the preferred popup size. If not specified, the popup adjusts its size to the content size.
|
|
6255
|
+
*/
|
|
6256
|
+
readonly size?: {
|
|
6257
|
+
minHeight?: string;
|
|
6258
|
+
height?: string;
|
|
6259
|
+
maxHeight?: string;
|
|
6260
|
+
minWidth?: string;
|
|
6261
|
+
width?: string;
|
|
6262
|
+
maxWidth?: string;
|
|
6263
|
+
};
|
|
6264
|
+
/**
|
|
6265
|
+
* Specifies CSS class(es) to add to the popup, e.g., to locate the popup in tests.
|
|
6266
|
+
*/
|
|
6267
|
+
readonly cssClass?: string | string[];
|
|
6268
|
+
/**
|
|
6269
|
+
* Binds the popup to a context (e.g., part or view). Defaults to the calling context.
|
|
6270
|
+
*
|
|
6271
|
+
* The popup is displayed only if the context is visible and closes when the context is disposed.
|
|
6272
|
+
*
|
|
6273
|
+
* Set to `null` to open the popup outside a context.
|
|
6274
|
+
*/
|
|
6275
|
+
abstract context?: ViewId | PartId | DialogId | PopupId | Context | null;
|
|
6027
6276
|
}
|
|
6028
6277
|
/**
|
|
6029
|
-
*
|
|
6030
|
-
*
|
|
6031
|
-
* Initializers help to run initialization tasks (synchronous or asynchronous) during startup of the SCION Workbench.
|
|
6032
|
-
* The workbench is fully started once all initializers have completed.
|
|
6033
|
-
*
|
|
6034
|
-
* Initializers are registered using the `provideWorkbenchInitializer()` function and can specify a phase for execution.
|
|
6035
|
-
* Initializers in lower phases execute before initializers in higher phases. Initializers in the same phase may
|
|
6036
|
-
* execute in parallel. If no phase is specified, the initializer executes in the `Startup` phase.
|
|
6037
|
-
*
|
|
6038
|
-
* Available phases, in order of execution:
|
|
6039
|
-
* - {@link WorkbenchStartupPhase.PreStartup}
|
|
6040
|
-
* - {@link WorkbenchStartupPhase.Startup}
|
|
6041
|
-
* - {@link WorkbenchStartupPhase.PostStartup}
|
|
6042
|
-
*
|
|
6043
|
-
* The function can call `inject` to get any required dependencies.
|
|
6044
|
-
*
|
|
6045
|
-
* ### Example:
|
|
6046
|
-
*
|
|
6047
|
-
* ```ts
|
|
6048
|
-
* import {provideWorkbench, provideWorkbenchInitializer} from '@scion/workbench';
|
|
6049
|
-
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
6050
|
-
* import {inject} from '@angular/core';
|
|
6051
|
-
*
|
|
6052
|
-
* bootstrapApplication(AppComponent, {
|
|
6053
|
-
* providers: [
|
|
6054
|
-
* provideWorkbench(),
|
|
6055
|
-
* provideWorkbenchInitializer(() => inject(SomeService).init()),
|
|
6056
|
-
* ],
|
|
6057
|
-
* });
|
|
6058
|
-
* ```
|
|
6059
|
-
* @see provideWorkbenchInitializer
|
|
6278
|
+
* Specifies when to close the popup.
|
|
6060
6279
|
*/
|
|
6061
|
-
|
|
6280
|
+
interface CloseStrategy {
|
|
6281
|
+
/**
|
|
6282
|
+
* Controls if to close the popup on focus loss, returning the result set via {@link WorkbenchPopup#setResult} to the popup opener.
|
|
6283
|
+
* Defaults to `true`.
|
|
6284
|
+
*/
|
|
6285
|
+
onFocusLost?: boolean;
|
|
6286
|
+
/**
|
|
6287
|
+
* Controls if to close the popup when pressing escape. Defaults to `true`.
|
|
6288
|
+
* No return value will be passed to the popup opener.
|
|
6289
|
+
*/
|
|
6290
|
+
onEscape?: boolean;
|
|
6291
|
+
}
|
|
6062
6292
|
/**
|
|
6063
|
-
*
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
*
|
|
6074
|
-
* ```ts
|
|
6075
|
-
* import {provideWorkbench, WORKBENCH_STARTUP, WorkbenchInitializer} from '@scion/workbench';
|
|
6076
|
-
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
6077
|
-
* import {Injectable} from '@angular/core';
|
|
6293
|
+
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
6294
|
+
*/
|
|
6295
|
+
interface Context {
|
|
6296
|
+
/**
|
|
6297
|
+
* @deprecated since version 20.0.0-beta.9. Set view id directly. Migrate `{context: {viewId: 'view.x'}}` to `{context: 'view.x'}`. Marked for removal in version 22.
|
|
6298
|
+
*/
|
|
6299
|
+
viewId?: ViewId | null;
|
|
6300
|
+
}
|
|
6301
|
+
|
|
6302
|
+
/**
|
|
6303
|
+
* Enables the display of a component in a popup.
|
|
6078
6304
|
*
|
|
6079
|
-
*
|
|
6080
|
-
*
|
|
6081
|
-
*
|
|
6082
|
-
* // initialize application
|
|
6083
|
-
* }
|
|
6084
|
-
* }
|
|
6305
|
+
* A popup is a visual workbench element for displaying content above other content. It is positioned relative to an anchor,
|
|
6306
|
+
* which can be an element or a coordinate. The popup moves with the anchor. By default, the popup closes on focus loss or
|
|
6307
|
+
* when pressing the escape key.
|
|
6085
6308
|
*
|
|
6086
|
-
*
|
|
6087
|
-
*
|
|
6088
|
-
* provideWorkbench(),
|
|
6089
|
-
* {
|
|
6090
|
-
* provide: WORKBENCH_STARTUP,
|
|
6091
|
-
* multi: true,
|
|
6092
|
-
* useClass: Initializer,
|
|
6093
|
-
* },
|
|
6094
|
-
* ],
|
|
6095
|
-
* });
|
|
6096
|
-
* ```
|
|
6097
|
-
* @see WORKBENCH_PRE_STARTUP
|
|
6098
|
-
* @see WORKBENCH_STARTUP
|
|
6099
|
-
* @see WORKBENCH_POST_STARTUP
|
|
6309
|
+
* A popup can be bound to a context (e.g., part or view), displaying the popup only if the context is visible and closing
|
|
6310
|
+
* it when the context is disposed. Defaults to the calling context.
|
|
6100
6311
|
*
|
|
6101
|
-
* @deprecated since version
|
|
6312
|
+
* @deprecated since version 21.0.0-beta.1. Use `WorkbenchPopupService` to open popups. Marked for removal in version 22.
|
|
6102
6313
|
*/
|
|
6103
|
-
|
|
6314
|
+
declare abstract class PopupService {
|
|
6104
6315
|
/**
|
|
6105
|
-
*
|
|
6316
|
+
* Opens a popup with the specified component and options.
|
|
6317
|
+
*
|
|
6318
|
+
* An anchor is used to position the popup based on its preferred alignment. The anchor can be an element or a coordinate.
|
|
6106
6319
|
*
|
|
6107
|
-
* The
|
|
6320
|
+
* Data can be passed to the component via {@link PopupConfig.input} property. The component can inject the popup handle {@link WorkbenchPopup} to
|
|
6321
|
+
* read input data or to close the popup.
|
|
6322
|
+
*
|
|
6323
|
+
* By default, the popup closes on focus loss or when pressing the escape key.
|
|
6108
6324
|
*
|
|
6109
|
-
* @
|
|
6325
|
+
* @param config - Controls the appearance and behavior of the popup.
|
|
6326
|
+
* @returns Promise that resolves to the popup result, if any, or that rejects if the popup couldn't be opened or was closed with an error.
|
|
6327
|
+
*
|
|
6328
|
+
* @deprecated since version 21.0.0-beta.1. Use `WorkbenchPopupService` to open popups. Marked for removal in version 22.
|
|
6110
6329
|
*/
|
|
6111
|
-
|
|
6330
|
+
abstract open<R>(config: PopupConfig): Promise<R | undefined>;
|
|
6331
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PopupService, never>;
|
|
6332
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PopupService>;
|
|
6112
6333
|
}
|
|
6334
|
+
|
|
6113
6335
|
/**
|
|
6114
|
-
* DI token to register
|
|
6115
|
-
*
|
|
6116
|
-
* Initializers associated with this DI token are executed before starting the SCION Workbench.
|
|
6117
|
-
*
|
|
6118
|
-
* @see WorkbenchInitializerFn
|
|
6119
|
-
* @deprecated since version 19.0.0-beta.3. Register initializer using `provideWorkbenchInitializer` function. See `provideWorkbenchInitializer` for an example. API will be removed in version 21.
|
|
6120
|
-
*/
|
|
6121
|
-
declare const WORKBENCH_PRE_STARTUP: InjectionToken<object | WorkbenchInitializerFn | WorkbenchInitializer>;
|
|
6122
|
-
/**
|
|
6123
|
-
* DI token to register a {@link WorkbenchInitializerFn} as a multi-provider to hook into the startup process of the SCION Workbench.
|
|
6124
|
-
*
|
|
6125
|
-
* Initializers associated with this DI token are executed after initializers of {@link WORKBENCH_PRE_STARTUP}.
|
|
6126
|
-
*
|
|
6127
|
-
* @see WorkbenchInitializerFn
|
|
6128
|
-
* @deprecated since version 19.0.0-beta.3. Register initializer using `provideWorkbenchInitializer` function. See `provideWorkbenchInitializer` for an example. API will be removed in version 21.
|
|
6336
|
+
* DI token to register providers available for DI if in the context of a workbench popup.
|
|
6129
6337
|
*/
|
|
6130
|
-
declare const
|
|
6338
|
+
declare const WORKBENCH_POPUP_CONTEXT: InjectionToken<Provider[]>;
|
|
6339
|
+
|
|
6131
6340
|
/**
|
|
6132
|
-
*
|
|
6133
|
-
*
|
|
6134
|
-
* Initializers associated with this DI token are executed after initializers of {@link WORKBENCH_STARTUP}.
|
|
6135
|
-
*
|
|
6136
|
-
* @see WorkbenchInitializerFn
|
|
6137
|
-
* @deprecated since version 19.0.0-beta.3. Register initializer using `provideWorkbenchInitializer` function. See `provideWorkbenchInitializer` for an example. API will be removed in version 21.
|
|
6341
|
+
* Keys for associating workbench-specific data with a perspective.
|
|
6138
6342
|
*/
|
|
6139
|
-
declare const
|
|
6343
|
+
declare const WorkbenchPerspectiveData: {
|
|
6344
|
+
/**
|
|
6345
|
+
* Property to get the capability providing the perspective.
|
|
6346
|
+
*/
|
|
6347
|
+
readonly capability: "ɵcapability";
|
|
6348
|
+
};
|
|
6140
6349
|
|
|
6141
6350
|
/**
|
|
6142
6351
|
* Registers a function that is executed during the startup of the SCION Microfrontend Platform.
|
|
6143
6352
|
*
|
|
6144
|
-
* Initializers
|
|
6353
|
+
* Initializers are used to run initialization tasks during startup of the SCION Microfrontend Platform.
|
|
6354
|
+
* The SCION Microfrontend Platform is fully started once all initializers have completed.
|
|
6145
6355
|
*
|
|
6146
6356
|
* Initializers can specify a phase for execution. Initializers in lower phases execute before initializers in higher phases.
|
|
6147
6357
|
* Initializers in the same phase may execute in parallel. If no phase is specified, the initializer executes in the `PostStartup` phase.
|
|
@@ -6150,6 +6360,8 @@ declare const WORKBENCH_POST_STARTUP: InjectionToken<object | WorkbenchInitializ
|
|
|
6150
6360
|
* - {@link MicrofrontendPlatformStartupPhase.PreStartup}
|
|
6151
6361
|
* - {@link MicrofrontendPlatformStartupPhase.PostStartup}
|
|
6152
6362
|
*
|
|
6363
|
+
* Microfrontend platform initializers run during the {@link WorkbenchStartupPhase.Startup} phase.
|
|
6364
|
+
*
|
|
6153
6365
|
* The function can call `inject` to get any required dependencies.
|
|
6154
6366
|
*
|
|
6155
6367
|
* Initializers are only called if microfrontend support is enabled.
|
|
@@ -6158,7 +6370,7 @@ declare const WORKBENCH_POST_STARTUP: InjectionToken<object | WorkbenchInitializ
|
|
|
6158
6370
|
* @param options - Controls execution of the function.
|
|
6159
6371
|
* @return A set of dependency-injection providers to be registered in Angular.
|
|
6160
6372
|
*/
|
|
6161
|
-
declare function provideMicrofrontendPlatformInitializer(initializerFn:
|
|
6373
|
+
declare function provideMicrofrontendPlatformInitializer(initializerFn: MicrofrontendPlatformInitializerFn, options?: MicrofrontendPlatformInitializerOptions): EnvironmentProviders;
|
|
6162
6374
|
/**
|
|
6163
6375
|
* Controls the execution of an initializer function during the startup of the SCION Microfrontend Platform.
|
|
6164
6376
|
*/
|
|
@@ -6169,7 +6381,7 @@ interface MicrofrontendPlatformInitializerOptions {
|
|
|
6169
6381
|
phase?: MicrofrontendPlatformStartupPhase;
|
|
6170
6382
|
}
|
|
6171
6383
|
/**
|
|
6172
|
-
* Enumeration of phases for running a {@link
|
|
6384
|
+
* Enumeration of phases for running a {@link MicrofrontendPlatformInitializerFn} function during the startup of the SCION Microfrontend Platform.
|
|
6173
6385
|
*
|
|
6174
6386
|
* Functions associated with the same phase may run in parallel. Defaults to {@link PostStartup} phase.
|
|
6175
6387
|
*/
|
|
@@ -6178,7 +6390,7 @@ declare enum MicrofrontendPlatformStartupPhase {
|
|
|
6178
6390
|
* Use to run an initializer before starting the SCION Microfrontend Platform.
|
|
6179
6391
|
*
|
|
6180
6392
|
* Typically, you would configure the SCION Microfrontend Platform in this phase, for example, register interceptors or decorators.
|
|
6181
|
-
* At this point, you cannot interact with the
|
|
6393
|
+
* At this point, you cannot interact with the Microfrontend Platform because it has not been started yet.
|
|
6182
6394
|
*
|
|
6183
6395
|
* This phase is only called if microfrontend support is enabled.
|
|
6184
6396
|
*/
|
|
@@ -6189,38 +6401,52 @@ declare enum MicrofrontendPlatformStartupPhase {
|
|
|
6189
6401
|
* Typically, you would install intent and message handlers in this phase.
|
|
6190
6402
|
* At this point, the activators of the micro applications are not yet installed.
|
|
6191
6403
|
*
|
|
6404
|
+
* This is the default phase if not specifying a phase.
|
|
6405
|
+
*
|
|
6192
6406
|
* This phase is only called if microfrontend support is enabled.
|
|
6193
6407
|
*/
|
|
6194
6408
|
PostStartup = 2
|
|
6195
6409
|
}
|
|
6196
6410
|
/**
|
|
6197
|
-
*
|
|
6411
|
+
* The signature of a function executed during the startup of the SCION Microfrontend Platform.
|
|
6198
6412
|
*
|
|
6199
|
-
* Initializers
|
|
6413
|
+
* Initializers are used to run initialization tasks during startup of the SCION Microfrontend Platform.
|
|
6200
6414
|
*
|
|
6201
|
-
*
|
|
6202
|
-
*
|
|
6415
|
+
* Initializers are registered using the `provideMicrofrontendPlatformInitializer()` function and can specify a phase for execution.
|
|
6416
|
+
* Initializers in lower phases execute before initializers in higher phases. Initializers in the same phase may
|
|
6417
|
+
* execute in parallel. If no phase is specified, the initializer executes in the `PostStartup` phase.
|
|
6203
6418
|
*
|
|
6204
|
-
*
|
|
6419
|
+
* Microfrontend platform initializers run during the {@link WorkbenchStartupPhase.Startup} phase.
|
|
6205
6420
|
*
|
|
6206
|
-
*
|
|
6207
|
-
*
|
|
6208
|
-
|
|
6209
|
-
declare const MICROFRONTEND_PLATFORM_PRE_STARTUP: InjectionToken<object | WorkbenchInitializerFn | WorkbenchInitializer>;
|
|
6210
|
-
/**
|
|
6211
|
-
* DI token to register a {@link WorkbenchInitializerFn} as a multi-provider to hook into the startup process of the SCION Microfrontend Platform.
|
|
6421
|
+
* Available phases, in order of execution:
|
|
6422
|
+
* - {@link MicrofrontendPlatformStartupPhase.PreStartup}
|
|
6423
|
+
* - {@link MicrofrontendPlatformStartupPhase.PostStartup}
|
|
6212
6424
|
*
|
|
6213
|
-
*
|
|
6425
|
+
* The function can call `inject` to get any required dependencies.
|
|
6214
6426
|
*
|
|
6215
|
-
*
|
|
6216
|
-
*
|
|
6427
|
+
* @example - Registration of an initializer function
|
|
6428
|
+
* ```ts
|
|
6429
|
+
* import {provideWorkbench, provideMicrofrontendPlatformInitializer} from '@scion/workbench';
|
|
6430
|
+
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
6431
|
+
* import {inject} from '@angular/core';
|
|
6217
6432
|
*
|
|
6218
|
-
*
|
|
6433
|
+
* bootstrapApplication(AppComponent, {
|
|
6434
|
+
* providers: [
|
|
6435
|
+
* provideWorkbench(),
|
|
6436
|
+
* provideMicrofrontendPlatformInitializer(() => inject(SomeService).init()),
|
|
6437
|
+
* ],
|
|
6438
|
+
* });
|
|
6439
|
+
* ```
|
|
6440
|
+
* @see provideMicrofrontendPlatformInitializer
|
|
6441
|
+
*/
|
|
6442
|
+
type MicrofrontendPlatformInitializerFn = () => void | Promise<void>;
|
|
6443
|
+
|
|
6444
|
+
/**
|
|
6445
|
+
* DI token to inject the deprecated referrer previously available on the removed `WorkbenchPopup.referrer`.
|
|
6219
6446
|
*
|
|
6220
|
-
* @
|
|
6221
|
-
* @deprecated since version 19.0.0-beta.3. Register initializer using `provideMicrofrontendPlatformInitializer` function. See `provideMicrofrontendPlatformInitializer` for an example. API will be removed in version 21.
|
|
6447
|
+
* @deprecated since version 21.0.0-beta.2. Marked for removal. No replacement. Instead, add a parameter to the popup capability for the popup opener to pass required referrer information.
|
|
6222
6448
|
*/
|
|
6223
|
-
declare const
|
|
6449
|
+
declare const WORKBENCH_POPUP_REFERRER: InjectionToken<WorkbenchPopupReferrer>;
|
|
6224
6450
|
|
|
6225
6451
|
/**
|
|
6226
6452
|
* Patches '@scion/microfrontend-platform' typedef definition via module augmentation.
|
|
@@ -6248,6 +6474,26 @@ declare module '@scion/microfrontend-platform' {
|
|
|
6248
6474
|
}
|
|
6249
6475
|
}
|
|
6250
6476
|
|
|
6477
|
+
/**
|
|
6478
|
+
* Provides capability and parameters of a host microfrontend.
|
|
6479
|
+
*
|
|
6480
|
+
* Can be injected into a microfrontend component of the host application.
|
|
6481
|
+
*/
|
|
6482
|
+
declare abstract class ActivatedMicrofrontend {
|
|
6483
|
+
/**
|
|
6484
|
+
* Capability associated with the microfrontend.
|
|
6485
|
+
*/
|
|
6486
|
+
abstract readonly capability: Signal<Capability>;
|
|
6487
|
+
/**
|
|
6488
|
+
* Parameters passed to the microfrontend.
|
|
6489
|
+
*/
|
|
6490
|
+
abstract readonly params: Signal<Map<string, unknown>>;
|
|
6491
|
+
/**
|
|
6492
|
+
* Symbolic name of the application that opened the microfrontend.
|
|
6493
|
+
*/
|
|
6494
|
+
abstract readonly referrer: Signal<string>;
|
|
6495
|
+
}
|
|
6496
|
+
|
|
6251
6497
|
/**
|
|
6252
6498
|
* Provides the main entry point to start the SCION Workbench.
|
|
6253
6499
|
*
|
|
@@ -6305,6 +6551,91 @@ declare abstract class WorkbenchLauncher {
|
|
|
6305
6551
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLauncher>;
|
|
6306
6552
|
}
|
|
6307
6553
|
|
|
6554
|
+
/**
|
|
6555
|
+
* Registers a function that is executed during the startup of the SCION Workbench.
|
|
6556
|
+
*
|
|
6557
|
+
* Initializers are used to run initialization tasks during startup of the SCION Workbench.
|
|
6558
|
+
* The workbench is fully started once all initializers have completed.
|
|
6559
|
+
*
|
|
6560
|
+
* Initializers can specify a phase for execution. Initializers in lower phases execute before initializers in higher phases.
|
|
6561
|
+
* Initializers in the same phase may execute in parallel. If no phase is specified, the initializer executes in the `Startup` phase.
|
|
6562
|
+
*
|
|
6563
|
+
* Available phases, in order of execution:
|
|
6564
|
+
* - {@link WorkbenchStartupPhase.PreStartup}
|
|
6565
|
+
* - {@link WorkbenchStartupPhase.Startup}
|
|
6566
|
+
* - {@link WorkbenchStartupPhase.PostStartup}
|
|
6567
|
+
*
|
|
6568
|
+
* The function can call `inject` to get any required dependencies.
|
|
6569
|
+
*
|
|
6570
|
+
* @param initializerFn - Specifies the function to execute.
|
|
6571
|
+
* @param options - Controls execution of the function.
|
|
6572
|
+
* @return A set of dependency-injection providers to be registered in Angular.
|
|
6573
|
+
*/
|
|
6574
|
+
declare function provideWorkbenchInitializer(initializerFn: WorkbenchInitializerFn, options?: WorkbenchInitializerOptions): EnvironmentProviders;
|
|
6575
|
+
/**
|
|
6576
|
+
* Controls the execution of an initializer function during the startup of the SCION Workbench.
|
|
6577
|
+
*/
|
|
6578
|
+
interface WorkbenchInitializerOptions {
|
|
6579
|
+
/**
|
|
6580
|
+
* Controls in which phase to execute the initializer.
|
|
6581
|
+
*/
|
|
6582
|
+
phase?: WorkbenchStartupPhase;
|
|
6583
|
+
}
|
|
6584
|
+
/**
|
|
6585
|
+
* Enumeration of phases for running a {@link WorkbenchInitializerFn} function during the startup of the SCION Workbench.
|
|
6586
|
+
*
|
|
6587
|
+
* Functions associated with the same phase may run in parallel. Defaults to {@link Startup} phase.
|
|
6588
|
+
*/
|
|
6589
|
+
declare enum WorkbenchStartupPhase {
|
|
6590
|
+
/**
|
|
6591
|
+
* Use to run an initializer before starting the workbench.
|
|
6592
|
+
*/
|
|
6593
|
+
PreStartup = 0,
|
|
6594
|
+
/**
|
|
6595
|
+
* Use to run an initializer function after initializers of the {@link PreStartup} phase.
|
|
6596
|
+
*
|
|
6597
|
+
* This is the default phase if not specifying a phase.
|
|
6598
|
+
*/
|
|
6599
|
+
Startup = 1,
|
|
6600
|
+
/**
|
|
6601
|
+
* Use to run an initializer function after initializers of the {@link Startup} phase.
|
|
6602
|
+
*/
|
|
6603
|
+
PostStartup = 2
|
|
6604
|
+
}
|
|
6605
|
+
/**
|
|
6606
|
+
* The signature of a function executed during the startup of the SCION Workbench.
|
|
6607
|
+
*
|
|
6608
|
+
* Initializers are used to run initialization tasks during startup of the SCION Workbench.
|
|
6609
|
+
* The workbench is fully started once all initializers have completed.
|
|
6610
|
+
*
|
|
6611
|
+
* Initializers are registered using the `provideWorkbenchInitializer()` function and can specify a phase for execution.
|
|
6612
|
+
* Initializers in lower phases execute before initializers in higher phases. Initializers in the same phase may
|
|
6613
|
+
* execute in parallel. If no phase is specified, the initializer executes in the `Startup` phase.
|
|
6614
|
+
*
|
|
6615
|
+
* Available phases, in order of execution:
|
|
6616
|
+
* - {@link WorkbenchStartupPhase.PreStartup}
|
|
6617
|
+
* - {@link WorkbenchStartupPhase.Startup}
|
|
6618
|
+
* - {@link WorkbenchStartupPhase.PostStartup}
|
|
6619
|
+
*
|
|
6620
|
+
* The function can call `inject` to get any required dependencies.
|
|
6621
|
+
*
|
|
6622
|
+
* @example - Registration of an initializer function
|
|
6623
|
+
* ```ts
|
|
6624
|
+
* import {provideWorkbench, provideWorkbenchInitializer} from '@scion/workbench';
|
|
6625
|
+
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
6626
|
+
* import {inject} from '@angular/core';
|
|
6627
|
+
*
|
|
6628
|
+
* bootstrapApplication(AppComponent, {
|
|
6629
|
+
* providers: [
|
|
6630
|
+
* provideWorkbench(),
|
|
6631
|
+
* provideWorkbenchInitializer(() => inject(SomeService).init()),
|
|
6632
|
+
* ],
|
|
6633
|
+
* });
|
|
6634
|
+
* ```
|
|
6635
|
+
* @see provideWorkbenchInitializer
|
|
6636
|
+
*/
|
|
6637
|
+
type WorkbenchInitializerFn = () => void | Promise<void>;
|
|
6638
|
+
|
|
6308
6639
|
/**
|
|
6309
6640
|
* Enables the translation of a given {@link Translatable}.
|
|
6310
6641
|
*
|
|
@@ -6388,5 +6719,5 @@ declare class IconComponent {
|
|
|
6388
6719
|
static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "wb-icon", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6389
6720
|
}
|
|
6390
6721
|
|
|
6391
|
-
export { IconComponent, LogAppender, LogLevel, Logger, LoggerName, MAIN_AREA, MAIN_AREA_INITIAL_PART_ID,
|
|
6392
|
-
export type { ActivityId, BottomLeftPoint, BottomRightPoint, CanCloseFn, CanCloseRef, CloseStrategy, Commands, DialogId, Disposable, DockedPartExtras, DockingArea, LogEvent, MenuItemConfig, MicrofrontendPlatformInitializerOptions, NavigateFn, NavigationData, NavigationState, NotificationConfig, PartExtras, PartId, Point, PopupId, PopupOrigin,
|
|
6722
|
+
export { ActivatedMicrofrontend, IconComponent, LogAppender, LogLevel, Logger, LoggerName, MAIN_AREA, MAIN_AREA_INITIAL_PART_ID, MicrofrontendPlatformConfigLoader, MicrofrontendPlatformStartupPhase, Notification, NotificationService, Popup, PopupConfig, PopupService, TextPipe, VIEW_TAB_RENDERING_CONTEXT, WORKBENCH_DIALOG_CONTEXT, WORKBENCH_ID, WORKBENCH_PART_CONTEXT, WORKBENCH_POPUP_CONTEXT, WORKBENCH_POPUP_REFERRER, WORKBENCH_VIEW_CONTEXT, WorkbenchComponent, WorkbenchConfig, WorkbenchDesktopDirective, WorkbenchDialog, WorkbenchDialogActionDirective, WorkbenchDialogFooterDirective, WorkbenchDialogHeaderDirective, WorkbenchDialogService, WorkbenchLauncher, WorkbenchLayoutFactory, WorkbenchMessageBoxService, WorkbenchNotification, WorkbenchNotificationService, WorkbenchPart, WorkbenchPartActionDirective, WorkbenchPerspectiveData, WorkbenchPopup, WorkbenchPopupService, WorkbenchRouteData, WorkbenchRouter, WorkbenchRouterLinkDirective, WorkbenchService, WorkbenchStartup, WorkbenchStartupPhase, WorkbenchStorage, WorkbenchView, WorkbenchViewMenuItemDirective, canMatchWorkbenchDialogCapability, canMatchWorkbenchMessageBoxCapability, canMatchWorkbenchOutlet, canMatchWorkbenchPart, canMatchWorkbenchPartCapability, canMatchWorkbenchPerspective, canMatchWorkbenchPopupCapability, canMatchWorkbenchView, canMatchWorkbenchViewCapability, provideMicrofrontendPlatformInitializer, provideWorkbench, provideWorkbenchInitializer, text };
|
|
6723
|
+
export type { ActivityId, BottomLeftPoint, BottomRightPoint, CanCloseFn, CanCloseRef, CloseStrategy$1 as CloseStrategy, Commands, DialogId, Disposable, DockedPartExtras, DockingArea, LogEvent, MenuItemConfig, MicrofrontendPlatformInitializerOptions, NavigateFn, NavigationData, NavigationState, NotificationConfig, PartExtras, PartId, Point, PopupId, PopupOrigin, ReferencePart, TopLeftPoint, TopRightPoint, Translatable, ViewId, ViewMenuItemsConfig, ViewTabRenderingContext, WorkbenchDialogOptions, WorkbenchDialogSize, WorkbenchElement, WorkbenchIconDescriptor, WorkbenchIconProviderFn, WorkbenchInitializerFn, WorkbenchInitializerOptions, WorkbenchLayout, WorkbenchLayoutFn, WorkbenchMenuItem, WorkbenchMessageBoxOptions, WorkbenchNavigationExtras, WorkbenchNotificationOptions, WorkbenchPartAction, WorkbenchPartActionFn, WorkbenchPartNavigation, WorkbenchPerspective, WorkbenchPerspectiveDefinition, WorkbenchPerspectiveSelectionFn, WorkbenchPerspectives, WorkbenchPopupOptions, WorkbenchPopupSize, WorkbenchTextProviderFn, WorkbenchViewMenuItemFn, WorkbenchViewNavigation };
|