@scion/workbench 19.0.0-beta.2 → 19.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/design/_workbench-dark-theme-design-tokens.scss +52 -12
- package/design/_workbench-icon-font.scss +1 -1
- package/design/_workbench-light-theme-design-tokens.scss +54 -14
- package/fesm2022/scion-workbench.mjs +7265 -5286
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/activity/activity-bar/activity-bar.component.d.ts +10 -0
- package/lib/activity/activity-bar/activity-item/activity-item.component.d.ts +16 -0
- package/lib/activity/activity-bar/activity-stack/activity-stack.component.d.ts +10 -0
- package/lib/activity/activity-panel/activity-panel.component.d.ts +41 -0
- package/lib/activity/public_api.d.ts +1 -0
- package/lib/activity/workbench-activity.model.d.ts +110 -0
- package/lib/common/asserts.util.d.ts +1 -1
- package/lib/common/dasherize.util.d.ts +4 -0
- package/lib/common/disposable.d.ts +4 -0
- package/lib/common/dom.util.d.ts +19 -1
- package/lib/common/grid-if-visible.pipe.d.ts +13 -0
- package/lib/common/objects.util.d.ts +11 -3
- package/lib/common/observables.d.ts +8 -8
- package/lib/common/public_api.d.ts +1 -1
- package/lib/common/resolve-when.util.d.ts +9 -0
- package/lib/common/utility-types.d.ts +6 -0
- package/lib/content-projection/content-as-overlay.component.d.ts +1 -1
- package/lib/desktop/desktop.directive.d.ts +1 -1
- package/lib/dialog/dialog-footer/dialog-footer.component.d.ts +1 -2
- package/lib/dialog/dialog-footer/workbench-dialog-action.directive.d.ts +8 -10
- package/lib/dialog/dialog-footer/workbench-dialog-footer.directive.d.ts +8 -11
- package/lib/dialog/dialog-header/dialog-header.component.d.ts +1 -2
- package/lib/dialog/dialog-header/workbench-dialog-header.directive.d.ts +8 -11
- package/lib/dialog/movable.directive.d.ts +11 -12
- package/lib/dialog/public_api.d.ts +2 -2
- package/lib/dialog/resizable.directive.d.ts +8 -16
- package/lib/dialog/workbench-dialog.component.d.ts +9 -14
- package/lib/dialog/workbench-dialog.d.ts +6 -5
- package/lib/dialog//311/265workbench-dialog.d.ts +7 -6
- package/lib/filter-field/filter-field.component.d.ts +23 -26
- package/lib/glass-pane/glass-pane.directive.d.ts +4 -5
- package/lib/icon/icon-providers.d.ts +6 -0
- package/lib/icon/icon.component.d.ts +33 -0
- package/lib/icon/material-icon-provider.d.ts +25 -0
- package/lib/icon/public_api.d.ts +1 -0
- package/lib/icon/workbench-icon-provider.d.ts +30 -0
- package/lib/icon/workbench-icon-provider.model.d.ts +64 -0
- package/lib/layout/{workbench-layout.component.d.ts → grid/grid.component.d.ts} +38 -10
- package/lib/layout/grid-element/grid-element.component.d.ts +16 -20
- package/lib/layout/layout.component.d.ts +60 -0
- package/lib/layout/migration/model/workbench-grid-migration-v2.model.d.ts +22 -0
- package/lib/layout/migration/model/workbench-grid-migration-v3.model.d.ts +30 -0
- package/lib/layout/migration/model/workbench-grid-migration-v4.model.d.ts +31 -0
- package/lib/layout/migration/model/{workbench-layout-migration-v5.model.d.ts → workbench-grid-migration-v5.model.d.ts} +3 -3
- package/lib/layout/migration/model/{workbench-layout-migration-v6.model.d.ts → workbench-grid-migration-v6.model.d.ts} +3 -3
- package/lib/layout/migration/model/{workbench-layout-migration-v7.model.d.ts → workbench-grid-migration-v7.model.d.ts} +3 -3
- package/lib/layout/migration/model/workbench-layout-migration-v2.model.d.ts +9 -21
- package/lib/layout/migration/model/workbench-layout-migration-v3.model.d.ts +8 -28
- package/lib/layout/migration/model/workbench-layout-migration-v4.model.d.ts +18 -29
- package/lib/layout/migration/workbench-grid-migration-v3.service.d.ts +14 -0
- package/lib/layout/migration/workbench-grid-migration-v4.service.d.ts +12 -0
- package/lib/layout/migration/{workbench-layout-migration-v5.service.d.ts → workbench-grid-migration-v5.service.d.ts} +3 -3
- package/lib/layout/migration/workbench-grid-migration-v6.service.d.ts +12 -0
- package/lib/layout/migration/workbench-grid-migration-v7.service.d.ts +10 -0
- package/lib/layout/migration/{workbench-layout-migration-v6.service.d.ts → workbench-layout-migration-v2.service.d.ts} +5 -4
- package/lib/layout/migration/workbench-layout-migration-v3.service.d.ts +1 -5
- package/lib/layout/migration/workbench-layout-migration-v4.service.d.ts +1 -1
- package/lib/layout/public_api.d.ts +1 -1
- package/lib/layout/rendering-flag.d.ts +7 -0
- package/lib/layout/{workbench-layout.model.d.ts → workbench-grid.model.d.ts} +26 -3
- package/lib/{perspective/workbench-grid-merger.service.d.ts → layout/workbench-layout-merger.service.d.ts} +5 -5
- package/lib/layout/workbench-layout-storage.service.d.ts +28 -0
- package/lib/layout/workbench-layout.d.ts +289 -28
- package/lib/layout/workbench-layout.factory.d.ts +4 -6
- package/lib/layout/workbench-layout.service.d.ts +24 -13
- package/lib/layout/workbench-layouts.util.d.ts +25 -1
- package/lib/layout/workench-layout-serializer.service.d.ts +52 -14
- package/lib/layout//311/265workbench-layout.d.ts +351 -83
- package/lib/layout//311/265workbench-layout.factory.d.ts +6 -21
- package/lib/logging/console-appender.service.d.ts +0 -1
- package/lib/logging/public_api.d.ts +1 -1
- package/lib/message-box/message-box-footer/message-box-footer.component.d.ts +7 -8
- package/lib/message-box/message-box-header/message-box-header.component.d.ts +3 -3
- package/lib/message-box/public_api.d.ts +1 -1
- package/lib/message-box/workbench-message-box.component.d.ts +5 -8
- package/lib/message-box/workbench-message-box.options.d.ts +6 -5
- package/lib/message-box/workbench-message-box.service.d.ts +2 -1
- package/lib/message-box//311/265workbench-message-box.service.d.ts +4 -6
- package/lib/microfrontend-platform/common/microfrontend.util.d.ts +15 -2
- package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +20 -38
- package/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.d.ts +1 -3
- package/lib/microfrontend-platform/manifest-object-cache.service.d.ts +9 -10
- package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.d.ts +2 -5
- package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.d.ts +14 -34
- package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +13 -16
- package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +15 -18
- package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +0 -2
- package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +8 -12
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.d.ts +2 -5
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.d.ts +14 -33
- package/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.d.ts +7 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.d.ts +3 -22
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.d.ts +2 -5
- package/lib/microfrontend-platform/microfrontend-platform-initializer.provider.d.ts +85 -0
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +19 -33
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +3 -40
- package/lib/microfrontend-platform/{routing → microfrontend-view}/microfrontend-view-intent-handler.interceptor.d.ts +5 -4
- package/lib/microfrontend-platform/{routing → microfrontend-view}/microfrontend-view-routes.d.ts +2 -2
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +28 -33
- package/lib/microfrontend-platform/public_api.d.ts +2 -0
- package/lib/notification/notification-list.component.d.ts +3 -6
- package/lib/notification/notification.component.d.ts +14 -16
- package/lib/notification/notification.config.d.ts +4 -3
- package/lib/notification/notification.d.ts +2 -1
- package/lib/notification/notification.service.d.ts +6 -6
- package/lib/notification/public_api.d.ts +1 -1
- package/lib/notification/text-notification.component.d.ts +2 -3
- package/lib/notification//311/265notification.d.ts +5 -4
- package/lib/null-content/null-content.component.d.ts +11 -0
- package/lib/part/main-area-part/main-area-part.component.d.ts +7 -3
- package/lib/part/part-action-bar/part-action.directive.d.ts +1 -1
- package/lib/part/part-bar/part-bar.component.d.ts +6 -1
- package/lib/part/part.component.d.ts +3 -4
- package/lib/part/public_api.d.ts +1 -1
- package/lib/part/view-context-menu/text/text.component.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu-item.directive.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu.service.d.ts +7 -5
- package/lib/part/view-list/view-list.component.d.ts +14 -24
- package/lib/part/view-list-button/view-list-button.component.d.ts +6 -10
- package/lib/part/view-list-item/view-list-item.component.d.ts +7 -11
- package/lib/part/view-tab/view-tab.component.d.ts +14 -30
- package/lib/part/view-tab-bar/view-tab-bar.component.d.ts +1 -0
- package/lib/part/view-tab-content/view-tab-content.component.d.ts +1 -4
- package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +20 -18
- package/lib/part/workbench-part.model.d.ts +23 -3
- package/lib/part//311/265workbench-part.model.d.ts +28 -8
- package/lib/perspective/public_api.d.ts +1 -1
- package/lib/perspective/workbench-perspective-view-conflict-resolver.service.d.ts +5 -5
- package/lib/perspective/workbench-perspective.model.d.ts +14 -138
- package/lib/perspective/workbench-perspective.service.d.ts +15 -5
- package/lib/perspective//311/265workbench-perspective.model.d.ts +9 -8
- package/lib/popup/popup.component.d.ts +14 -16
- package/lib/popup/popup.config.d.ts +10 -15
- package/lib/popup/popup.service.d.ts +12 -22
- package/lib/popup/public_api.d.ts +2 -2
- package/lib/portal/workbench-portal-outlet.directive.d.ts +9 -7
- package/lib/public_api.d.ts +6 -3
- package/lib/routing/public_api.d.ts +1 -1
- package/lib/routing/routing.model.d.ts +14 -13
- package/lib/routing/routing.util.d.ts +8 -8
- package/lib/routing/url-segment-matcher.d.ts +1 -1
- package/lib/routing/workbench-auxiliary-route-installer.service.d.ts +3 -12
- package/lib/routing/workbench-layout-differ.d.ts +2 -2
- package/lib/routing/workbench-navigational-states.d.ts +16 -8
- package/lib/routing/workbench-route-data.d.ts +4 -0
- package/lib/routing/workbench-router-link.directive.d.ts +16 -29
- package/lib/routing/workbench-router.service.d.ts +4 -3
- package/lib/routing//311/265workbench-router.service.d.ts +4 -4
- package/lib/startup/public_api.d.ts +4 -2
- package/lib/startup/workbench-initializer.d.ts +128 -87
- package/lib/startup/workbench-launcher.service.d.ts +41 -77
- package/lib/startup/workbench-startup.service.d.ts +37 -0
- package/lib/startup//311/265workbench-launcher.service.d.ts +19 -0
- package/lib/startup//311/265workbench-startup.service.d.ts +16 -0
- package/lib/text/public_api.d.ts +1 -0
- package/lib/text/text-providers.d.ts +6 -0
- package/lib/text/text.d.ts +30 -0
- package/lib/text/text.pipe.d.ts +24 -0
- package/lib/text/workbench-text-provider.d.ts +7 -0
- package/lib/text/workbench-text-provider.model.d.ts +40 -0
- package/lib/text/workbench-view-menu-config-text-provider.d.ts +8 -0
- package/lib/theme/workbench-theme-switcher.service.d.ts +14 -19
- package/lib/view/public_api.d.ts +1 -1
- package/lib/view/view.component.d.ts +1 -1
- package/lib/view/workbench-view.model.d.ts +11 -10
- package/lib/view//311/265workbench-view.model.d.ts +9 -7
- package/lib/view-dnd/grid-drop-targets.util.d.ts +1 -1
- package/lib/view-dnd/requires-drop-zone.pipe.d.ts +1 -1
- package/lib/view-dnd/view-drag.service.d.ts +24 -7
- package/lib/view-dnd/view-drop-zone.directive.d.ts +7 -10
- package/lib/workbench-config.d.ts +199 -28
- package/lib/workbench.component.d.ts +8 -1
- package/lib/workbench.constants.d.ts +4 -0
- package/lib/workbench.model.d.ts +2 -0
- package/lib/workbench.provider.d.ts +66 -15
- package/lib/workbench.service.d.ts +45 -10
- package/lib//311/265workbench.service.d.ts +9 -7
- package/package.json +3 -3
- package/lib/common/grid-element-if-visible.pipe.d.ts +0 -13
- package/lib/layout/migration/workbench-layout-migration-v7.service.d.ts +0 -10
- package/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.d.ts +0 -17
- package/lib/perspective/migration/model/workbench-perspective-migration-v2.model.d.ts +0 -10
- package/lib/perspective/migration/model/workbench-perspective-migration-v3.model.d.ts +0 -10
- package/lib/perspective/migration/workbench-perspective-migration-v2.service.d.ts +0 -13
- package/lib/perspective/migration/workbench-perspective-migration-v3.service.d.ts +0 -12
- package/lib/perspective/workbench-perspective-storage.service.d.ts +0 -32
- package/lib/perspective/workench-perspective-serializer.service.d.ts +0 -26
- /package/lib/{perspective/migration/model/workbench-perspective-migration-v1.model.d.ts → layout/migration/model/workbench-layout-migration-v1.model.d.ts} +0 -0
- /package/lib/microfrontend-platform/{routing → microfrontend-view}/microfrontend-view-capability-validator.interceptor.d.ts +0 -0
|
@@ -3,12 +3,105 @@ import { Signal, Type } from '@angular/core';
|
|
|
3
3
|
import { LogAppender, LogLevel } from './logging';
|
|
4
4
|
import { MicrofrontendPlatformConfig } from '@scion/microfrontend-platform';
|
|
5
5
|
import { MicrofrontendPlatformConfigLoader } from './microfrontend-platform/microfrontend-platform-config-loader';
|
|
6
|
-
import {
|
|
6
|
+
import { WorkbenchPerspectives } from './perspective/workbench-perspective.model';
|
|
7
7
|
import { WorkbenchStorage } from './storage/workbench-storage';
|
|
8
|
+
import { WorkbenchTextProviderFn } from './text/workbench-text-provider.model';
|
|
9
|
+
import { WorkbenchIconProviderFn } from './icon/workbench-icon-provider.model';
|
|
10
|
+
import { WorkbenchLayoutFn } from './layout/workbench-layout';
|
|
8
11
|
/**
|
|
9
12
|
* Configuration of the SCION Workbench.
|
|
10
13
|
*/
|
|
11
14
|
export declare abstract class WorkbenchConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Defines the layout(s) of the application. Defaults to a single layout with only a main area.
|
|
17
|
+
*
|
|
18
|
+
* An application can have multiple layouts, called perspectives. A perspective defines an arrangement of parts and views.
|
|
19
|
+
* Parts can be docked to the side or positioned relative to each other. Views are stacked in parts and can be dragged to other parts.
|
|
20
|
+
* Content can be displayed in both parts and views.
|
|
21
|
+
*
|
|
22
|
+
* A perspective typically has a main area part and other parts docked to the side, providing navigation and context-sensitive assistance to support
|
|
23
|
+
* the user's workflow. Initially empty or displaying a welcome page, the main area is where the workbench opens new views by default.
|
|
24
|
+
* Unlike any other part, the main area is shared between perspectives, and its layout is not reset when resetting perspectives.
|
|
25
|
+
*
|
|
26
|
+
* See {@link WorkbenchLayoutFn} for more information and an example.
|
|
27
|
+
*/
|
|
28
|
+
abstract layout?: WorkbenchLayoutFn | WorkbenchPerspectives;
|
|
29
|
+
/**
|
|
30
|
+
* Provides texts to the SCION Workbench.
|
|
31
|
+
*
|
|
32
|
+
* A text provider is a function that returns the text for a translation key.
|
|
33
|
+
*
|
|
34
|
+
* Texts starting with the percent symbol (`%`) are passed to the text provider for translation, with the percent symbol omitted.
|
|
35
|
+
* Otherwise, the text is returned as is.
|
|
36
|
+
*
|
|
37
|
+
* The SCION Workbench uses the following translation keys for built-in texts:
|
|
38
|
+
* - workbench.clear.tooltip
|
|
39
|
+
* - workbench.close.action
|
|
40
|
+
* - workbench.close_all_tabs.action
|
|
41
|
+
* - workbench.close_other_tabs.action
|
|
42
|
+
* - workbench.close_tab.action
|
|
43
|
+
* - workbench.close_tab.tooltip
|
|
44
|
+
* - workbench.close_tabs_to_the_left.action
|
|
45
|
+
* - workbench.close_tabs_to_the_right.action
|
|
46
|
+
* - workbench.close.tooltip
|
|
47
|
+
* - workbench.dev_mode_only_hint.tooltip
|
|
48
|
+
* - workbench.minimize.tooltip
|
|
49
|
+
* - workbench.move_tab_down.action
|
|
50
|
+
* - workbench.move_tab_to_new_window.action
|
|
51
|
+
* - workbench.move_tab_to_the_left.action
|
|
52
|
+
* - workbench.move_tab_to_the_right.action
|
|
53
|
+
* - workbench.move_tab_up.action
|
|
54
|
+
* - workbench.null_content.message
|
|
55
|
+
* - workbench.null_view_developer_hint.message
|
|
56
|
+
* - workbench.ok.action
|
|
57
|
+
* - workbench.page_not_found.message
|
|
58
|
+
* - workbench.page_not_found.title
|
|
59
|
+
* - workbench.page_not_found_developer_hint.message
|
|
60
|
+
* - workbench.show_open_tabs.tooltip
|
|
61
|
+
*
|
|
62
|
+
* The function:
|
|
63
|
+
* - Can call `inject` to get any required dependencies.
|
|
64
|
+
* - Can call `toSignal` to convert an Observable to a Signal.
|
|
65
|
+
*
|
|
66
|
+
* @see WorkbenchTextProviderFn
|
|
67
|
+
*/
|
|
68
|
+
abstract textProvider?: WorkbenchTextProviderFn;
|
|
69
|
+
/**
|
|
70
|
+
* Provides icons to the SCION Workbench.
|
|
71
|
+
*
|
|
72
|
+
* An icon provider is a function that returns a component for an icon. The component renders the icon.
|
|
73
|
+
*
|
|
74
|
+
* Defaults to a Material icon provider, interpreting the icon as a Material icon ligature.
|
|
75
|
+
*
|
|
76
|
+
* The default icon provider requires the application to include the Material icon font, for example in `styles.scss`, as follows:
|
|
77
|
+
* ```scss
|
|
78
|
+
* @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded');
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* The SCION Workbench uses the following icons:
|
|
82
|
+
* - `workbench.clear`: Clear button in input fields
|
|
83
|
+
* - `workbench.close`: Close button in views, dialogs and notifications
|
|
84
|
+
* - `workbench.dirty`: Visual indicator for view with unsaved content
|
|
85
|
+
* - `workbench.menu_down`: Menu button of drop down menus
|
|
86
|
+
* - `workbench.minimize`: Minimize button in docked parts
|
|
87
|
+
* - `workbench.pin`: Visual indicator for a pinned view
|
|
88
|
+
* - `workbench.search`: Visual indicator in search or filter fields
|
|
89
|
+
*
|
|
90
|
+
* To not replace built-in workbench icons, the icon provider can return `undefined` for icons starting with the `workbench.` prefix.
|
|
91
|
+
*
|
|
92
|
+
* The function can call `inject` to get any required dependencies.
|
|
93
|
+
*
|
|
94
|
+
* @see WorkbenchIconProviderFn
|
|
95
|
+
*/
|
|
96
|
+
abstract iconProvider?: WorkbenchIconProviderFn;
|
|
97
|
+
/**
|
|
98
|
+
* Specifies the component to display in `<wb-workbench>` while the workbench is starting.
|
|
99
|
+
*
|
|
100
|
+
* Defaults to a splash showing a loading indicator (ellipsis throbber).
|
|
101
|
+
*
|
|
102
|
+
* Note: No splash screen is displayed if starting the workbench in an app initializer.
|
|
103
|
+
*/
|
|
104
|
+
abstract splashComponent?: ComponentType<unknown>;
|
|
12
105
|
/**
|
|
13
106
|
* Specifies the component to display a view tab, enabling custom design or functionality.
|
|
14
107
|
*
|
|
@@ -30,35 +123,38 @@ export declare abstract class WorkbenchConfig {
|
|
|
30
123
|
*/
|
|
31
124
|
abstract viewMenuItems?: ViewMenuItemsConfig | false;
|
|
32
125
|
/**
|
|
33
|
-
* Configures the
|
|
126
|
+
* Configures startup of the SCION Workbench.
|
|
127
|
+
*
|
|
128
|
+
* The SCION Workbench starts automatically when the `<wb-workbench>` component is added to the DOM. Alternatively,
|
|
129
|
+
* the workbench can be started manually using {@link WorkbenchLauncher.launch}, such as in an app initializer or a route guard.
|
|
34
130
|
*
|
|
35
|
-
* The
|
|
36
|
-
*
|
|
131
|
+
* The application can hook into the startup process of the SCION Workbench by providing one or more initializers to {@link provideWorkbenchInitializer}.
|
|
132
|
+
* Initializers execute at defined points during startup, enabling the application's controlled initialization. The workbench is fully started once
|
|
133
|
+
* all initializers have completed.
|
|
37
134
|
*
|
|
38
|
-
*
|
|
135
|
+
* The application can inject {@link WorkbenchStartup} to check if the workbench has completed startup.
|
|
39
136
|
*/
|
|
40
137
|
abstract startup?: {
|
|
41
138
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* - **APP_INITIALIZER**
|
|
45
|
-
* Launches the workbench in an Angular `APP_INITIALIZER`, which is before bootstrapping the app component.
|
|
139
|
+
* Controls when to start the SCION Workbench. Defaults to `LAZY`.
|
|
46
140
|
*
|
|
47
141
|
* - **LAZY**
|
|
48
|
-
*
|
|
142
|
+
* Starts the workbench when the `<wb-workbench>` component is added to the DOM or manually via {@link WorkbenchLauncher#launch},
|
|
143
|
+
* e.g., from a route guard or app initializer.
|
|
49
144
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
145
|
+
* - **APP_INITIALIZER**
|
|
146
|
+
* Starts the workbench during application bootstrapping, blocking Angular's app startup until the workbench is ready.
|
|
147
|
+
* No splash is displayed.
|
|
148
|
+
*
|
|
149
|
+
* @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.
|
|
54
150
|
*/
|
|
55
|
-
launcher?: '
|
|
151
|
+
launcher?: 'LAZY' | 'APP_INITIALIZER';
|
|
56
152
|
/**
|
|
57
|
-
* Specifies the component to display
|
|
58
|
-
*
|
|
153
|
+
* Specifies the component to display in `<wb-workbench>` while the workbench is starting.
|
|
154
|
+
*
|
|
155
|
+
* Note: No splash screen is displayed when using the app initializer strategy.
|
|
59
156
|
*
|
|
60
|
-
*
|
|
61
|
-
* will start upfront.
|
|
157
|
+
* @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.
|
|
62
158
|
*/
|
|
63
159
|
splash?: ComponentType<unknown>;
|
|
64
160
|
};
|
|
@@ -85,13 +181,6 @@ export declare abstract class WorkbenchConfig {
|
|
|
85
181
|
* under the DI token {@link MICROFRONTEND_PLATFORM_POST_STARTUP}.
|
|
86
182
|
*/
|
|
87
183
|
abstract microfrontendPlatform?: MicrofrontendPlatformConfig | Type<MicrofrontendPlatformConfigLoader>;
|
|
88
|
-
/**
|
|
89
|
-
* Defines the workbench layout. Multiple layouts can be defined in the form of perspectives.
|
|
90
|
-
* If not set, defaults to a layout with only a main area.
|
|
91
|
-
*
|
|
92
|
-
* See {@link WorkbenchLayoutFn} for more information and an example.
|
|
93
|
-
*/
|
|
94
|
-
abstract layout?: WorkbenchLayoutFn | WorkbenchPerspectives;
|
|
95
184
|
/**
|
|
96
185
|
* Provides persistent storage to the SCION Workbench.
|
|
97
186
|
*
|
|
@@ -130,20 +219,100 @@ export declare abstract class WorkbenchConfig {
|
|
|
130
219
|
/**
|
|
131
220
|
* Configuration of built-in menu items in the view's context menu.
|
|
132
221
|
*
|
|
133
|
-
* Each property represents a menu item, allowing customization of visibility,
|
|
222
|
+
* Each property represents a menu item, allowing customization of visibility, accelerators, and more.
|
|
134
223
|
*
|
|
135
|
-
*
|
|
224
|
+
* Texts can be changed or localized using a {@link WorkbenchTextProviderFn text provider} passed to {@link provideWorkbench} via the workbench config object.
|
|
136
225
|
*/
|
|
137
226
|
export interface ViewMenuItemsConfig {
|
|
227
|
+
/**
|
|
228
|
+
* Configures the menu item for closing a view tab.
|
|
229
|
+
*
|
|
230
|
+
* Set to `false` to exclude it.
|
|
231
|
+
*
|
|
232
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
233
|
+
* Translation key: `workbench.close_tab.action`
|
|
234
|
+
*/
|
|
138
235
|
close?: MenuItemConfig | false;
|
|
236
|
+
/**
|
|
237
|
+
* Configures the menu item for closing other view tabs.
|
|
238
|
+
*
|
|
239
|
+
* Set to `false` to exclude it.
|
|
240
|
+
*
|
|
241
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
242
|
+
* Translation key: `workbench.close_other_tabs.action`
|
|
243
|
+
*/
|
|
139
244
|
closeOthers?: MenuItemConfig | false;
|
|
245
|
+
/**
|
|
246
|
+
* Configures the menu item for closing all view tabs.
|
|
247
|
+
*
|
|
248
|
+
* Set to `false` to exclude it.
|
|
249
|
+
*
|
|
250
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
251
|
+
* Translation key: `workbench.close_all_tabs.action`
|
|
252
|
+
*/
|
|
140
253
|
closeAll?: MenuItemConfig | false;
|
|
254
|
+
/**
|
|
255
|
+
* Configures the menu item for closing view tabs to the right.
|
|
256
|
+
*
|
|
257
|
+
* Set to `false` to exclude it.
|
|
258
|
+
*
|
|
259
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
260
|
+
* Translation key: `workbench.close_tabs_to_the_right.action`
|
|
261
|
+
*/
|
|
141
262
|
closeToTheRight?: MenuItemConfig | false;
|
|
263
|
+
/**
|
|
264
|
+
* Configures the menu item for closing view tabs to the left.
|
|
265
|
+
*
|
|
266
|
+
* Set to `false` to exclude it.
|
|
267
|
+
*
|
|
268
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
269
|
+
* Translation key: `workbench.close_tabs_to_the_left.action`
|
|
270
|
+
*/
|
|
142
271
|
closeToTheLeft?: MenuItemConfig | false;
|
|
272
|
+
/**
|
|
273
|
+
* Configures the menu item for moving a view up.
|
|
274
|
+
*
|
|
275
|
+
* Set to `false` to exclude it.
|
|
276
|
+
*
|
|
277
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
278
|
+
* Translation key: `workbench.move_tab_up.action`
|
|
279
|
+
*/
|
|
143
280
|
moveUp?: MenuItemConfig | false;
|
|
281
|
+
/**
|
|
282
|
+
* Configures the menu item for moving a view to the right.
|
|
283
|
+
*
|
|
284
|
+
* Set to `false` to exclude it.
|
|
285
|
+
*
|
|
286
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
287
|
+
* Translation key: `workbench.move_tab_to_the_right.action`
|
|
288
|
+
*/
|
|
144
289
|
moveRight?: MenuItemConfig | false;
|
|
290
|
+
/**
|
|
291
|
+
* Configures the menu item for moving a view down.
|
|
292
|
+
*
|
|
293
|
+
* Set to `false` to exclude it.
|
|
294
|
+
*
|
|
295
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
296
|
+
* Translation key: `workbenchworkbench.move_tab_down.action`
|
|
297
|
+
*/
|
|
145
298
|
moveDown?: MenuItemConfig | false;
|
|
299
|
+
/**
|
|
300
|
+
* Configures the menu item for moving a view to the left.
|
|
301
|
+
*
|
|
302
|
+
* Set to `false` to exclude it.
|
|
303
|
+
*
|
|
304
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
305
|
+
* Translation key: `workbench.move_tab_to_the_left.action`
|
|
306
|
+
*/
|
|
146
307
|
moveLeft?: MenuItemConfig | false;
|
|
308
|
+
/**
|
|
309
|
+
* Configures the menu item for moving a view to a new window.
|
|
310
|
+
*
|
|
311
|
+
* Set to `false` to exclude it.
|
|
312
|
+
*
|
|
313
|
+
* The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
|
|
314
|
+
* Translation key: `workbench.move_tab_to_new_window.action`
|
|
315
|
+
*/
|
|
147
316
|
moveToNewWindow?: MenuItemConfig | false;
|
|
148
317
|
}
|
|
149
318
|
/**
|
|
@@ -160,6 +329,8 @@ export interface MenuItemConfig {
|
|
|
160
329
|
* Can be a string or a function that returns a string or a {@link Signal}.
|
|
161
330
|
*
|
|
162
331
|
* The function can call `inject` to get any required dependencies, or use `toSignal` to convert an observable to a signal.
|
|
332
|
+
*
|
|
333
|
+
* @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.
|
|
163
334
|
*/
|
|
164
335
|
text?: string | (() => string | Signal<string>);
|
|
165
336
|
accelerator?: string[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { WorkbenchStartup } from './startup/workbench-
|
|
1
|
+
import { WorkbenchStartup } from './startup/workbench-startup.service';
|
|
2
|
+
import { ɵWorkbenchService } from './ɵworkbench.service';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
/**
|
|
4
5
|
* Main entry point component of the SCION Workbench.
|
|
@@ -6,12 +7,18 @@ import * as i0 from "@angular/core";
|
|
|
6
7
|
export declare class WorkbenchComponent {
|
|
7
8
|
private _workbenchLauncher;
|
|
8
9
|
private _logger;
|
|
10
|
+
private readonly _workbenchRouter;
|
|
9
11
|
private _iframeOverlayHost;
|
|
10
12
|
private _viewDropZoneOverlayHost;
|
|
11
13
|
/** Splash to display during workbench startup. */
|
|
12
14
|
protected splash: import("@angular/cdk/portal").ComponentType<unknown>;
|
|
13
15
|
protected workbenchStartup: WorkbenchStartup;
|
|
16
|
+
protected workbenchService: ɵWorkbenchService;
|
|
14
17
|
constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Toggles layout maximization by pressing Ctrl+Shift+F12.
|
|
20
|
+
*/
|
|
21
|
+
private installMaximizeShortcutListener;
|
|
15
22
|
/**
|
|
16
23
|
* Starts the SCION Workbench. Has no effect if already started, e.g., in an app initializer or route guard.
|
|
17
24
|
*/
|
|
@@ -11,6 +11,10 @@ export declare const PART_ID_PREFIX = "part.";
|
|
|
11
11
|
* @see ViewId
|
|
12
12
|
*/
|
|
13
13
|
export declare const VIEW_ID_PREFIX = "view.";
|
|
14
|
+
/**
|
|
15
|
+
* Represents the id prefix of activities.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ACTIVITY_ID_PREFIX = "activity.";
|
|
14
18
|
/**
|
|
15
19
|
* Represents the id prefix of popups.
|
|
16
20
|
*/
|
package/lib/workbench.model.d.ts
CHANGED
|
@@ -205,6 +205,8 @@ export type WorkbenchPartActionFn = (part: WorkbenchPart) => WorkbenchPartAction
|
|
|
205
205
|
export type WorkbenchViewMenuItemFn = (view: WorkbenchView) => WorkbenchMenuItem | null;
|
|
206
206
|
/**
|
|
207
207
|
* Information about a workbench theme.
|
|
208
|
+
*
|
|
209
|
+
* @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.
|
|
208
210
|
*/
|
|
209
211
|
export interface WorkbenchTheme {
|
|
210
212
|
/**
|
|
@@ -1,36 +1,87 @@
|
|
|
1
1
|
import { EnvironmentProviders } from '@angular/core';
|
|
2
2
|
import { WorkbenchConfig } from './workbench-config';
|
|
3
3
|
/**
|
|
4
|
-
* Enables and configures the SCION Workbench
|
|
4
|
+
* Enables and configures the SCION Workbench, returning a set of dependency-injection providers to be registered in Angular.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* ### About
|
|
7
|
+
* SCION Workbench enables the creation of Angular web applications that require a flexible layout to display content side-by-side
|
|
7
8
|
* or stacked, all personalizable by the user via drag & drop. This type of layout is ideal for applications with non-linear workflows,
|
|
8
9
|
* enabling users to work on content in parallel.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
+
* An application can have multiple layouts, called perspectives. A perspective defines an arrangement of parts and views.
|
|
12
|
+
* Parts can be docked to the side or positioned relative to each other. Views are stacked in parts and can be dragged to other parts.
|
|
13
|
+
* Content can be displayed in both parts and views.
|
|
11
14
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* the user's workflow. Defining a main area is optional and recommended for applications requiring a dedicated and maximizable
|
|
15
|
-
* area for user interaction.
|
|
15
|
+
* Users can personalize the layout of a perspective and switch between perspectives. The workbench remembers the last layout of each perspective,
|
|
16
|
+
* restoring it the next time it is activated.
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
18
|
+
* A perspective typically has a main area part and other parts docked to the side, providing navigation and context-sensitive assistance to support
|
|
19
|
+
* the user's workflow. Initially empty or displaying a welcome page, the main area is where the workbench opens new views by default. Users can split
|
|
20
|
+
* the main area (or any other part) by dragging views side-by-side, vertically and horizontally, even across windows.
|
|
19
21
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
+
* Unlike any other part, the main area is shared between perspectives, and its layout is not reset when resetting perspectives. Having a main area and
|
|
23
|
+
* multiple perspectives is optional.
|
|
22
24
|
*
|
|
25
|
+
* ### Usage
|
|
23
26
|
* ```ts
|
|
24
|
-
* import {
|
|
27
|
+
* import {MAIN_AREA, provideWorkbench, WorkbenchLayoutFactory} from '@scion/workbench';
|
|
25
28
|
* import {provideRouter} from '@angular/router';
|
|
26
29
|
* import {provideAnimations} from '@angular/platform-browser/animations';
|
|
27
|
-
* import {
|
|
30
|
+
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
31
|
+
*
|
|
32
|
+
* bootstrapApplication(AppComponent, {
|
|
33
|
+
* providers: [
|
|
34
|
+
* provideWorkbench({
|
|
35
|
+
* layout: (factory: WorkbenchLayoutFactory) => factory
|
|
36
|
+
* .addPart(MAIN_AREA)
|
|
37
|
+
* .addPart('todos', {dockTo: 'left-top'}, {label: 'Todos', icon: 'checklist'})
|
|
38
|
+
* .navigatePart(MAIN_AREA, ['overview'])
|
|
39
|
+
* .navigatePart('todos', ['todos'])
|
|
40
|
+
* .activatePart('todos'),
|
|
41
|
+
* }),
|
|
42
|
+
* provideRouter([
|
|
43
|
+
* {path: 'overview', loadComponent: () => import('./overview/overview.component')},
|
|
44
|
+
* {path: 'todos', loadComponent: () => import('./todos/todos.component')},
|
|
45
|
+
* ]),
|
|
46
|
+
* provideAnimations(),
|
|
47
|
+
* ],
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* ### Startup
|
|
52
|
+
* The SCION Workbench starts automatically when the `<wb-workbench>` component is added to the DOM. Alternatively, the workbench can be
|
|
53
|
+
* started manually using the {@link WorkbenchLauncher}, such as in an app initializer or a route guard.
|
|
54
|
+
*
|
|
55
|
+
* Example of starting the workbench in an app initializer:
|
|
56
|
+
*
|
|
57
|
+
* ```ts
|
|
58
|
+
* import {provideWorkbench, WorkbenchLauncher} from '@scion/workbench';
|
|
59
|
+
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
60
|
+
* import {inject, provideAppInitializer} from '@angular/core';
|
|
61
|
+
*
|
|
62
|
+
* bootstrapApplication(AppComponent, {
|
|
63
|
+
* providers: [
|
|
64
|
+
* provideWorkbench(),
|
|
65
|
+
* provideAppInitializer(() => inject(WorkbenchLauncher).launch())
|
|
66
|
+
* ]
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* Starting the workbench in an app initializer will block Angular's app startup until the workbench is ready.
|
|
71
|
+
*
|
|
72
|
+
* ### Startup Hooks
|
|
73
|
+
* The application can hook into the startup process of the SCION Workbench by providing one or more initializers to the `provideWorkbenchInitializer()` function.
|
|
74
|
+
* Initializers execute at defined points during startup, enabling the application's controlled initialization.
|
|
75
|
+
*
|
|
76
|
+
* ```ts
|
|
77
|
+
* import {provideWorkbench, provideWorkbenchInitializer} from '@scion/workbench';
|
|
78
|
+
* import {bootstrapApplication} from '@angular/platform-browser';
|
|
79
|
+
* import {inject} from '@angular/core';
|
|
28
80
|
*
|
|
29
81
|
* bootstrapApplication(AppComponent, {
|
|
30
82
|
* providers: [
|
|
31
83
|
* provideWorkbench(),
|
|
32
|
-
*
|
|
33
|
-
* provideAnimations(), // required by the SCION Workbench
|
|
84
|
+
* provideWorkbenchInitializer(() => inject(SomeService).init()),
|
|
34
85
|
* ],
|
|
35
86
|
* });
|
|
36
87
|
* ```
|
|
@@ -3,29 +3,33 @@ import { WorkbenchPartActionFn, WorkbenchTheme, WorkbenchViewMenuItemFn } from '
|
|
|
3
3
|
import { ViewId, WorkbenchView } from './view/workbench-view.model';
|
|
4
4
|
import { WorkbenchPerspective, WorkbenchPerspectiveDefinition } from './perspective/workbench-perspective.model';
|
|
5
5
|
import { PartId, WorkbenchPart } from './part/workbench-part.model';
|
|
6
|
-
import { Signal } from '@angular/core';
|
|
6
|
+
import { Signal, WritableSignal } from '@angular/core';
|
|
7
7
|
import { WorkbenchLayout } from './layout/workbench-layout';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
/**
|
|
10
10
|
* The central class of the SCION Workbench.
|
|
11
11
|
*
|
|
12
|
-
* SCION Workbench enables the creation of Angular web applications that require a flexible layout to
|
|
12
|
+
* SCION Workbench enables the creation of Angular web applications that require a flexible layout to display content side-by-side
|
|
13
13
|
* or stacked, all personalizable by the user via drag & drop. This type of layout is ideal for applications with non-linear workflows,
|
|
14
14
|
* enabling users to work on content in parallel.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
* An application can have multiple layouts, called perspectives. A perspective defines an arrangement of parts and views.
|
|
17
|
+
* Parts can be docked to the side or positioned relative to each other. Views are stacked in parts and can be dragged to other parts.
|
|
18
|
+
* Content can be displayed in both parts and views.
|
|
17
19
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* the user's workflow. Defining a main area is optional and recommended for applications requiring a dedicated and maximizable
|
|
21
|
-
* area for user interaction.
|
|
20
|
+
* Users can personalize the layout of a perspective and switch between perspectives. The workbench remembers the last layout of each perspective,
|
|
21
|
+
* restoring it the next time it is activated.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* A perspective typically has a main area part and other parts docked to the side, providing navigation and context-sensitive assistance to support
|
|
24
|
+
* the user's workflow. Initially empty or displaying a welcome page, the main area is where the workbench opens new views by default. Users can split
|
|
25
|
+
* the main area (or any other part) by dragging views side-by-side, vertically and horizontally, even across windows.
|
|
26
|
+
*
|
|
27
|
+
* Unlike any other part, the main area is shared between perspectives, and its layout is not reset when resetting perspectives. Having a main area and
|
|
28
|
+
* multiple perspectives is optional.
|
|
25
29
|
*/
|
|
26
30
|
export declare abstract class WorkbenchService {
|
|
27
31
|
/**
|
|
28
|
-
* Provides the
|
|
32
|
+
* Provides the layout of the workbench.
|
|
29
33
|
*
|
|
30
34
|
* The layout is an immutable object. Modifications have no side effects. The layout can be modified using {@link WorkbenchRouter.navigate}.
|
|
31
35
|
*/
|
|
@@ -147,10 +151,41 @@ export declare abstract class WorkbenchService {
|
|
|
147
151
|
* See the documentation of `@scion/workbench` SCSS module for more information.
|
|
148
152
|
*
|
|
149
153
|
* @param theme - The name of the theme to switch to.
|
|
154
|
+
*
|
|
155
|
+
* @deprecated since version 19.0.0-beta.3. Switch theme using `WorkbenchService.settings.theme` signal. API will be removed in version 21.
|
|
150
156
|
*/
|
|
151
157
|
abstract switchTheme(theme: string): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Defines settings to adapt the workbench to personal preferences and working styles.
|
|
160
|
+
*
|
|
161
|
+
* Settings are stored in {@link WorkbenchConfig.storage} (defaults to local storage).
|
|
162
|
+
*/
|
|
163
|
+
abstract readonly settings: {
|
|
164
|
+
/**
|
|
165
|
+
* Specifies the workbench theme.
|
|
166
|
+
*
|
|
167
|
+
* Defaults to the `sci-theme` attribute set on the HTML root element, or to the user's OS color scheme preference if not set.
|
|
168
|
+
*
|
|
169
|
+
* Built-in themes: `scion-light` and `scion-dark`.
|
|
170
|
+
*/
|
|
171
|
+
theme: WritableSignal<string | null>;
|
|
172
|
+
/**
|
|
173
|
+
* Controls the alignment of the bottom docked panel.
|
|
174
|
+
*
|
|
175
|
+
* Defaults to the `--sci-workbench-layout-panel-align` design token, or `justify` if not set.
|
|
176
|
+
*/
|
|
177
|
+
panelAlignment: WritableSignal<'left' | 'right' | 'center' | 'justify'>;
|
|
178
|
+
/**
|
|
179
|
+
* Controls animation of docked panels.
|
|
180
|
+
*
|
|
181
|
+
* Defaults to the `--sci-workbench-layout-panel-animate` design token, or `true` if not set.
|
|
182
|
+
*/
|
|
183
|
+
panelAnimation: WritableSignal<boolean>;
|
|
184
|
+
};
|
|
152
185
|
/**
|
|
153
186
|
* Provides the current workbench theme, if any.
|
|
187
|
+
*
|
|
188
|
+
* @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.
|
|
154
189
|
*/
|
|
155
190
|
abstract readonly theme: Signal<WorkbenchTheme | null>;
|
|
156
191
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchService, never>;
|
|
@@ -2,12 +2,11 @@ import { Signal } from '@angular/core';
|
|
|
2
2
|
import { WorkbenchPartActionFn, WorkbenchTheme, WorkbenchViewMenuItemFn } from './workbench.model';
|
|
3
3
|
import { Disposable } from './common/disposable';
|
|
4
4
|
import { WorkbenchService } from './workbench.service';
|
|
5
|
-
import {
|
|
5
|
+
import { WorkbenchPerspectiveDefinition } from './perspective/workbench-perspective.model';
|
|
6
6
|
import { ɵWorkbenchView } from './view/ɵworkbench-view.model';
|
|
7
7
|
import { ɵWorkbenchPart } from './part/ɵworkbench-part.model';
|
|
8
8
|
import { ɵWorkbenchPerspective } from './perspective/ɵworkbench-perspective.model';
|
|
9
9
|
import { ViewId } from './view/workbench-view.model';
|
|
10
|
-
import { ɵWorkbenchLayout } from './layout/ɵworkbench-layout';
|
|
11
10
|
import { PartId } from './part/workbench-part.model';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
12
|
export declare class ɵWorkbenchService implements WorkbenchService {
|
|
@@ -18,15 +17,17 @@ export declare class ɵWorkbenchService implements WorkbenchService {
|
|
|
18
17
|
private readonly _viewMenuItemRegistry;
|
|
19
18
|
private readonly _viewRegistry;
|
|
20
19
|
private readonly _perspectiveService;
|
|
21
|
-
|
|
22
|
-
private readonly _workbenchThemeSwitcher;
|
|
23
|
-
readonly layout: Signal<ɵWorkbenchLayout>;
|
|
20
|
+
readonly layout: Signal<import("./layout/\u0275workbench-layout").ɵWorkbenchLayout>;
|
|
24
21
|
readonly perspectives: Signal<ɵWorkbenchPerspective[]>;
|
|
25
22
|
readonly parts: Signal<ɵWorkbenchPart[]>;
|
|
26
23
|
readonly views: Signal<ɵWorkbenchView[]>;
|
|
24
|
+
readonly activePerspective: Signal<ɵWorkbenchPerspective | undefined>;
|
|
27
25
|
readonly theme: Signal<WorkbenchTheme | null>;
|
|
28
|
-
readonly
|
|
29
|
-
|
|
26
|
+
readonly settings: {
|
|
27
|
+
theme: import("@angular/core").WritableSignal<string | null>;
|
|
28
|
+
panelAlignment: import("@angular/core").WritableSignal<"justify">;
|
|
29
|
+
panelAnimation: import("@angular/core").WritableSignal<true>;
|
|
30
|
+
};
|
|
30
31
|
/** @inheritDoc */
|
|
31
32
|
getPerspective(perspectiveId: string): ɵWorkbenchPerspective | null;
|
|
32
33
|
/** @inheritDoc */
|
|
@@ -47,6 +48,7 @@ export declare class ɵWorkbenchService implements WorkbenchService {
|
|
|
47
48
|
registerViewMenuItem(fn: WorkbenchViewMenuItemFn): Disposable;
|
|
48
49
|
/** @inheritDoc */
|
|
49
50
|
switchTheme(theme: string): Promise<void>;
|
|
51
|
+
private computeLegacyThemeObject;
|
|
50
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<ɵWorkbenchService, never>;
|
|
51
53
|
static ɵprov: i0.ɵɵInjectableDeclaration<ɵWorkbenchService>;
|
|
52
54
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scion/workbench",
|
|
3
|
-
"version": "19.0.0-beta.
|
|
4
|
-
"description": "SCION Workbench enables the creation of Angular web applications that require a flexible layout to
|
|
3
|
+
"version": "19.0.0-beta.3",
|
|
4
|
+
"description": "SCION Workbench enables the creation of Angular web applications that require a flexible layout to display content side-by-side or stacked, all personalizable by the user via drag & drop. This type of layout is ideal for applications with non-linear workflows, enabling users to work on content in parallel.",
|
|
5
5
|
"license": "EPL-2.0",
|
|
6
6
|
"private": false,
|
|
7
7
|
"publishConfig": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@angular/animations": "^19.0.0",
|
|
35
35
|
"@angular/forms": "^19.0.0",
|
|
36
36
|
"@angular/router": "^19.0.0",
|
|
37
|
-
"@scion/components": "^19.
|
|
37
|
+
"@scion/components": "^19.2.0",
|
|
38
38
|
"@scion/toolkit": "^1.6.0",
|
|
39
39
|
"@scion/microfrontend-platform": "^1.3.0",
|
|
40
40
|
"@scion/workbench-client": "^1.0.0-beta.26",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { MPart, MTreeNode } from '../layout/workbench-layout.model';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Returns given grid element, but only if visible.
|
|
6
|
-
*
|
|
7
|
-
* @see isGridElementVisible
|
|
8
|
-
*/
|
|
9
|
-
export declare class GridElementIfVisiblePipe implements PipeTransform {
|
|
10
|
-
transform(gridElement: MTreeNode | MPart | null | undefined): MTreeNode | MPart | null;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GridElementIfVisiblePipe, never>;
|
|
12
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<GridElementIfVisiblePipe, "wbGridElementIfVisible", true>;
|
|
13
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { WorkbenchMigration } from '../../migration/workbench-migration';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Migrates the workbench layout from version 6 to version 7.
|
|
5
|
-
*/
|
|
6
|
-
export declare class WorkbenchLayoutMigrationV7 implements WorkbenchMigration {
|
|
7
|
-
migrate(json: string): string;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMigrationV7, never>;
|
|
9
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMigrationV7>;
|
|
10
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { IntentClient } from '@scion/microfrontend-platform';
|
|
2
|
-
import { Logger } from '../../logging';
|
|
3
|
-
import { NotificationService } from '../../notification/notification.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Handles intents that refer to the built-in notification capability, allowing microfrontends to display simple text notifications.
|
|
7
|
-
*
|
|
8
|
-
* This class is constructed after connected to the SCION Microfrontend Platform via {@link MICROFRONTEND_PLATFORM_POST_STARTUP} DI token.
|
|
9
|
-
*
|
|
10
|
-
* @see WorkbenchHostManifestInterceptor
|
|
11
|
-
* @see MICROFRONTEND_PLATFORM_POST_STARTUP
|
|
12
|
-
*/
|
|
13
|
-
export declare class MicrofrontendNotificationIntentHandler {
|
|
14
|
-
constructor(intentClient: IntentClient, notificationService: NotificationService, logger: Logger);
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MicrofrontendNotificationIntentHandler, never>;
|
|
16
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<MicrofrontendNotificationIntentHandler>;
|
|
17
|
-
}
|