@scion/workbench 17.0.0-beta.9 → 18.0.0-beta.10
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/_index.scss +7 -5
- package/design/_workbench-global-styles.scss +18 -0
- package/design/_workbench-icon-font.scss +1 -1
- package/design/_workbench-popup-global-styles.scss +1 -1
- package/design/{_workbench-view-drag-image-global-styles.scss → _workbench-view-global-styles.scss} +1 -2
- package/esm2022/lib/activation-instant.provider.mjs +3 -3
- package/esm2022/lib/common/asserts.util.mjs +1 -1
- package/esm2022/lib/common/class-list.mjs +67 -29
- package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
- package/esm2022/lib/common/dom.util.mjs +1 -1
- package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +4 -4
- package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
- package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
- package/esm2022/lib/common/math.util.mjs +16 -0
- package/esm2022/lib/common/null-if-empty.pipe.mjs +4 -4
- package/esm2022/lib/common/objects.util.mjs +7 -1
- package/esm2022/lib/common/observables.mjs +1 -1
- package/esm2022/lib/common/operators.mjs +1 -12
- package/esm2022/lib/common/stringify-error.util.mjs +1 -1
- package/esm2022/lib/common/typeof.pipe.mjs +3 -3
- package/esm2022/lib/common/uid.util.mjs +22 -0
- package/esm2022/lib/common//311/265destroy-ref.mjs +1 -1
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +87 -30
- package/esm2022/lib/content-projection/workbench-element-references.mjs +32 -0
- package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
- package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
- package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +3 -3
- package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +3 -3
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +5 -10
- package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +3 -3
- package/esm2022/lib/dialog/movable.directive.mjs +6 -6
- package/esm2022/lib/dialog/resizable.directive.mjs +6 -6
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +27 -25
- package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
- package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
- package/esm2022/lib/dialog/workbench-dialog.service.mjs +3 -3
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +99 -61
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +28 -25
- package/esm2022/lib/executor/latest-task-executor.mjs +55 -0
- package/esm2022/lib/executor/single-task-executor.mjs +9 -19
- package/esm2022/lib/filter-field/filter-field.component.mjs +8 -8
- package/esm2022/lib/glass-pane/glass-pane.directive.mjs +4 -4
- package/esm2022/lib/layout/grid-element/grid-element.component.mjs +10 -20
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +19 -22
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v5.model.mjs +11 -0
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v6.model.mjs +11 -0
- package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +7 -7
- package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +4 -4
- package/esm2022/lib/layout/migration/workbench-layout-migration-v5.service.mjs +67 -0
- package/esm2022/lib/layout/migration/workbench-layout-migration-v6.service.mjs +59 -0
- package/esm2022/lib/layout/stringifier.mjs +70 -0
- package/esm2022/lib/layout/workbench-layout.component.mjs +19 -23
- package/esm2022/lib/layout/workbench-layout.factory.mjs +3 -3
- 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 +28 -26
- package/esm2022/lib/layout/workbench-layouts.util.mjs +1 -9
- package/esm2022/lib/layout/workench-layout-serializer.service.mjs +22 -32
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +6 -5
- package/esm2022/lib/layout//311/265workbench-layout.mjs +77 -66
- package/esm2022/lib/logging/console-appender.service.mjs +4 -4
- package/esm2022/lib/logging/logger.mjs +3 -3
- package/esm2022/lib/logging/logging-support.mjs +7 -13
- package/esm2022/lib/logging/logging.model.mjs +3 -3
- package/esm2022/lib/logging//311/265logger.mjs +12 -12
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +9 -8
- package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +5 -5
- package/esm2022/lib/message-box/workbench-message-box.component.mjs +5 -5
- package/esm2022/lib/message-box/workbench-message-box.service.mjs +3 -3
- package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +6 -5
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +22 -6
- package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +29 -22
- package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +6 -6
- package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +14 -4
- 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 +8 -7
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +8 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +21 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +10 -9
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +6 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +17 -15
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +6 -5
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +10 -15
- package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
- 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-platform-config-loader.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +7 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +13 -14
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +14 -30
- package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +5 -5
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +13 -29
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +92 -72
- package/esm2022/lib/microfrontend-platform/public_api.mjs +2 -1
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +8 -7
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +20 -18
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +30 -8
- package/esm2022/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.mjs +32 -0
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +29 -11
- package/esm2022/lib/migration/workbench-migrator.mjs +1 -1
- package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
- package/esm2022/lib/notification/notification-list.component.mjs +6 -10
- package/esm2022/lib/notification/notification.component.mjs +6 -7
- package/esm2022/lib/notification/notification.service.mjs +8 -7
- package/esm2022/lib/notification/text-notification.component.mjs +3 -3
- package/esm2022/lib/notification//311/265notification.mjs +1 -1
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +7 -9
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +12 -20
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +7 -7
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +334 -265
- package/esm2022/lib/part/part-portal.pipe.mjs +10 -10
- package/esm2022/lib/part/part.component.mjs +34 -43
- package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +4 -4
- package/esm2022/lib/part/view-context-menu/text.component.mjs +17 -13
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +6 -8
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +5 -5
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +50 -51
- package/esm2022/lib/part/view-list/view-list.component.mjs +42 -49
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +23 -27
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +16 -18
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +100 -111
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +5 -6
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +17 -18
- 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/migration/workbench-perspective-migration-v2.service.mjs +4 -4
- package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +6 -6
- package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +4 -4
- package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +4 -4
- 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 +73 -64
- package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +5 -5
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +62 -47
- package/esm2022/lib/popup/popup.component.mjs +6 -6
- package/esm2022/lib/popup/popup.config.mjs +27 -25
- package/esm2022/lib/popup/popup.service.mjs +171 -176
- package/esm2022/lib/portal/wb-component-portal.mjs +18 -17
- package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +4 -4
- package/esm2022/lib/public_api.mjs +1 -1
- package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
- package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +3 -3
- package/esm2022/lib/routing/public_api.mjs +2 -2
- package/esm2022/lib/routing/routing.model.mjs +1 -1
- package/esm2022/lib/routing/routing.util.mjs +215 -0
- package/esm2022/lib/routing/url-segment-matcher.mjs +1 -1
- package/esm2022/lib/routing/workbench-auxiliary-route-installer.service.mjs +110 -0
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +6 -6
- package/esm2022/lib/routing/workbench-layout-differ.mjs +6 -13
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +6 -6
- package/esm2022/lib/routing/workbench-navigational-states.mjs +2 -2
- package/esm2022/lib/routing/workbench-popup-differ.mjs +6 -6
- package/esm2022/lib/routing/workbench-route-guards.mjs +57 -0
- package/esm2022/lib/routing/workbench-router-link.directive.mjs +5 -5
- package/esm2022/lib/routing/workbench-router.service.mjs +3 -3
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +143 -151
- package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +58 -0
- package/esm2022/lib/routing//311/265location.mjs +3 -3
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +121 -76
- package/esm2022/lib/startup/splash/splash.component.mjs +5 -5
- package/esm2022/lib/startup/workbench-initializer.mjs +1 -1
- package/esm2022/lib/startup/workbench-launcher.service.mjs +28 -16
- package/esm2022/lib/storage/workbench-storage.mjs +3 -3
- package/esm2022/lib/testing/workbench-testing.module.mjs +4 -4
- package/esm2022/lib/testing/workbench.provider.mjs +5 -5
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +18 -22
- package/esm2022/lib/view/public_api.mjs +1 -2
- package/esm2022/lib/view/view-move-handler.service.mjs +73 -58
- package/esm2022/lib/view/view-portal.pipe.mjs +9 -9
- package/esm2022/lib/view/view.component.mjs +55 -43
- 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 +183 -153
- package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +2 -2
- package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +4 -4
- package/esm2022/lib/view-dnd/view-drag.service.mjs +89 -73
- package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +9 -9
- package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +9 -9
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +45 -58
- package/esm2022/lib/workbench-config.mjs +2 -2
- package/esm2022/lib/workbench-id.mjs +3 -3
- package/esm2022/lib/workbench.component.mjs +67 -55
- package/esm2022/lib/workbench.constants.mjs +1 -5
- package/esm2022/lib/workbench.model.mjs +1 -1
- package/esm2022/lib/workbench.module.mjs +4 -4
- package/esm2022/lib/workbench.provider.mjs +3 -9
- package/esm2022/lib/workbench.service.mjs +4 -4
- package/esm2022/lib//311/265workbench.service.mjs +40 -44
- package/fesm2022/scion-workbench.mjs +4348 -3628
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/common/class-list.d.ts +35 -22
- package/lib/common/math.util.d.ts +7 -0
- package/lib/common/objects.util.d.ts +6 -2
- package/lib/common/operators.d.ts +1 -6
- package/lib/common/uid.util.d.ts +9 -0
- package/lib/content-projection/content-as-overlay.component.d.ts +39 -22
- package/lib/content-projection/workbench-element-references.d.ts +13 -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 +38 -24
- 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 +5 -8
- 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/main-area-layout/main-area-layout.component.d.ts +0 -4
- package/lib/layout/migration/model/workbench-layout-migration-v5.model.d.ts +36 -0
- package/lib/layout/migration/model/workbench-layout-migration-v6.model.d.ts +35 -0
- package/lib/layout/migration/{workbench-layout-migration-v2.service.d.ts → workbench-layout-migration-v5.service.d.ts} +4 -5
- package/lib/layout/migration/workbench-layout-migration-v6.service.d.ts +12 -0
- package/lib/layout/stringifier.d.ts +26 -0
- package/lib/layout/workbench-layout.component.d.ts +4 -5
- package/lib/layout/workbench-layout.d.ts +9 -6
- package/lib/layout/workbench-layout.model.d.ts +4 -3
- package/lib/layout/workbench-layout.service.d.ts +14 -16
- package/lib/layout/workbench-layouts.util.d.ts +0 -6
- package/lib/layout/workench-layout-serializer.service.d.ts +13 -16
- package/lib/layout//311/265workbench-layout.d.ts +18 -19
- package/lib/layout//311/265workbench-layout.factory.d.ts +3 -2
- package/lib/logging//311/265logger.d.ts +2 -3
- 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 +3 -6
- package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +2 -1
- package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +1 -1
- package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +2 -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 +23 -33
- 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/page-not-found/page-not-found.component.d.ts +1 -0
- package/lib/part/part-action-bar/part-action-bar.component.d.ts +3 -4
- package/lib/part/part-action-bar/part-action.directive.d.ts +2 -2
- package/lib/part/part-bar/part-bar.component.d.ts +73 -63
- 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/text.component.d.ts +3 -4
- package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu.service.d.ts +13 -17
- 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 +19 -29
- 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 +23 -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/workench-perspective-serializer.service.d.ts +1 -1
- package/lib/perspective//311/265workbench-perspective.model.d.ts +30 -21
- package/lib/popup/popup.config.d.ts +11 -10
- package/lib/popup/popup.service.d.ts +15 -28
- package/lib/portal/wb-component-portal.d.ts +21 -5
- package/lib/public_api.d.ts +1 -1
- package/lib/registry/workbench-object-registry.d.ts +10 -6
- package/lib/routing/public_api.d.ts +2 -2
- package/lib/routing/routing.model.d.ts +25 -13
- package/lib/routing/{router.util.d.ts → routing.util.d.ts} +28 -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 +8 -4
- package/lib/{view/workbench-view-route-guards.d.ts → routing/workbench-route-guards.d.ts} +8 -2
- 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 +22 -18
- package/lib/startup/workbench-launcher.service.d.ts +4 -5
- package/lib/testing/workbench.provider.d.ts +3 -1
- package/lib/theme/workbench-theme-switcher.service.d.ts +4 -6
- package/lib/view/public_api.d.ts +0 -1
- package/lib/view/view-move-handler.service.d.ts +16 -14
- package/lib/view/view-portal.pipe.d.ts +1 -3
- package/lib/view/view.component.d.ts +21 -12
- package/lib/view/workbench-view.model.d.ts +88 -36
- package/lib/view/workbench-view.registry.d.ts +3 -27
- package/lib/view//311/265workbench-view.model.d.ts +62 -71
- package/lib/view-dnd/view-drag.service.d.ts +79 -49
- package/lib/view-dnd/view-drop-placeholder-renderer.service.d.ts +1 -1
- package/lib/view-dnd/view-tab-drag-image-renderer.service.d.ts +12 -36
- package/lib/workbench-config.d.ts +19 -7
- package/lib/workbench.component.d.ts +16 -30
- package/lib/workbench.constants.d.ts +0 -5
- package/lib/workbench.model.d.ts +31 -3
- package/lib/workbench.service.d.ts +58 -56
- package/lib//311/265workbench.service.d.ts +18 -31
- package/package.json +12 -12
- 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/content-projection/content-projection.directive.mjs +0 -101
- package/esm2022/lib/content-projection/view-container.reference.mjs +0 -68
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +0 -11
- package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +0 -59
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +0 -41
- package/esm2022/lib/page-not-found/format-url.pipe.mjs +0 -26
- 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/esm2022/lib/view/workbench-view-route-guards.mjs +0 -47
- 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/content-projection/content-projection.directive.d.ts +0 -30
- package/lib/content-projection/view-container.reference.d.ts +0 -42
- package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +0 -16
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.d.ts +0 -10
- package/lib/page-not-found/format-url.pipe.d.ts +0 -11
- 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").Signal<ɵWorkbenchPerspective | undefined>;
|
|
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
|
}
|
|
@@ -19,7 +19,7 @@ export declare class WorkbenchPerspectiveSerializer {
|
|
|
19
19
|
/**
|
|
20
20
|
* Represents the current version of the workbench perspective layout.
|
|
21
21
|
*
|
|
22
|
-
* Increment this version and write a migrator when
|
|
22
|
+
* Increment this version and write a migrator when introducing a breaking change.
|
|
23
23
|
*
|
|
24
24
|
* @see WorkbenchMigrator
|
|
25
25
|
*/
|
|
@@ -1,27 +1,25 @@
|
|
|
1
|
+
import { InjectionToken, Injector, Signal } from '@angular/core';
|
|
1
2
|
import { WorkbenchPerspective, WorkbenchPerspectiveDefinition } from './workbench-perspective.model';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
3
|
/**
|
|
4
4
|
* @inheritDoc
|
|
5
5
|
*/
|
|
6
6
|
export declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
private _initialLayoutFn;
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
private _perspectiveLayout;
|
|
19
|
-
id: string;
|
|
20
|
-
transient: boolean;
|
|
21
|
-
data: {
|
|
7
|
+
private readonly _perspectiveEnvironmentInjector;
|
|
8
|
+
private readonly _workbenchLayoutFactory;
|
|
9
|
+
private readonly _workbenchGridMerger;
|
|
10
|
+
private readonly _workbenchPerspectiveStorageService;
|
|
11
|
+
private readonly _workbenchLayoutService;
|
|
12
|
+
private readonly _workbenchRouter;
|
|
13
|
+
private readonly _initialLayoutFn;
|
|
14
|
+
private readonly _perspectiveViewConflictResolver;
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly transient: boolean;
|
|
17
|
+
readonly data: {
|
|
22
18
|
[key: string]: any;
|
|
23
19
|
};
|
|
24
|
-
active
|
|
20
|
+
readonly active: Signal<boolean>;
|
|
21
|
+
private _initialPerspectiveLayout;
|
|
22
|
+
private _perspectiveLayout;
|
|
25
23
|
constructor(definition: WorkbenchPerspectiveDefinition);
|
|
26
24
|
/**
|
|
27
25
|
* Activates this perspective.
|
|
@@ -32,22 +30,29 @@ export declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
|
32
30
|
*/
|
|
33
31
|
reset(): Promise<void>;
|
|
34
32
|
/**
|
|
35
|
-
*
|
|
33
|
+
* Reference to the handle's injector. The injector will be destroyed when unregistering the perspective.
|
|
34
|
+
*/
|
|
35
|
+
get injector(): Injector;
|
|
36
|
+
/**
|
|
37
|
+
* Creates the perspective layout using the main area of the current layout.
|
|
36
38
|
*
|
|
37
39
|
* When switching perspective, id clashes between the views contained in the perspective and the
|
|
38
40
|
* views contained in the main area are possible. The activation detects and resolves conflicts,
|
|
39
41
|
* changing the layout of this perspective if necessary.
|
|
40
42
|
*/
|
|
41
43
|
private createLayoutForActivation;
|
|
42
|
-
get active(): boolean;
|
|
43
44
|
/**
|
|
44
45
|
* Creates the initial layout of this perspective as defined in the perspective definition.
|
|
45
46
|
*/
|
|
46
47
|
private createInitialPerspectiveLayout;
|
|
47
48
|
/**
|
|
48
|
-
*
|
|
49
|
+
* Activates the first view of each part if not specified.
|
|
50
|
+
*/
|
|
51
|
+
private ensureActiveView;
|
|
52
|
+
/**
|
|
53
|
+
* Sets up automatic persistence of the perspective layout on every layout change.
|
|
49
54
|
*/
|
|
50
|
-
private
|
|
55
|
+
private installLayoutPersister;
|
|
51
56
|
/**
|
|
52
57
|
* Loads the layout of this perspective from storage, applying necessary migrations if the layout is outdated.
|
|
53
58
|
* Returns `null` if not stored or could not be deserialized.
|
|
@@ -61,3 +66,7 @@ export declare class ɵWorkbenchPerspective implements WorkbenchPerspective {
|
|
|
61
66
|
private storePerspectiveLayout;
|
|
62
67
|
destroy(): void;
|
|
63
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Provides the currently active perspective in the workbench.
|
|
71
|
+
*/
|
|
72
|
+
export declare const ACTIVE_PERSPECTIVE: InjectionToken<Signal<ɵWorkbenchPerspective | undefined>>;
|
|
@@ -111,14 +111,13 @@ export declare abstract class PopupConfig {
|
|
|
111
111
|
*/
|
|
112
112
|
export interface CloseStrategy {
|
|
113
113
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
114
|
+
* Controls if to close the popup on focus loss, returning the result set via {@link Popup#setResult} to the popup opener.
|
|
115
|
+
* Defaults to `true`.
|
|
116
116
|
*/
|
|
117
117
|
onFocusLost?: boolean;
|
|
118
118
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* opener.
|
|
119
|
+
* Controls if to close the popup when pressing escape. Defaults to `true`.
|
|
120
|
+
* No return value will be passed to the popup opener.
|
|
122
121
|
*/
|
|
123
122
|
onEscape?: boolean;
|
|
124
123
|
}
|
|
@@ -155,7 +154,7 @@ export interface PopupSize {
|
|
|
155
154
|
* Represents a handle that a popup component can inject to interact with the popup, for example,
|
|
156
155
|
* to read input data or the configured size, or to close the popup.
|
|
157
156
|
*/
|
|
158
|
-
export declare abstract class Popup<T =
|
|
157
|
+
export declare abstract class Popup<T = unknown, R = unknown> {
|
|
159
158
|
/**
|
|
160
159
|
* Input data as passed by the popup opener when opened the popup, or `undefined` if not passed.
|
|
161
160
|
*/
|
|
@@ -166,6 +165,8 @@ export declare abstract class Popup<T = any> {
|
|
|
166
165
|
abstract readonly size: PopupSize | undefined;
|
|
167
166
|
/**
|
|
168
167
|
* Provides information about the context in which this popup was opened.
|
|
168
|
+
*
|
|
169
|
+
* @deprecated since version 18.0.0-beta.4; Inject {@link WorkbenchView} instead.
|
|
169
170
|
*/
|
|
170
171
|
abstract readonly referrer: PopupReferrer;
|
|
171
172
|
/**
|
|
@@ -173,13 +174,13 @@ export declare abstract class Popup<T = any> {
|
|
|
173
174
|
*/
|
|
174
175
|
abstract readonly cssClasses: string[];
|
|
175
176
|
/**
|
|
176
|
-
*
|
|
177
|
+
* Sets a result that will be passed to the popup opener when the popup is closed on focus loss {@link CloseStrategy#onFocusLost}.
|
|
177
178
|
*/
|
|
178
|
-
abstract
|
|
179
|
+
abstract setResult(result?: R): void;
|
|
179
180
|
/**
|
|
180
|
-
* Closes the popup
|
|
181
|
+
* Closes the popup. Optionally, pass a result or an error to the popup opener.
|
|
181
182
|
*/
|
|
182
|
-
abstract
|
|
183
|
+
abstract close(result?: R | Error): void;
|
|
183
184
|
}
|
|
184
185
|
/**
|
|
185
186
|
* Information about the context in which a popup was opened.
|
|
@@ -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
|
*
|
|
@@ -47,8 +41,11 @@ export declare class PopupService {
|
|
|
47
41
|
* - resolves to the result if closed with a result
|
|
48
42
|
* - resolves to `undefined` if closed without a result
|
|
49
43
|
*/
|
|
50
|
-
open<R>(config: PopupConfig): Promise<R>;
|
|
51
|
-
|
|
44
|
+
open<R>(config: PopupConfig): Promise<R | undefined>;
|
|
45
|
+
/**
|
|
46
|
+
* Creates the popup handle.
|
|
47
|
+
*/
|
|
48
|
+
private createPopup;
|
|
52
49
|
/**
|
|
53
50
|
* Closes the popup depending on the configured popup closing strategy.
|
|
54
51
|
*/
|
|
@@ -59,23 +56,13 @@ export declare class PopupService {
|
|
|
59
56
|
*/
|
|
60
57
|
private hidePopupOnViewDetach;
|
|
61
58
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* The Observable emits the anchor's initial position, and each time when its position changes.
|
|
59
|
+
* Creates a signal that tracks the position of the popup anchor.
|
|
65
60
|
*/
|
|
66
|
-
private
|
|
67
|
-
/**
|
|
68
|
-
* Observes the bounds of the viewport (view or page) in which the popup has been opened.
|
|
69
|
-
*/
|
|
70
|
-
private viewportBounds$;
|
|
61
|
+
private trackPopupOrigin;
|
|
71
62
|
/**
|
|
72
63
|
* Resolves the contextual view to which the popup is bound.
|
|
73
64
|
*/
|
|
74
65
|
private resolveContextualView;
|
|
75
|
-
|
|
76
|
-
* Maps the passed popup origin, which is relative to the given viewport, to a page coordinate.
|
|
77
|
-
*/
|
|
78
|
-
private mapPopupOriginToPageCoordinate;
|
|
79
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PopupService, [null, null, null, null, null, null, { optional: true; }]>;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PopupService, never>;
|
|
80
67
|
static ɵprov: i0.ɵɵInjectableDeclaration<PopupService>;
|
|
81
68
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ComponentType } from '@angular/cdk/portal';
|
|
2
|
-
import { ComponentRef, Injector, Provider, ViewContainerRef } from '@angular/core';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
2
|
+
import { ComponentRef, Injector, Provider, Signal, ViewContainerRef } from '@angular/core';
|
|
4
3
|
/**
|
|
5
4
|
* Like the Angular CDK 'ComponentPortal' but does not destroy the component on detach.
|
|
6
5
|
*
|
|
@@ -17,7 +16,7 @@ export declare class WbComponentPortal<T = any> {
|
|
|
17
16
|
private _viewContainerRef;
|
|
18
17
|
private _componentRef;
|
|
19
18
|
private _logger;
|
|
20
|
-
private _attached
|
|
19
|
+
private _attached;
|
|
21
20
|
constructor(_componentType: ComponentType<T>, _options?: PortalOptions | undefined);
|
|
22
21
|
/**
|
|
23
22
|
* Constructs the portal's component using given injection context.
|
|
@@ -43,11 +42,10 @@ export declare class WbComponentPortal<T = any> {
|
|
|
43
42
|
*/
|
|
44
43
|
detach(): void;
|
|
45
44
|
get isConstructed(): boolean;
|
|
46
|
-
private get isAttached();
|
|
47
45
|
isAttachedTo(viewContainerRef: ViewContainerRef): boolean;
|
|
48
46
|
get isDestroyed(): boolean;
|
|
49
47
|
get componentRef(): ComponentRef<T>;
|
|
50
|
-
get attached
|
|
48
|
+
get attached(): Signal<boolean>;
|
|
51
49
|
private onDestroy;
|
|
52
50
|
/**
|
|
53
51
|
* Destroys the component instance and all the data structures associated with it.
|
|
@@ -63,3 +61,21 @@ export interface PortalOptions {
|
|
|
63
61
|
*/
|
|
64
62
|
providers?: Provider[];
|
|
65
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Lifecycle hook for component rendered by {@link WbComponentPortal} when attaching to the DOM.
|
|
66
|
+
*/
|
|
67
|
+
export interface OnAttach {
|
|
68
|
+
/**
|
|
69
|
+
* Method invoked after attached this component to the DOM.
|
|
70
|
+
*/
|
|
71
|
+
onAttach(): void;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Lifecycle hook for component rendered by {@link WbComponentPortal} when detaching from the DOM.
|
|
75
|
+
*/
|
|
76
|
+
export interface OnDetach {
|
|
77
|
+
/**
|
|
78
|
+
* Method invoked before detaching this component from the DOM.
|
|
79
|
+
*/
|
|
80
|
+
onDetach(): void;
|
|
81
|
+
}
|
package/lib/public_api.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { WorkbenchModule, WorkbenchModuleConfig } from './workbench.module';
|
|
|
3
3
|
export { provideWorkbench } from './workbench.provider';
|
|
4
4
|
export { WorkbenchService } from './workbench.service';
|
|
5
5
|
export { WORKBENCH_ID } from './workbench-id';
|
|
6
|
-
export { WorkbenchPartAction, WorkbenchTheme, CanMatchPartFn, WorkbenchMenuItem, WorkbenchMenuItemFactoryFn, CanClose } from './workbench.model';
|
|
6
|
+
export { WorkbenchPartAction, WorkbenchTheme, CanMatchPartFn, WorkbenchMenuItem, WorkbenchMenuItemFactoryFn, CanClose, CanCloseFn, CanCloseRef } from './workbench.model';
|
|
7
7
|
export { WorkbenchComponent } from './workbench.component';
|
|
8
8
|
export { VIEW_TAB_RENDERING_CONTEXT, ViewTabRenderingContext } from './workbench.constants';
|
|
9
9
|
export * from './layout/public_api';
|
|
@@ -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,5 @@
|
|
|
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';
|
|
5
|
+
export { canMatchWorkbenchView, canMatchWorkbenchPerspective } from './workbench-route-guards';
|
|
@@ -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
|
*/
|
|
@@ -39,6 +40,10 @@ export declare const RouterUtils: {
|
|
|
39
40
|
* Looks for requested data on given route, or its parent route(s) if not found.
|
|
40
41
|
*/
|
|
41
42
|
readonly lookupRouteData: <T>(activatedRoute: ActivatedRouteSnapshot, dataKey: string) => T | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Tests if the given outlet matches the format of the view outlet.
|
|
45
|
+
*/
|
|
46
|
+
readonly isViewOutlet: (outlet: string | undefined | null) => outlet is `view.${number}`;
|
|
42
47
|
/**
|
|
43
48
|
* Tests if the given outlet matches the format of a popup outlet.
|
|
44
49
|
*/
|
|
@@ -61,4 +66,26 @@ export declare const RouterUtils: {
|
|
|
61
66
|
* Tests if given route has an empty path from root.
|
|
62
67
|
*/
|
|
63
68
|
readonly hasEmptyPathFromRoot: (route: ActivatedRoute) => boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Observes the route activation for the specified outlet.
|
|
71
|
+
*
|
|
72
|
+
* The observable emits after the previous component has been destroyed (if any) but before constructing the new component.
|
|
73
|
+
*
|
|
74
|
+
* Options to control when to emit:
|
|
75
|
+
* - `routeChange`: Emit only when navigating the outlet to a different route.
|
|
76
|
+
* - `routeOrParamChange`: Emit when navigating the outlet to a different route or changing params (named path params or matrix params).
|
|
77
|
+
* - `always`: Emit at every navigation, even if the outlet is not the target of the navigation.
|
|
78
|
+
*
|
|
79
|
+
* This method must be called within an injection context.
|
|
80
|
+
*
|
|
81
|
+
* Note: Listening for route activations/deactivations on the router outlet alone is insufficient for nested routes, as the outlet does not report
|
|
82
|
+
* activations/deactivations of child routes.
|
|
83
|
+
*
|
|
84
|
+
* @param outlet - Specifies the outlet to observe.
|
|
85
|
+
* @param options - Controls when to emit the observable.
|
|
86
|
+
* @return An observable emitting a tuple of the previous and current route snapshots.
|
|
87
|
+
*/
|
|
88
|
+
readonly activatedRoute$: (outlet: string, options: {
|
|
89
|
+
emitOn: 'routeChange' | 'routeOrParamChange' | 'always';
|
|
90
|
+
}) => Observable<[ActivatedRouteSnapshot | null, ActivatedRouteSnapshot]>;
|
|
64
91
|
};
|
|
@@ -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,11 +1,11 @@
|
|
|
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
|
*/
|
|
6
6
|
export declare const WorkbenchNavigationalStates: {
|
|
7
7
|
/**
|
|
8
|
-
* Returns workbench-specific state associated with given navigation, or `null` if not
|
|
8
|
+
* Returns workbench-specific state associated with given navigation, or `null` if the navigation was not performed through the workbench router.
|
|
9
9
|
*/
|
|
10
10
|
readonly fromNavigation: (navigation: Navigation) => WorkbenchNavigationalState | null;
|
|
11
11
|
/**
|
|
@@ -25,12 +25,16 @@ export interface WorkbenchNavigationalState {
|
|
|
25
25
|
* Note: The main area grid is not passed as navigational state, but as query parameter {@link MAIN_AREA_LAYOUT_QUERY_PARAM}.
|
|
26
26
|
*/
|
|
27
27
|
workbenchGrid: string;
|
|
28
|
+
/**
|
|
29
|
+
* Identifies the perspective that is navigated.
|
|
30
|
+
*/
|
|
31
|
+
perspectiveId?: string | undefined;
|
|
28
32
|
/**
|
|
29
33
|
* Indicates whether to maximize the main area.
|
|
30
34
|
*/
|
|
31
35
|
maximized: boolean;
|
|
32
36
|
/**
|
|
33
|
-
*
|
|
37
|
+
* Provides navigation state of views contained in the workbench layout.
|
|
34
38
|
*/
|
|
35
|
-
|
|
39
|
+
navigationStates: NavigationStates;
|
|
36
40
|
}
|
|
@@ -29,8 +29,14 @@ export declare function canMatchWorkbenchView(navigationHint: string): CanMatchF
|
|
|
29
29
|
*/
|
|
30
30
|
export declare function canMatchWorkbenchView(canMatch: boolean): CanMatchFn;
|
|
31
31
|
/**
|
|
32
|
-
* Matches
|
|
32
|
+
* Matches the route based on the active perspective.
|
|
33
33
|
*
|
|
34
|
-
*
|
|
34
|
+
* Can be used to have a different start page per perspective.
|
|
35
|
+
*/
|
|
36
|
+
export declare function canMatchWorkbenchPerspective(id: string): CanMatchFn;
|
|
37
|
+
/**
|
|
38
|
+
* Matches if the view has been navigated.
|
|
39
|
+
*
|
|
40
|
+
* Does not match if no navigation information is available, e.g., during initial navigation because the layout is loaded asynchronously, or when closing the view.
|
|
35
41
|
*/
|
|
36
42
|
export declare const canMatchNotFoundPage: CanMatchFn;
|