@scion/workbench 18.0.0-beta.2 → 18.0.0-beta.4
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/esm2022/lib/common/class-list.mjs +67 -29
- package/esm2022/lib/common/objects.util.mjs +7 -1
- package/esm2022/lib/common/operators.mjs +1 -12
- package/esm2022/lib/common/uid.util.mjs +22 -0
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
- package/esm2022/lib/content-projection/content-projection.directive.mjs +16 -17
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -8
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +22 -20
- package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +71 -26
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +25 -23
- package/esm2022/lib/executor/latest-task-executor.mjs +55 -0
- package/esm2022/lib/executor/single-task-executor.mjs +7 -17
- package/esm2022/lib/filter-field/filter-field.component.mjs +5 -5
- package/esm2022/lib/layout/grid-element/grid-element.component.mjs +6 -16
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +5 -6
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v5.model.mjs +11 -0
- package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
- package/esm2022/lib/layout/migration/workbench-layout-migration-v5.service.mjs +67 -0
- package/esm2022/lib/layout/stringifier.mjs +70 -0
- package/esm2022/lib/layout/workbench-layout.component.mjs +4 -5
- package/esm2022/lib/layout/workbench-layout.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.model.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.service.mjs +6 -7
- package/esm2022/lib/layout/workench-layout-serializer.service.mjs +16 -25
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +2 -2
- package/esm2022/lib/layout//311/265workbench-layout.mjs +45 -48
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
- package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +22 -6
- package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +28 -21
- package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +11 -1
- package/esm2022/lib/microfrontend-platform/manifest-object-cache.service.mjs +63 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +14 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +7 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +3 -2
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.mjs +39 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.mjs +120 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.mjs +55 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.mjs +19 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +11 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +4 -15
- package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +11 -27
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +49 -22
- package/esm2022/lib/microfrontend-platform/public_api.mjs +2 -1
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +18 -16
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +28 -6
- package/esm2022/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.mjs +32 -0
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +25 -7
- package/esm2022/lib/notification/notification-list.component.mjs +4 -8
- package/esm2022/lib/notification/notification.component.mjs +4 -5
- package/esm2022/lib/page-not-found/format-url.pipe.mjs +2 -2
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +7 -13
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +56 -75
- package/esm2022/lib/part/part-portal.pipe.mjs +8 -8
- package/esm2022/lib/part/part.component.mjs +32 -42
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -6
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +2 -2
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +27 -28
- package/esm2022/lib/part/view-list/view-list.component.mjs +41 -48
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +20 -24
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +15 -17
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +77 -88
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -4
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +14 -15
- package/esm2022/lib/part/workbench-part-action.registry.mjs +18 -42
- package/esm2022/lib/part/workbench-part.model.mjs +10 -1
- package/esm2022/lib/part/workbench-part.registry.mjs +11 -45
- package/esm2022/lib/part//311/265workbench-part.model.mjs +71 -55
- package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +3 -3
- package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
- package/esm2022/lib/perspective/workbench-perspective.registry.mjs +11 -43
- package/esm2022/lib/perspective/workbench-perspective.service.mjs +71 -62
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +40 -28
- package/esm2022/lib/popup/popup.component.mjs +3 -3
- package/esm2022/lib/popup/popup.config.mjs +23 -13
- package/esm2022/lib/popup/popup.service.mjs +48 -45
- package/esm2022/lib/portal/wb-component-portal.mjs +3 -1
- package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
- package/esm2022/lib/routing/public_api.mjs +1 -2
- package/esm2022/lib/routing/routing.model.mjs +1 -1
- package/esm2022/lib/routing/routing.util.mjs +210 -0
- package/esm2022/lib/routing/workbench-auxiliary-route-installer.service.mjs +110 -0
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -10
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-navigational-states.mjs +1 -1
- package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +138 -147
- package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +58 -0
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +42 -32
- package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
- package/esm2022/lib/testing/workbench.provider.mjs +2 -2
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +15 -19
- package/esm2022/lib/view/view-move-handler.service.mjs +11 -11
- package/esm2022/lib/view/view-portal.pipe.mjs +7 -7
- package/esm2022/lib/view/view.component.mjs +42 -41
- package/esm2022/lib/view/workbench-view-route-guards.mjs +5 -5
- package/esm2022/lib/view/workbench-view.model.mjs +1 -1
- package/esm2022/lib/view/workbench-view.registry.mjs +11 -45
- package/esm2022/lib/view//311/265workbench-view.model.mjs +136 -144
- package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +2 -2
- package/esm2022/lib/view-dnd/view-drag.service.mjs +1 -1
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +18 -20
- package/esm2022/lib/workbench-config.mjs +1 -1
- package/esm2022/lib/workbench-id.mjs +3 -3
- package/esm2022/lib/workbench.component.mjs +2 -2
- package/esm2022/lib/workbench.constants.mjs +1 -5
- package/esm2022/lib/workbench.model.mjs +1 -1
- package/esm2022/lib/workbench.provider.mjs +3 -9
- package/esm2022/lib/workbench.service.mjs +1 -1
- package/esm2022/lib//311/265workbench.service.mjs +31 -42
- package/fesm2022/scion-workbench.mjs +2586 -1996
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/common/class-list.d.ts +35 -22
- package/lib/common/objects.util.d.ts +4 -0
- package/lib/common/operators.d.ts +1 -6
- package/lib/common/uid.util.d.ts +9 -0
- package/lib/dialog/workbench-dialog.component.d.ts +3 -2
- package/lib/dialog/workbench-dialog.d.ts +57 -13
- package/lib/dialog//311/265workbench-dialog.d.ts +36 -17
- package/lib/dialog//311/265workbench-dialog.service.d.ts +10 -11
- package/lib/executor/latest-task-executor.d.ts +26 -0
- package/lib/executor/single-task-executor.d.ts +3 -6
- package/lib/filter-field/filter-field.component.d.ts +1 -1
- package/lib/layout/grid-element/grid-element.component.d.ts +1 -8
- package/lib/layout/migration/model/workbench-layout-migration-v5.model.d.ts +36 -0
- package/lib/layout/migration/workbench-layout-migration-v5.service.d.ts +12 -0
- package/lib/layout/stringifier.d.ts +26 -0
- package/lib/layout/workbench-layout.d.ts +9 -6
- package/lib/layout/workbench-layout.model.d.ts +5 -3
- package/lib/layout/workbench-layout.service.d.ts +4 -4
- package/lib/layout/workench-layout-serializer.service.d.ts +13 -15
- package/lib/layout//311/265workbench-layout.d.ts +13 -16
- package/lib/layout//311/265workbench-layout.factory.d.ts +2 -2
- package/lib/microfrontend-platform/common/microfrontend.util.d.ts +5 -1
- package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -3
- package/lib/microfrontend-platform/manifest-object-cache.service.d.ts +33 -0
- package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -5
- package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +1 -1
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.d.ts +10 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.d.ts +24 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.d.ts +20 -0
- package/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.d.ts +9 -0
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.d.ts +4 -8
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +0 -4
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +5 -12
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +7 -2
- package/lib/microfrontend-platform/public_api.d.ts +1 -0
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.d.ts +1 -1
- package/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.d.ts +3 -7
- package/lib/microfrontend-platform/routing/microfrontend-view-routes.d.ts +9 -2
- package/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.d.ts +11 -0
- package/lib/notification/notification-list.component.d.ts +0 -2
- package/lib/part/part-action-bar/part-action-bar.component.d.ts +4 -1
- package/lib/part/part-action-bar/part-action.directive.d.ts +2 -2
- package/lib/part/part-bar/part-bar.component.d.ts +8 -12
- package/lib/part/part-portal.pipe.d.ts +3 -5
- package/lib/part/part.component.d.ts +9 -12
- package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu.service.d.ts +8 -12
- package/lib/part/view-list/view-list.component.d.ts +8 -21
- package/lib/part/view-list-button/view-list-button.component.d.ts +8 -11
- package/lib/part/view-list-item/view-list-item.component.d.ts +3 -7
- package/lib/part/view-tab/view-tab.component.d.ts +17 -28
- package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +4 -4
- package/lib/part/workbench-part-action.registry.d.ts +3 -23
- package/lib/part/workbench-part.model.d.ts +8 -27
- package/lib/part/workbench-part.registry.d.ts +3 -26
- package/lib/part//311/265workbench-part.model.d.ts +24 -17
- package/lib/perspective/workbench-perspective.model.d.ts +18 -25
- package/lib/perspective/workbench-perspective.registry.d.ts +3 -26
- package/lib/perspective/workbench-perspective.service.d.ts +16 -14
- package/lib/perspective//311/265workbench-perspective.model.d.ts +30 -20
- package/lib/popup/popup.config.d.ts +2 -0
- package/lib/popup/popup.service.d.ts +12 -14
- package/lib/registry/workbench-object-registry.d.ts +10 -6
- package/lib/routing/public_api.d.ts +1 -2
- package/lib/routing/routing.model.d.ts +25 -13
- package/lib/routing/{router.util.d.ts → routing.util.d.ts} +24 -1
- package/lib/routing/{workbench-auxiliary-routes-registrator.service.d.ts → workbench-auxiliary-route-installer.service.d.ts} +10 -3
- package/lib/routing/workbench-layout-differ.d.ts +1 -2
- package/lib/routing/workbench-navigational-states.d.ts +3 -3
- package/lib/routing/workbench-url-observer.service.d.ts +31 -55
- package/lib/routing/workbench-view-outlet-differ.d.ts +32 -0
- package/lib/routing//311/265workbench-router.service.d.ts +10 -16
- package/lib/testing/workbench.provider.d.ts +3 -1
- package/lib/theme/workbench-theme-switcher.service.d.ts +4 -6
- package/lib/view/view-portal.pipe.d.ts +1 -3
- package/lib/view/view.component.d.ts +9 -10
- package/lib/view/workbench-view-route-guards.d.ts +2 -2
- package/lib/view/workbench-view.model.d.ts +49 -35
- package/lib/view/workbench-view.registry.d.ts +3 -27
- package/lib/view//311/265workbench-view.model.d.ts +58 -64
- package/lib/view-dnd/view-drag.service.d.ts +5 -2
- package/lib/workbench-config.d.ts +2 -2
- package/lib/workbench.constants.d.ts +0 -5
- package/lib/workbench.model.d.ts +6 -2
- package/lib/workbench.service.d.ts +58 -56
- package/lib//311/265workbench.service.d.ts +18 -31
- package/package.json +3 -3
- package/esm2022/lib/common/filter-by-predicate.pipe.mjs +0 -27
- package/esm2022/lib/common/filter-by-text.pipe.mjs +0 -39
- package/esm2022/lib/common/uuid.util.mjs +0 -17
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +0 -41
- package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +0 -26
- package/esm2022/lib/routing/router.util.mjs +0 -126
- package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +0 -94
- package/lib/common/filter-by-predicate.pipe.d.ts +0 -10
- package/lib/common/filter-by-text.pipe.d.ts +0 -12
- package/lib/common/uuid.util.d.ts +0 -8
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.d.ts +0 -10
- package/lib/part/part-action-bar/part-action-filter.pipe.d.ts +0 -11
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ɵWorkbenchPerspective } from './ɵworkbench-perspective.model';
|
|
2
|
+
import { WorkbenchPerspectiveDefinition } from './workbench-perspective.model';
|
|
3
3
|
import { WorkbenchInitializer } from '../startup/workbench-initializer';
|
|
4
|
-
import { Logger } from '../logging/logger';
|
|
5
|
-
import { WorkbenchStartup } from '../startup/workbench-launcher.service';
|
|
6
|
-
import { WorkbenchPerspectiveRegistry } from './workbench-perspective.registry';
|
|
7
|
-
import { WorkbenchPerspectiveStorageService } from './workbench-perspective-storage.service';
|
|
8
4
|
import * as i0 from "@angular/core";
|
|
9
5
|
/**
|
|
10
6
|
* Enables registration and activation of perspectives.
|
|
11
7
|
*/
|
|
12
8
|
export declare class WorkbenchPerspectiveService implements WorkbenchInitializer {
|
|
13
|
-
private
|
|
14
|
-
private _perspectiveRegistry;
|
|
15
|
-
private _environmentInjector;
|
|
16
|
-
private
|
|
17
|
-
|
|
9
|
+
private readonly _workbenchConfig;
|
|
10
|
+
private readonly _perspectiveRegistry;
|
|
11
|
+
private readonly _environmentInjector;
|
|
12
|
+
private readonly _applicationInitStatus;
|
|
13
|
+
private readonly _workbenchPerspectiveStorageService;
|
|
14
|
+
readonly activePerspective: import("@angular/core").WritableSignal<ɵWorkbenchPerspective | null>;
|
|
18
15
|
init(): Promise<void>;
|
|
19
16
|
/**
|
|
20
17
|
* Registers perspectives configured in {@link WorkbenchConfig}.
|
|
@@ -29,6 +26,7 @@ export declare class WorkbenchPerspectiveService implements WorkbenchInitializer
|
|
|
29
26
|
* Registers the given perspective to arrange views around the main area.
|
|
30
27
|
*/
|
|
31
28
|
registerPerspective(definition: WorkbenchPerspectiveDefinition): Promise<void>;
|
|
29
|
+
private createPerspective;
|
|
32
30
|
/**
|
|
33
31
|
* Switches to the specified perspective. The main area will not change, if any.
|
|
34
32
|
*
|
|
@@ -45,13 +43,17 @@ export declare class WorkbenchPerspectiveService implements WorkbenchInitializer
|
|
|
45
43
|
*/
|
|
46
44
|
resetPerspective(): Promise<void>;
|
|
47
45
|
/**
|
|
48
|
-
* Activates the initial perspective
|
|
46
|
+
* Activates the initial perspective.
|
|
49
47
|
*/
|
|
50
48
|
private activateInitialPerspective;
|
|
51
49
|
/**
|
|
52
|
-
*
|
|
50
|
+
* Determines which perspective to activate, with the following precedence:
|
|
51
|
+
*
|
|
52
|
+
* 1. Perspective defined as window name.
|
|
53
|
+
* 2. Perspective defined in storage.
|
|
54
|
+
* 3. Perspective configured in the workbench config.
|
|
53
55
|
*/
|
|
54
|
-
private
|
|
56
|
+
private determineInitialPerspective;
|
|
55
57
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchPerspectiveService, never>;
|
|
56
58
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchPerspectiveService>;
|
|
57
59
|
}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
|
+
import { InjectionToken, Injector, Signal, WritableSignal } from '@angular/core';
|
|
1
2
|
import { WorkbenchPerspective, WorkbenchPerspectiveDefinition } from './workbench-perspective.model';
|
|
2
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Provides the activated perspective.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ACTIVE_PERSPECTIVE: InjectionToken<WritableSignal<ɵWorkbenchPerspective | null>>;
|
|
3
7
|
/**
|
|
4
8
|
* @inheritDoc
|
|
5
9
|
*/
|
|
6
10
|
export declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
private _initialLayoutFn;
|
|
14
|
-
private
|
|
15
|
-
private _perspectiveViewConflictResolver;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
id: string;
|
|
20
|
-
transient: boolean;
|
|
21
|
-
data: {
|
|
11
|
+
private readonly _perspectiveEnvironmentInjector;
|
|
12
|
+
private readonly _workbenchLayoutFactory;
|
|
13
|
+
private readonly _workbenchGridMerger;
|
|
14
|
+
private readonly _workbenchPerspectiveStorageService;
|
|
15
|
+
private readonly _workbenchLayoutService;
|
|
16
|
+
private readonly _workbenchRouter;
|
|
17
|
+
private readonly _initialLayoutFn;
|
|
18
|
+
private readonly _activePerspective;
|
|
19
|
+
private readonly _perspectiveViewConflictResolver;
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly transient: boolean;
|
|
22
|
+
readonly data: {
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
};
|
|
24
|
-
active
|
|
25
|
+
readonly active: Signal<boolean>;
|
|
26
|
+
private _initialPerspectiveLayout;
|
|
27
|
+
private _perspectiveLayout;
|
|
25
28
|
constructor(definition: WorkbenchPerspectiveDefinition);
|
|
26
29
|
/**
|
|
27
30
|
* Activates this perspective.
|
|
@@ -31,6 +34,10 @@ export declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
|
31
34
|
* Resets this perspective to its initial layout.
|
|
32
35
|
*/
|
|
33
36
|
reset(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Reference to the handle's injector. The injector will be destroyed when unregistering the perspective.
|
|
39
|
+
*/
|
|
40
|
+
get injector(): Injector;
|
|
34
41
|
/**
|
|
35
42
|
* Creates layout with the workbench grid of this perspective and the main area of the current layout.
|
|
36
43
|
*
|
|
@@ -39,15 +46,18 @@ export declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
|
39
46
|
* changing the layout of this perspective if necessary.
|
|
40
47
|
*/
|
|
41
48
|
private createLayoutForActivation;
|
|
42
|
-
get active(): boolean;
|
|
43
49
|
/**
|
|
44
50
|
* Creates the initial layout of this perspective as defined in the perspective definition.
|
|
45
51
|
*/
|
|
46
52
|
private createInitialPerspectiveLayout;
|
|
47
53
|
/**
|
|
48
|
-
*
|
|
54
|
+
* Activates the first view of each part if not specified.
|
|
55
|
+
*/
|
|
56
|
+
private ensureActiveView;
|
|
57
|
+
/**
|
|
58
|
+
* Sets up automatic persistence of the perspective layout on every layout change.
|
|
49
59
|
*/
|
|
50
|
-
private
|
|
60
|
+
private installLayoutPersister;
|
|
51
61
|
/**
|
|
52
62
|
* Loads the layout of this perspective from storage, applying necessary migrations if the layout is outdated.
|
|
53
63
|
* Returns `null` if not stored or could not be deserialized.
|
|
@@ -166,6 +166,8 @@ export declare abstract class Popup<T = any> {
|
|
|
166
166
|
abstract readonly size: PopupSize | undefined;
|
|
167
167
|
/**
|
|
168
168
|
* Provides information about the context in which this popup was opened.
|
|
169
|
+
*
|
|
170
|
+
* @deprecated since version 18.0.0-beta.4; Inject {@link WorkbenchView} instead.
|
|
169
171
|
*/
|
|
170
172
|
abstract readonly referrer: PopupReferrer;
|
|
171
173
|
/**
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { Injector, NgZone } from '@angular/core';
|
|
2
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
3
1
|
import { PopupConfig } from './popup.config';
|
|
4
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
5
|
-
import { WorkbenchViewRegistry } from '../view/workbench-view.registry';
|
|
6
|
-
import { ɵWorkbenchView } from '../view/ɵworkbench-view.model';
|
|
7
2
|
import * as i0 from "@angular/core";
|
|
8
3
|
/**
|
|
9
4
|
* Allows displaying a component in a workbench popup.
|
|
@@ -14,14 +9,13 @@ import * as i0 from "@angular/core";
|
|
|
14
9
|
* Unlike views, popups are not part of the persistent Workbench navigation, meaning that popups do not survive a page reload.
|
|
15
10
|
*/
|
|
16
11
|
export declare class PopupService {
|
|
17
|
-
private
|
|
18
|
-
private _overlay;
|
|
19
|
-
private _focusManager;
|
|
20
|
-
private _viewRegistry;
|
|
21
|
-
private _zone;
|
|
22
|
-
private _document;
|
|
23
|
-
private _view
|
|
24
|
-
constructor(_injector: Injector, _overlay: Overlay, _focusManager: FocusMonitor, _viewRegistry: WorkbenchViewRegistry, _zone: NgZone, _document: Document, _view?: ɵWorkbenchView | undefined);
|
|
12
|
+
private readonly _environmentInjector;
|
|
13
|
+
private readonly _overlay;
|
|
14
|
+
private readonly _focusManager;
|
|
15
|
+
private readonly _viewRegistry;
|
|
16
|
+
private readonly _zone;
|
|
17
|
+
private readonly _document;
|
|
18
|
+
private readonly _view;
|
|
25
19
|
/**
|
|
26
20
|
* Displays the specified component in a popup.
|
|
27
21
|
*
|
|
@@ -48,6 +42,10 @@ export declare class PopupService {
|
|
|
48
42
|
* - resolves to `undefined` if closed without a result
|
|
49
43
|
*/
|
|
50
44
|
open<R>(config: PopupConfig): Promise<R>;
|
|
45
|
+
/**
|
|
46
|
+
* Creates the popup handle.
|
|
47
|
+
*/
|
|
48
|
+
private createPopup;
|
|
51
49
|
private setPopupAlignCssClass;
|
|
52
50
|
/**
|
|
53
51
|
* Closes the popup depending on the configured popup closing strategy.
|
|
@@ -76,6 +74,6 @@ export declare class PopupService {
|
|
|
76
74
|
* Maps the passed popup origin, which is relative to the given viewport, to a page coordinate.
|
|
77
75
|
*/
|
|
78
76
|
private mapPopupOriginToPageCoordinate;
|
|
79
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PopupService,
|
|
77
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PopupService, never>;
|
|
80
78
|
static ɵprov: i0.ɵɵInjectableDeclaration<PopupService>;
|
|
81
79
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
/**
|
|
3
2
|
* Provides a registry for workbench model objects.
|
|
4
3
|
*/
|
|
@@ -7,18 +6,23 @@ export declare class WorkbenchObjectRegistry<KEY, T> {
|
|
|
7
6
|
private readonly _objectsById;
|
|
8
7
|
private readonly _keyFn;
|
|
9
8
|
private readonly _nullObjectErrorFn;
|
|
10
|
-
private readonly
|
|
11
|
-
readonly objects
|
|
9
|
+
private readonly _onUnregister;
|
|
10
|
+
readonly objects: import("@angular/core").Signal<T[]>;
|
|
12
11
|
/**
|
|
13
12
|
* Creates an instance of the registry.
|
|
14
13
|
*
|
|
14
|
+
* This registry must be constructed within an injection context. Destroying the injection context will also destroy the registry,
|
|
15
|
+
* invoking the specified `onUnregister` function for each object in the registry.
|
|
16
|
+
*
|
|
15
17
|
* @param config - Controls the creation of the registry.
|
|
16
18
|
* @param config.keyFn - Function to extract the key of an object.
|
|
17
19
|
* @param config.nullObjectErrorFn - Function to provide an error when looking up an object not contained in the registry.
|
|
20
|
+
* @param config.onUnregister - Function invoked when an object is unregistered.
|
|
18
21
|
*/
|
|
19
22
|
constructor(config: {
|
|
20
23
|
keyFn: (object: T) => KEY;
|
|
21
|
-
nullObjectErrorFn
|
|
24
|
+
nullObjectErrorFn?: (key: KEY) => Error;
|
|
25
|
+
onUnregister?: (object: T) => void;
|
|
22
26
|
});
|
|
23
27
|
/**
|
|
24
28
|
* Registers given object, replacing any previously registered object with the same key.
|
|
@@ -40,9 +44,9 @@ export declare class WorkbenchObjectRegistry<KEY, T> {
|
|
|
40
44
|
*/
|
|
41
45
|
has(key: KEY): boolean;
|
|
42
46
|
/**
|
|
43
|
-
*
|
|
47
|
+
* Indicates whether this registry is empty.
|
|
44
48
|
*/
|
|
45
|
-
|
|
49
|
+
isEmpty(): boolean;
|
|
46
50
|
/**
|
|
47
51
|
* Clears this registry.
|
|
48
52
|
*/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { WorkbenchRouter } from './workbench-router.service';
|
|
2
2
|
export { WorkbenchRouterLinkDirective } from './workbench-router-link.directive';
|
|
3
|
-
export { WorkbenchAuxiliaryRoutesRegistrator } from './workbench-auxiliary-routes-registrator.service';
|
|
4
3
|
export { WorkbenchRouteData } from './workbench-route-data';
|
|
5
|
-
export { Commands,
|
|
4
|
+
export { Commands, NavigationData, NavigationState, WorkbenchNavigationExtras, NavigateFn } from './routing.model';
|
|
@@ -43,14 +43,20 @@ export interface WorkbenchNavigationExtras extends NavigationExtras {
|
|
|
43
43
|
*/
|
|
44
44
|
position?: number | 'start' | 'end' | 'before-active-view' | 'after-active-view';
|
|
45
45
|
/**
|
|
46
|
-
* Associates
|
|
46
|
+
* Associates data with a view navigation.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
* Therefore, a view must be able to restore its state without relying on navigational state.
|
|
48
|
+
* Unlike matrix parameters, navigation data is stored in the layout and not added to the path, allowing data to be passed to empty path navigations.
|
|
50
49
|
*
|
|
51
|
-
*
|
|
50
|
+
* Data must be JSON serializable. Data can be read from {@link WorkbenchView.navigationData}.
|
|
52
51
|
*/
|
|
53
|
-
|
|
52
|
+
data?: NavigationData;
|
|
53
|
+
/**
|
|
54
|
+
* Passes state to a view navigation.
|
|
55
|
+
*
|
|
56
|
+
* State is not persistent, unlike {@link data}, it is only added to the browser's session history to support back/forward browser navigation.
|
|
57
|
+
* State can be read from {@link WorkbenchView.navigationState} or from the browser's session history via `history.state`.
|
|
58
|
+
*/
|
|
59
|
+
state?: NavigationState;
|
|
54
60
|
/**
|
|
55
61
|
* Closes views that match the specified path and navigation hint. Matrix parameters do not affect view resolution.
|
|
56
62
|
* The path supports the asterisk wildcard segment (`*`) to match views with any value in a segment.
|
|
@@ -84,20 +90,26 @@ export type ViewOutlets = {
|
|
|
84
90
|
[viewId: ViewId]: UrlSegment[];
|
|
85
91
|
};
|
|
86
92
|
/**
|
|
87
|
-
*
|
|
93
|
+
* States associated with view navigations.
|
|
88
94
|
*/
|
|
89
|
-
export type
|
|
90
|
-
[viewId: ViewId]:
|
|
95
|
+
export type NavigationStates = {
|
|
96
|
+
[viewId: ViewId]: NavigationState;
|
|
91
97
|
};
|
|
92
98
|
/**
|
|
93
|
-
* State
|
|
99
|
+
* State passed to a view navigation.
|
|
94
100
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
101
|
+
* State is not persistent, unlike {@link data}, it is only added to the browser's session history to support back/forward browser navigation.
|
|
102
|
+
* State can be read from {@link WorkbenchView.navigationState} or from the browser's session history via `history.state`.
|
|
103
|
+
*/
|
|
104
|
+
export type NavigationState = {
|
|
105
|
+
[key: string]: unknown;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Data associated with a view navigation.
|
|
97
109
|
*
|
|
98
|
-
*
|
|
110
|
+
* Data can be read from {@link WorkbenchView.navigationData}. Data must be JSON serializable.
|
|
99
111
|
*/
|
|
100
|
-
export type
|
|
112
|
+
export type NavigationData = {
|
|
101
113
|
[key: string]: unknown;
|
|
102
114
|
};
|
|
103
115
|
/**
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ActivatedRoute, ActivatedRouteSnapshot, OutletContext, UrlSegment, UrlTree } from '@angular/router';
|
|
2
2
|
import { Commands } from '../routing/routing.model';
|
|
3
3
|
import { ViewId } from '../view/workbench-view.model';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
4
5
|
/**
|
|
5
6
|
* Provides utility functions for router operations.
|
|
6
7
|
*/
|
|
7
|
-
export declare const
|
|
8
|
+
export declare const Routing: {
|
|
8
9
|
/**
|
|
9
10
|
* Converts given URL segments into an array of commands that can be passed to the Angular router for navigation.
|
|
10
11
|
*/
|
|
@@ -61,4 +62,26 @@ export declare const RouterUtils: {
|
|
|
61
62
|
* Tests if given route has an empty path from root.
|
|
62
63
|
*/
|
|
63
64
|
readonly hasEmptyPathFromRoot: (route: ActivatedRoute) => boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Observes the route activation for the specified outlet.
|
|
67
|
+
*
|
|
68
|
+
* The observable emits after the previous component has been destroyed (if any) but before constructing the new component.
|
|
69
|
+
*
|
|
70
|
+
* Options to control when to emit:
|
|
71
|
+
* - `routeChange`: Emit only when navigating the outlet to a different route.
|
|
72
|
+
* - `routeOrParamChange`: Emit when navigating the outlet to a different route or changing params (named path params or matrix params).
|
|
73
|
+
* - `always`: Emit at every navigation, even if the outlet is not the target of the navigation.
|
|
74
|
+
*
|
|
75
|
+
* This method must be called within an injection context.
|
|
76
|
+
*
|
|
77
|
+
* Note: Listening for route activations/deactivations on the router outlet alone is insufficient for nested routes, as the outlet does not report
|
|
78
|
+
* activations/deactivations of child routes.
|
|
79
|
+
*
|
|
80
|
+
* @param outlet - Specifies the outlet to observe.
|
|
81
|
+
* @param options - Controls when to emit the observable.
|
|
82
|
+
* @return An observable emitting a tuple of the previous and current route snapshots.
|
|
83
|
+
*/
|
|
84
|
+
readonly activatedRoute$: (outlet: string, options: {
|
|
85
|
+
emitOn: 'routeChange' | 'routeOrParamChange' | 'always';
|
|
86
|
+
}) => Observable<[ActivatedRouteSnapshot | null, ActivatedRouteSnapshot]>;
|
|
64
87
|
};
|
|
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
/**
|
|
6
6
|
* Facilitates the registration of auxiliary routes of top-level routes.
|
|
7
7
|
*/
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class WorkbenchAuxiliaryRouteInstaller {
|
|
9
9
|
private _workbenchConfig;
|
|
10
10
|
private _router;
|
|
11
11
|
constructor(_workbenchConfig: WorkbenchConfig, _router: Router);
|
|
@@ -24,8 +24,8 @@ export declare class WorkbenchAuxiliaryRoutesRegistrator {
|
|
|
24
24
|
* Replaces the router configuration to install or uninstall auxiliary routes.
|
|
25
25
|
*/
|
|
26
26
|
private replaceRouterConfig;
|
|
27
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
28
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchAuxiliaryRouteInstaller, never>;
|
|
28
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchAuxiliaryRouteInstaller>;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Configures auxiliary routes.
|
|
@@ -43,3 +43,10 @@ export interface AuxiliaryRouteConfig {
|
|
|
43
43
|
* Can be injected in a `CanMatch` guard to obtain a reference to the workbench element.
|
|
44
44
|
*/
|
|
45
45
|
export declare const WORKBENCH_AUXILIARY_ROUTE_OUTLET: InjectionToken<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Component to display if the outlet has not yet been navigated or no navigation information is available.
|
|
48
|
+
*/
|
|
49
|
+
export declare class BlankComponent {
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BlankComponent, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BlankComponent, "wb-blank", never, {}, {}, never, never, true, never>;
|
|
52
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { IterableChanges, IterableDiffers } from '@angular/core';
|
|
2
2
|
import { ɵWorkbenchLayout } from '../layout/ɵworkbench-layout';
|
|
3
|
-
import { UrlTree } from '@angular/router';
|
|
4
3
|
import { ViewId } from '../view/workbench-view.model';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
/**
|
|
@@ -13,7 +12,7 @@ export declare class WorkbenchLayoutDiffer {
|
|
|
13
12
|
/**
|
|
14
13
|
* Computes differences in the layout since last time {@link WorkbenchLayoutDiffer#diff} was invoked.
|
|
15
14
|
*/
|
|
16
|
-
diff(workbenchLayout: ɵWorkbenchLayout | null
|
|
15
|
+
diff(workbenchLayout: ɵWorkbenchLayout | null): WorkbenchLayoutDiff;
|
|
17
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutDiffer, never>;
|
|
18
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutDiffer>;
|
|
19
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Navigation } from '@angular/router';
|
|
2
|
-
import {
|
|
2
|
+
import { NavigationStates } from './routing.model';
|
|
3
3
|
/**
|
|
4
4
|
* Provides methods to associate {@link WorkbenchNavigationalState} with a navigation.
|
|
5
5
|
*/
|
|
@@ -30,7 +30,7 @@ export interface WorkbenchNavigationalState {
|
|
|
30
30
|
*/
|
|
31
31
|
maximized: boolean;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Provides navigation state of views contained in the workbench layout.
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
navigationStates: NavigationStates;
|
|
36
36
|
}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
import { Router } from '@angular/router';
|
|
2
|
-
import { EnvironmentInjector } from '@angular/core';
|
|
3
|
-
import { WorkbenchAuxiliaryRoutesRegistrator } from './workbench-auxiliary-routes-registrator.service';
|
|
4
|
-
import { WorkbenchViewRegistry } from '../view/workbench-view.registry';
|
|
5
|
-
import { WorkbenchPartRegistry } from '../part/workbench-part.registry';
|
|
6
|
-
import { WorkbenchLayoutService } from '../layout/workbench-layout.service';
|
|
7
|
-
import { WorkbenchLayoutDiffer } from './workbench-layout-differ';
|
|
8
|
-
import { WorkbenchPopupDiffer } from './workbench-popup-differ';
|
|
9
|
-
import { Logger } from '../logging';
|
|
10
|
-
import { ɵWorkbenchLayoutFactory } from '../layout/ɵworkbench-layout.factory';
|
|
11
|
-
import { WorkbenchDialogDiffer } from './workbench-dialog-differ';
|
|
12
|
-
import { ɵWorkbenchRouter } from './ɵworkbench-router.service';
|
|
13
|
-
import { WorkbenchMessageBoxDiffer } from './workbench-message-box-differ';
|
|
14
1
|
import * as i0 from "@angular/core";
|
|
15
2
|
/**
|
|
16
3
|
* Tracks the browser URL for workbench layout changes.
|
|
@@ -22,20 +9,21 @@ import * as i0 from "@angular/core";
|
|
|
22
9
|
* - Parses the serialized layout and injects it into {@link WorkbenchLayoutService}.
|
|
23
10
|
*/
|
|
24
11
|
export declare class WorkbenchUrlObserver {
|
|
25
|
-
private _router;
|
|
26
|
-
private
|
|
27
|
-
private _viewRegistry;
|
|
28
|
-
private _partRegistry;
|
|
29
|
-
private _workbenchLayoutService;
|
|
30
|
-
private _environmentInjector;
|
|
31
|
-
private _workbenchRouter;
|
|
32
|
-
private _workbenchLayoutFactory;
|
|
33
|
-
private _workbenchLayoutDiffer;
|
|
34
|
-
private
|
|
35
|
-
private
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
|
|
12
|
+
private readonly _router;
|
|
13
|
+
private readonly _auxiliaryRouteInstaller;
|
|
14
|
+
private readonly _viewRegistry;
|
|
15
|
+
private readonly _partRegistry;
|
|
16
|
+
private readonly _workbenchLayoutService;
|
|
17
|
+
private readonly _environmentInjector;
|
|
18
|
+
private readonly _workbenchRouter;
|
|
19
|
+
private readonly _workbenchLayoutFactory;
|
|
20
|
+
private readonly _workbenchLayoutDiffer;
|
|
21
|
+
private readonly _workbenchViewOutletDiffer;
|
|
22
|
+
private readonly _workbenchPopupDiffer;
|
|
23
|
+
private readonly _workbenchDialogDiffer;
|
|
24
|
+
private readonly _workbenchMessageBoxDiffer;
|
|
25
|
+
private readonly _logger;
|
|
26
|
+
constructor();
|
|
39
27
|
/** Invoked at the beginning of each navigation */
|
|
40
28
|
private onNavigationStart;
|
|
41
29
|
/** Invoked upon successful navigation */
|
|
@@ -44,8 +32,6 @@ export declare class WorkbenchUrlObserver {
|
|
|
44
32
|
private onNavigationCancel;
|
|
45
33
|
/** Invoked when the navigation failed */
|
|
46
34
|
private onNavigationError;
|
|
47
|
-
/** Invoked after checked guards for activation */
|
|
48
|
-
private onGuardsCheckEnd;
|
|
49
35
|
/**
|
|
50
36
|
* Creates the context of the current navigation. The context provides access to the new layout and how it differs from the current layout.
|
|
51
37
|
*/
|
|
@@ -55,45 +41,35 @@ export declare class WorkbenchUrlObserver {
|
|
|
55
41
|
*/
|
|
56
42
|
private registerAddedOutletAuxiliaryRoutes;
|
|
57
43
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* Invoke this method after navigation failure or cancellation. The navigation is cancelled when guards perform a redirect or reject navigation.
|
|
44
|
+
* Unregisters auxiliary routes of removed workbench outlets.
|
|
61
45
|
*/
|
|
62
|
-
private
|
|
46
|
+
private unregisterRemovedOutletAuxiliaryRoutes;
|
|
63
47
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* Invoke this method after navigation failure or cancellation. The navigation is cancelled when guards perform a redirect or reject navigation.
|
|
48
|
+
* For each added part, constructs a {@link WorkbenchPart} and registers it in {@link WORKBENCH_PART_REGISTRY}.
|
|
67
49
|
*/
|
|
68
|
-
private
|
|
50
|
+
private registerAddedWorkbenchParts;
|
|
69
51
|
/**
|
|
70
|
-
*
|
|
52
|
+
* For each removed part, destroys the {@link WorkbenchPart} and unregisters it in {@link WORKBENCH_PART_REGISTRY}.
|
|
71
53
|
*/
|
|
72
|
-
private
|
|
54
|
+
private unregisterRemovedWorkbenchParts;
|
|
73
55
|
/**
|
|
74
|
-
*
|
|
56
|
+
* For each added view, constructs a {@link WorkbenchView} and registers it in {@link WORKBENCH_VIEW_REGISTRY}.
|
|
75
57
|
*/
|
|
76
|
-
private
|
|
58
|
+
private registerAddedWorkbenchViews;
|
|
77
59
|
/**
|
|
78
|
-
*
|
|
79
|
-
*/
|
|
80
|
-
private migrateURL;
|
|
81
|
-
/**
|
|
82
|
-
* Unregisters auxiliary routes of removed workbench outlets.
|
|
60
|
+
* For each removed view, destroys the {@link WorkbenchView} and unregisters it from {@link WORKBENCH_VIEW_REGISTRY}.
|
|
83
61
|
*/
|
|
84
|
-
private
|
|
62
|
+
private unregisterRemovedWorkbenchViews;
|
|
63
|
+
private createWorkbenchPart;
|
|
64
|
+
private createWorkbenchView;
|
|
85
65
|
/**
|
|
86
|
-
*
|
|
87
|
-
* - For each removed view, destroys the {@link WorkbenchView} and unregisters it in {@link WorkbenchViewRegistry}
|
|
66
|
+
* Applies the current layout to the workbench.
|
|
88
67
|
*/
|
|
89
|
-
private
|
|
68
|
+
private applyWorkbenchLayout;
|
|
90
69
|
/**
|
|
91
|
-
*
|
|
92
|
-
* - For each removed part, destroys the {@link WorkbenchPart} and unregisters it in {@link WorkbenchPartRegistry}
|
|
70
|
+
* Updates the URL if the layout has been migrated from an outdated version.
|
|
93
71
|
*/
|
|
94
|
-
private
|
|
95
|
-
private createWorkbenchPart;
|
|
96
|
-
private createWorkbenchView;
|
|
72
|
+
private migrateURL;
|
|
97
73
|
private installRouterEventListeners;
|
|
98
74
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchUrlObserver, never>;
|
|
99
75
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchUrlObserver>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IterableChanges, IterableDiffers } from '@angular/core';
|
|
2
|
+
import { ɵWorkbenchLayout } from '../layout/ɵworkbench-layout';
|
|
3
|
+
import { UrlTree } from '@angular/router';
|
|
4
|
+
import { ViewId } from '../view/workbench-view.model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Stateful differ to compute view outlets.
|
|
8
|
+
*
|
|
9
|
+
* Use this differ to register/unregister view auxiliary routes.
|
|
10
|
+
*
|
|
11
|
+
* Because the layout is not available during initial navigation and empty-path views do not have
|
|
12
|
+
* an outlet in the URL, this differ uses both, outlets in the URL and views in the layout.
|
|
13
|
+
*/
|
|
14
|
+
export declare class WorkbenchViewOutletDiffer {
|
|
15
|
+
private _differ;
|
|
16
|
+
constructor(differs: IterableDiffers);
|
|
17
|
+
/**
|
|
18
|
+
* Computes differences since last time {@link WorkbenchViewOutletDiffer#diff} was invoked.
|
|
19
|
+
*/
|
|
20
|
+
diff(workbenchLayout: ɵWorkbenchLayout | null, urlTree: UrlTree): WorkbenchViewOutletDiff;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchViewOutletDiffer, never>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchViewOutletDiffer>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Lists the view outlets added/removed in the current navigation.
|
|
26
|
+
*/
|
|
27
|
+
export declare class WorkbenchViewOutletDiff {
|
|
28
|
+
readonly addedViewOutlets: `view.${number}`[];
|
|
29
|
+
readonly removedViewOutlets: `view.${number}`[];
|
|
30
|
+
constructor(changes: IterableChanges<ViewId> | null);
|
|
31
|
+
toString(): string;
|
|
32
|
+
}
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import { NavigationExtras,
|
|
1
|
+
import { NavigationExtras, UrlTree } from '@angular/router';
|
|
2
2
|
import { WorkbenchRouter } from './workbench-router.service';
|
|
3
|
-
import { Injector, NgZone } from '@angular/core';
|
|
4
|
-
import { WorkbenchLayoutService } from '../layout/workbench-layout.service';
|
|
5
3
|
import { ɵWorkbenchLayout } from '../layout/ɵworkbench-layout';
|
|
6
4
|
import { Commands, WorkbenchNavigationContext, WorkbenchNavigationExtras } from './routing.model';
|
|
7
|
-
import { WorkbenchViewRegistry } from '../view/workbench-view.registry';
|
|
8
|
-
import { Logger } from '../logging';
|
|
9
5
|
import * as i0 from "@angular/core";
|
|
10
6
|
/** @inheritDoc */
|
|
11
7
|
export declare class ɵWorkbenchRouter implements WorkbenchRouter {
|
|
12
|
-
private _router;
|
|
13
|
-
private _workbenchLayoutService;
|
|
14
|
-
private _workbenchViewRegistry;
|
|
15
|
-
private _injector;
|
|
16
|
-
private _logger;
|
|
17
|
-
private _zone;
|
|
18
|
-
private _singleNavigationExecutor;
|
|
19
|
-
/**
|
|
20
|
-
* Holds the current navigational context during a workbench navigation, or `null` if no navigation is in progress.
|
|
21
|
-
*/
|
|
8
|
+
private readonly _router;
|
|
9
|
+
private readonly _workbenchLayoutService;
|
|
10
|
+
private readonly _workbenchViewRegistry;
|
|
11
|
+
private readonly _injector;
|
|
12
|
+
private readonly _logger;
|
|
13
|
+
private readonly _zone;
|
|
14
|
+
private readonly _singleNavigationExecutor;
|
|
15
|
+
/** Holds the current navigational context during a workbench navigation, or `null` if no navigation is in progress. */
|
|
22
16
|
private _currentNavigationContext;
|
|
23
|
-
constructor(
|
|
17
|
+
constructor();
|
|
24
18
|
/** @inheritDoc */
|
|
25
19
|
navigate(commands: Commands, extras?: WorkbenchNavigationExtras): Promise<boolean>;
|
|
26
20
|
navigate(navigateFn: ɵNavigateFn, extras?: Omit<NavigationExtras, 'relativeTo' | 'state'>): Promise<boolean>;
|
|
@@ -26,4 +26,6 @@ import { EnvironmentProviders } from '@angular/core';
|
|
|
26
26
|
* });
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
export declare function provideWorkbenchForTest(config?: WorkbenchConfig
|
|
29
|
+
export declare function provideWorkbenchForTest(config?: WorkbenchConfig & {
|
|
30
|
+
mainAreaInitialPartId?: string;
|
|
31
|
+
}): EnvironmentProviders;
|