@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,109 +1,101 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
2
|
import { UrlSegment } from '@angular/router';
|
|
3
3
|
import { Disposable } from '../common/disposable';
|
|
4
|
-
import { WorkbenchMenuItem } from '../workbench.model';
|
|
4
|
+
import { CanCloseFn, CanCloseRef, WorkbenchMenuItem } from '../workbench.model';
|
|
5
5
|
import { ViewId, WorkbenchView } from './workbench-view.model';
|
|
6
|
-
import { WorkbenchPart } from '../part/workbench-part.model';
|
|
7
6
|
import { ComponentType } from '@angular/cdk/portal';
|
|
8
7
|
import { WbComponentPortal } from '../portal/wb-component-portal';
|
|
9
|
-
import { AbstractType, Injector, Type } from '@angular/core';
|
|
10
|
-
import {
|
|
8
|
+
import { AbstractType, Injector, Signal, Type } from '@angular/core';
|
|
9
|
+
import { ɵWorkbenchPart } from '../part/ɵworkbench-part.model';
|
|
11
10
|
import { ɵWorkbenchDialog } from '../dialog/ɵworkbench-dialog';
|
|
12
11
|
import { Blockable } from '../glass-pane/blockable';
|
|
13
12
|
import { ClassList } from '../common/class-list';
|
|
14
|
-
import {
|
|
15
|
-
import { UUID } from '../common/uuid.util';
|
|
13
|
+
import { NavigationData, NavigationState } from '../routing/routing.model';
|
|
16
14
|
export declare class ɵWorkbenchView implements WorkbenchView, Blockable {
|
|
17
15
|
readonly id: ViewId;
|
|
16
|
+
private readonly _viewEnvironmentInjector;
|
|
18
17
|
private readonly _workbenchId;
|
|
19
18
|
private readonly _workbenchService;
|
|
20
19
|
private readonly _workbenchLayoutService;
|
|
21
|
-
private readonly _router;
|
|
22
20
|
private readonly _workbenchRouter;
|
|
23
21
|
private readonly _childrenOutletContexts;
|
|
24
22
|
private readonly _partRegistry;
|
|
25
23
|
private readonly _viewDragService;
|
|
26
24
|
private readonly _activationInstantProvider;
|
|
27
25
|
private readonly _workbenchDialogRegistry;
|
|
28
|
-
private readonly
|
|
26
|
+
private readonly _logger;
|
|
29
27
|
private readonly _menuItemProviders$;
|
|
30
|
-
private readonly _scrolledIntoView$;
|
|
31
28
|
private readonly _adapters;
|
|
32
|
-
private readonly
|
|
29
|
+
private readonly _title;
|
|
30
|
+
private readonly _heading;
|
|
31
|
+
private readonly _dirty;
|
|
32
|
+
private readonly _closable;
|
|
33
|
+
private readonly _closableComputed;
|
|
34
|
+
private readonly _blockedBy;
|
|
35
|
+
private readonly _scrolledIntoView;
|
|
36
|
+
private readonly _classBasedCanCloseGuard;
|
|
33
37
|
private _activationInstant;
|
|
34
|
-
private
|
|
35
|
-
uid: UUID;
|
|
38
|
+
private _canCloseFn;
|
|
36
39
|
alternativeId: string | undefined;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
readonly
|
|
40
|
+
navigationId: import("@angular/core").WritableSignal<string | undefined>;
|
|
41
|
+
navigationHint: import("@angular/core").WritableSignal<string | undefined>;
|
|
42
|
+
navigationData: import("@angular/core").WritableSignal<NavigationData>;
|
|
43
|
+
navigationState: import("@angular/core").WritableSignal<NavigationState>;
|
|
44
|
+
urlSegments: import("@angular/core").WritableSignal<UrlSegment[]>;
|
|
45
|
+
position: Signal<number>;
|
|
46
|
+
first: Signal<boolean>;
|
|
47
|
+
last: Signal<boolean>;
|
|
48
|
+
readonly part: import("@angular/core").WritableSignal<ɵWorkbenchPart>;
|
|
49
|
+
readonly active: import("@angular/core").WritableSignal<boolean>;
|
|
46
50
|
readonly menuItems$: Observable<WorkbenchMenuItem[]>;
|
|
47
|
-
readonly blockedBy$:
|
|
51
|
+
readonly blockedBy$: Observable<ɵWorkbenchDialog<unknown> | null>;
|
|
48
52
|
readonly portal: WbComponentPortal;
|
|
49
53
|
readonly classList: ClassList;
|
|
50
54
|
constructor(id: ViewId, options: {
|
|
51
55
|
component: ComponentType<ViewComponent>;
|
|
52
56
|
});
|
|
53
57
|
private createPortal;
|
|
54
|
-
/**
|
|
55
|
-
* Method invoked when a route is about to be activated for this view.
|
|
56
|
-
*/
|
|
57
|
-
private onRouteActivate;
|
|
58
58
|
/**
|
|
59
59
|
* Method invoked when the workbench layout has changed.
|
|
60
60
|
*
|
|
61
61
|
* This method:
|
|
62
|
-
* - is called on every layout change,
|
|
63
|
-
* - is called after
|
|
62
|
+
* - is called on every layout change, enabling the update of view properties defined in the layout (navigation hint, navigation data, part, ...).
|
|
63
|
+
* - is called on route activation (after destroyed the previous component (if any), but before constructing the new component).
|
|
64
64
|
*/
|
|
65
|
-
onLayoutChange
|
|
65
|
+
private onLayoutChange;
|
|
66
66
|
/**
|
|
67
67
|
* Returns the component of this view. Returns `null` if not navigated the view, or before it was activated for the first time.
|
|
68
68
|
*/
|
|
69
69
|
getComponent<T = unknown>(): T | null;
|
|
70
|
-
/**
|
|
71
|
-
* Returns the injector of the component. Returns `null` if not navigated the view, or before it was activated for the first time.
|
|
72
|
-
*/
|
|
73
|
-
getComponentInjector(): Injector | null;
|
|
74
70
|
/** @inheritDoc */
|
|
75
|
-
get
|
|
71
|
+
get title(): Signal<string | null>;
|
|
76
72
|
/** @inheritDoc */
|
|
77
|
-
|
|
73
|
+
set title(title: string | null);
|
|
78
74
|
/** @inheritDoc */
|
|
79
|
-
get
|
|
75
|
+
get heading(): Signal<string | null>;
|
|
80
76
|
/** @inheritDoc */
|
|
81
|
-
set
|
|
77
|
+
set heading(heading: string | null);
|
|
78
|
+
/** @inheritDoc */
|
|
79
|
+
get dirty(): Signal<boolean>;
|
|
80
|
+
/** @inheritDoc */
|
|
81
|
+
set dirty(dirty: boolean);
|
|
82
82
|
/** @inheritDoc */
|
|
83
|
-
get
|
|
83
|
+
get scrolledIntoView(): Signal<boolean>;
|
|
84
|
+
set scrolledIntoView(scrolledIntoView: boolean);
|
|
85
|
+
/** @inheritDoc */
|
|
86
|
+
set cssClass(cssClass: string | string[]);
|
|
84
87
|
/** @inheritDoc */
|
|
85
|
-
get
|
|
88
|
+
get cssClass(): Signal<string[]>;
|
|
86
89
|
/** @inheritDoc */
|
|
87
90
|
set closable(closable: boolean);
|
|
88
91
|
/** @inheritDoc */
|
|
89
|
-
get closable(): boolean
|
|
92
|
+
get closable(): Signal<boolean>;
|
|
90
93
|
/** @inheritDoc */
|
|
91
94
|
activate(options?: {
|
|
92
95
|
skipLocationChange?: boolean;
|
|
93
96
|
}): Promise<boolean>;
|
|
94
|
-
/** @inheritDoc */
|
|
95
|
-
set scrolledIntoView(scrolledIntoView: boolean);
|
|
96
|
-
/** @inheritDoc */
|
|
97
|
-
get scrolledIntoView(): boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Informs whether the tab of this view is scrolled into view in the tabbar.
|
|
100
|
-
* Emits the current state upon subscription, and then continuously when the state changes.
|
|
101
|
-
*/
|
|
102
|
-
get scrolledIntoView$(): Observable<boolean>;
|
|
103
97
|
get activationInstant(): number | undefined;
|
|
104
98
|
/** @inheritDoc */
|
|
105
|
-
get part(): WorkbenchPart;
|
|
106
|
-
/** @inheritDoc */
|
|
107
99
|
close(target?: 'self' | 'all-views' | 'other-views' | 'views-to-the-right' | 'views-to-the-left'): Promise<boolean>;
|
|
108
100
|
/** @inheritDoc */
|
|
109
101
|
move(target: 'new-window'): void;
|
|
@@ -112,7 +104,17 @@ export declare class ɵWorkbenchView implements WorkbenchView, Blockable {
|
|
|
112
104
|
workbenchId?: string;
|
|
113
105
|
}): void;
|
|
114
106
|
/** @inheritDoc */
|
|
107
|
+
canClose(canClose: CanCloseFn): CanCloseRef;
|
|
108
|
+
/**
|
|
109
|
+
* Reference to the `CanClose` guard registered on this view, if any.
|
|
110
|
+
*/
|
|
111
|
+
get canCloseGuard(): (() => Promise<boolean>) | undefined;
|
|
112
|
+
/** @inheritDoc */
|
|
115
113
|
registerMenuItem(menuItem: WorkbenchMenuItem): Disposable;
|
|
114
|
+
/**
|
|
115
|
+
* Reference to the handle's injector. The injector will be destroyed when closing the view.
|
|
116
|
+
*/
|
|
117
|
+
get injector(): Injector;
|
|
116
118
|
/**
|
|
117
119
|
* Registers an adapter for this view, replacing any previously registered adapter of the same type.
|
|
118
120
|
*
|
|
@@ -127,35 +129,24 @@ export declare class ɵWorkbenchView implements WorkbenchView, Blockable {
|
|
|
127
129
|
* Adapts this object to the specified type. Returns `null` if no such object can be found.
|
|
128
130
|
*/
|
|
129
131
|
adapt<T>(adapterType: AbstractType<T> | Type<T>): T | null;
|
|
132
|
+
/** @inheritDoc */
|
|
130
133
|
get destroyed(): boolean;
|
|
131
|
-
/**
|
|
132
|
-
* Monitors the associated part to check if this view is currently active, updating the active state of this view accordingly.
|
|
133
|
-
*/
|
|
134
|
-
private trackViewActivation;
|
|
135
134
|
/**
|
|
136
135
|
* Updates the activation instant when this view is activated.
|
|
137
136
|
*/
|
|
138
137
|
private touchOnActivate;
|
|
139
138
|
/**
|
|
140
|
-
*
|
|
139
|
+
* Provides legacy support for deprecated class-based {@link CanClose} guard.
|
|
140
|
+
*
|
|
141
|
+
* @deprecated since version 18.0.0-beta.9. No longer needed with the removal of class-based {@link CanClose} guard.
|
|
141
142
|
*/
|
|
142
|
-
private
|
|
143
|
+
private constructClassBasedCanCloseGuard;
|
|
143
144
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
* Listening for route activations on the view's router outlet is not sufficient,
|
|
147
|
-
* as the outlet does not report subsequent activations of nested child routes.
|
|
148
|
-
*
|
|
149
|
-
* Example:
|
|
150
|
-
* ```html
|
|
151
|
-
* <router-outlet #router_outlet="outlet"
|
|
152
|
-
* (activate)="onActivateRoute(router_outlet.activatedRoute)">
|
|
153
|
-
* </router-outlet>
|
|
154
|
-
* ```
|
|
145
|
+
* Sets up automatic synchronization of {@link WorkbenchView} on every layout change.
|
|
155
146
|
*
|
|
156
|
-
*
|
|
147
|
+
* If the operation is cancelled (e.g., due to a navigation failure), it reverts the changes.
|
|
157
148
|
*/
|
|
158
|
-
private
|
|
149
|
+
private installModelUpdater;
|
|
159
150
|
destroy(): void;
|
|
160
151
|
}
|
|
161
152
|
/**
|
|
@@ -1,66 +1,63 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injector, OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { UrlSegment } from '@angular/router';
|
|
4
4
|
import { ViewId } from '../view/workbench-view.model';
|
|
5
5
|
import { ClassListMap } from '../common/class-list';
|
|
6
|
+
import { NavigationData } from '../routing/routing.model';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Transfer type for dragging a view.
|
|
13
|
-
*/
|
|
14
|
-
export declare const VIEW_DRAG_TRANSFER_TYPE = "workbench/view";
|
|
15
|
-
/**
|
|
16
|
-
* Manages the drag & drop behavior when the user drags a view.
|
|
9
|
+
* Coordinates cross application drag and drop of views.
|
|
10
|
+
*
|
|
11
|
+
* Views can only be moved across applications of the same origin.
|
|
17
12
|
*/
|
|
18
13
|
export declare class ViewDragService implements OnDestroy {
|
|
19
|
-
private
|
|
14
|
+
private readonly _injector;
|
|
15
|
+
private readonly _zone;
|
|
16
|
+
private readonly _viewDragStartBroadcastChannel;
|
|
17
|
+
private readonly _viewDragEndBroadcastChannel;
|
|
18
|
+
private readonly _viewMoveBroadcastChannel;
|
|
19
|
+
private readonly _tabbarDragOver$;
|
|
20
|
+
private readonly _viewMoved$;
|
|
21
|
+
/**
|
|
22
|
+
* Notifies when to move a view. The event is broadcasted to all application instances of the same origin.
|
|
23
|
+
*/
|
|
24
|
+
readonly viewMove$: Observable<ViewMoveEvent>;
|
|
20
25
|
/**
|
|
21
|
-
*
|
|
26
|
+
* Notifies when the layout of this application has been updated after a view move event.
|
|
22
27
|
*/
|
|
23
|
-
|
|
24
|
-
private _viewDragStartBroadcastChannel;
|
|
25
|
-
private _viewDragEndBroadcastChannel;
|
|
26
|
-
private _viewMoveBroadcastChannel;
|
|
27
|
-
private _tabbarDragOver$;
|
|
28
|
+
readonly viewMoved$: Observable<ViewMoveEvent>;
|
|
28
29
|
/**
|
|
29
|
-
*
|
|
30
|
+
* Notifies when dragging a tab over a tabbar. The event is the id of the part being dragged over, or `false` if not dragging over a tabbar.
|
|
31
|
+
*
|
|
32
|
+
* Upon subscription, emits the current dragover state, and then each time the state changes. The observable never completes.
|
|
30
33
|
*/
|
|
31
|
-
readonly
|
|
34
|
+
readonly tabbarDragOver$: Observable<string | false>;
|
|
32
35
|
/**
|
|
33
|
-
*
|
|
36
|
+
* Provides the drag data of the current drag operation. Is `null` if no drag operation is in progress.
|
|
34
37
|
*/
|
|
35
|
-
readonly
|
|
38
|
+
readonly viewDragData: import("@angular/core").Signal<ViewDragData | null>;
|
|
36
39
|
/**
|
|
37
|
-
*
|
|
40
|
+
* Indicates if a drag operation is active across application instances of the same origin.
|
|
38
41
|
*/
|
|
39
|
-
readonly
|
|
42
|
+
readonly dragging: import("@angular/core").Signal<boolean>;
|
|
40
43
|
/**
|
|
41
|
-
*
|
|
42
|
-
* The event is NOT received across app instances.
|
|
43
|
-
*
|
|
44
|
-
* Upon subscription, emits the current state, and then each time the state changes. The observable never completes.
|
|
44
|
+
* Signals start dragging a tab over specified tabbar (dragenter).
|
|
45
45
|
*/
|
|
46
|
-
|
|
47
|
-
constructor(_zone: NgZone);
|
|
46
|
+
signalTabbarDragEnter(partId: string): void;
|
|
48
47
|
/**
|
|
49
|
-
*
|
|
48
|
+
* Signals end dragging a tab over specified tabbar (dragleave).
|
|
50
49
|
*/
|
|
51
|
-
|
|
50
|
+
signalTabbarDragLeave(partId: string): void;
|
|
52
51
|
/**
|
|
53
|
-
*
|
|
52
|
+
* Signals successful move of a view in the layout of this app instance.
|
|
54
53
|
*/
|
|
55
|
-
|
|
54
|
+
signalViewMoved(event: ViewMoveEvent): void;
|
|
56
55
|
/**
|
|
57
|
-
* Indicates if dragging a
|
|
58
|
-
*
|
|
59
|
-
* Returns the identity of the part if the user is dragging a view over its tabbar, or `null` if not dragging over a tabbar.
|
|
56
|
+
* Indicates if dragging a tab over a tabbar, returning the id of the part being dragged over, or `false` if not dragging over a tabbar.
|
|
60
57
|
*/
|
|
61
|
-
get isDragOverTabbar(): string |
|
|
58
|
+
get isDragOverTabbar(): string | false;
|
|
62
59
|
/**
|
|
63
|
-
*
|
|
60
|
+
* Tests given event to be a view drag event of an app of this origin.
|
|
64
61
|
*/
|
|
65
62
|
isViewDragEvent(event: DragEvent): boolean;
|
|
66
63
|
/**
|
|
@@ -87,25 +84,31 @@ export declare class ViewDragService implements OnDestroy {
|
|
|
87
84
|
*/
|
|
88
85
|
viewDrag$(target: Element | Window, options?: ViewDragEventListenerOptions): Observable<DragEvent>;
|
|
89
86
|
/**
|
|
90
|
-
* Dispatches the given view move event to
|
|
87
|
+
* Dispatches the given view move event, broadcasting it to all application instances of the same origin.
|
|
91
88
|
*/
|
|
92
89
|
dispatchViewMoveEvent(event: ViewMoveEvent): void;
|
|
93
90
|
/**
|
|
94
|
-
*
|
|
91
|
+
* Sets given drag data, broadcasting it to all application instances of the same origin.
|
|
95
92
|
*
|
|
96
93
|
* Invoke this method inside 'dragstart' event handler of the element where the drag operation started.
|
|
97
94
|
*/
|
|
98
95
|
setViewDragData(viewDragData: ViewDragData): void;
|
|
99
96
|
/**
|
|
100
|
-
*
|
|
97
|
+
* Unsets the current drag data.
|
|
101
98
|
*
|
|
102
99
|
* Invoke this method inside 'dragend' event handler of the element where the drag operation started.
|
|
103
100
|
*/
|
|
104
101
|
unsetViewDragData(): void;
|
|
105
102
|
/**
|
|
106
|
-
*
|
|
103
|
+
* Registers a callback to be executed when a drag operation ends, executing it immediately if no drag operation is in progress at the time of registration.
|
|
104
|
+
*
|
|
105
|
+
* Automatically unregisters the function when the current injection context or the provided injector is destroyed.
|
|
106
|
+
* Setting `once` unregisters the function after the first execution.
|
|
107
107
|
*/
|
|
108
|
-
|
|
108
|
+
onDragEnd(onDragEnd: () => void, options?: {
|
|
109
|
+
injector?: Injector;
|
|
110
|
+
once?: true;
|
|
111
|
+
}): void;
|
|
109
112
|
ngOnDestroy(): void;
|
|
110
113
|
static ɵfac: i0.ɵɵFactoryDeclaration<ViewDragService, never>;
|
|
111
114
|
static ɵprov: i0.ɵɵInjectableDeclaration<ViewDragService>;
|
|
@@ -114,6 +117,10 @@ export declare class ViewDragService implements OnDestroy {
|
|
|
114
117
|
* Represents data of a view drag operation.
|
|
115
118
|
*/
|
|
116
119
|
export interface ViewDragData {
|
|
120
|
+
/**
|
|
121
|
+
* Unique id of the drag operation.
|
|
122
|
+
*/
|
|
123
|
+
uid: string;
|
|
117
124
|
/**
|
|
118
125
|
* X-coordinate of the mouse pointer, relative to the view tab drag image.
|
|
119
126
|
*/
|
|
@@ -124,10 +131,11 @@ export interface ViewDragData {
|
|
|
124
131
|
viewTabPointerOffsetY: number;
|
|
125
132
|
viewId: ViewId;
|
|
126
133
|
alternativeViewId?: string;
|
|
127
|
-
viewTitle: string;
|
|
134
|
+
viewTitle: string | null;
|
|
135
|
+
viewHeading: string | null;
|
|
128
136
|
viewUrlSegments: UrlSegment[];
|
|
129
137
|
navigationHint?: string;
|
|
130
|
-
|
|
138
|
+
navigationData?: NavigationData;
|
|
131
139
|
viewClosable: boolean;
|
|
132
140
|
viewDirty: boolean;
|
|
133
141
|
partId: string;
|
|
@@ -137,26 +145,37 @@ export interface ViewDragData {
|
|
|
137
145
|
classList?: ClassListMap;
|
|
138
146
|
}
|
|
139
147
|
/**
|
|
140
|
-
* Event
|
|
148
|
+
* Event for moving a view in the workbench layout.
|
|
141
149
|
*/
|
|
142
150
|
export interface ViewMoveEvent {
|
|
151
|
+
/**
|
|
152
|
+
* Describes which view to move.
|
|
153
|
+
*/
|
|
143
154
|
source: ViewMoveEventSource;
|
|
155
|
+
/**
|
|
156
|
+
* Describes where to move the view.
|
|
157
|
+
*/
|
|
144
158
|
target: ViewMoveEventTarget;
|
|
159
|
+
/**
|
|
160
|
+
* Drag data associated with this operation. Is only set if moving a view via drag and drop.
|
|
161
|
+
*/
|
|
162
|
+
dragData?: ViewDragData;
|
|
145
163
|
}
|
|
146
164
|
/**
|
|
147
|
-
* Describes
|
|
165
|
+
* Describes which view to move.
|
|
148
166
|
*/
|
|
149
167
|
export interface ViewMoveEventSource {
|
|
150
168
|
viewId: ViewId;
|
|
151
169
|
partId: string;
|
|
152
170
|
navigationHint?: string;
|
|
171
|
+
navigationData?: NavigationData;
|
|
153
172
|
alternativeViewId?: string;
|
|
154
173
|
viewUrlSegments: UrlSegment[];
|
|
155
174
|
workbenchId: string;
|
|
156
175
|
classList?: ClassListMap;
|
|
157
176
|
}
|
|
158
177
|
/**
|
|
159
|
-
* Describes
|
|
178
|
+
* Describes where to move a view.
|
|
160
179
|
*/
|
|
161
180
|
export interface ViewMoveEventTarget {
|
|
162
181
|
/**
|
|
@@ -204,9 +223,20 @@ export interface ViewMoveEventTarget {
|
|
|
204
223
|
ratio?: number;
|
|
205
224
|
};
|
|
206
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Controls how to subscribe to drag events.
|
|
228
|
+
*/
|
|
207
229
|
export interface ViewDragEventListenerOptions extends EventListenerOptions {
|
|
208
230
|
/**
|
|
209
|
-
*
|
|
231
|
+
* Controls which event(s) to subscribe.
|
|
210
232
|
*/
|
|
211
233
|
eventType?: ViewDragEventType | ViewDragEventType[];
|
|
212
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Represents the type of drag event.
|
|
237
|
+
*/
|
|
238
|
+
export type ViewDragEventType = 'dragstart' | 'dragend' | 'dragenter' | 'dragover' | 'dragleave' | 'drop';
|
|
239
|
+
/**
|
|
240
|
+
* Transfer type for dragging a view.
|
|
241
|
+
*/
|
|
242
|
+
export declare const VIEW_DRAG_TRANSFER_TYPE = "workbench/view";
|
|
@@ -10,7 +10,7 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
export declare class ViewDropPlaceholderRenderer {
|
|
11
11
|
private _viewDragService;
|
|
12
12
|
private _zone;
|
|
13
|
-
private
|
|
13
|
+
private _dropPlaceholderOverlayHost;
|
|
14
14
|
private _dropPlaceholder;
|
|
15
15
|
constructor(_viewDragService: ViewDragService, _zone: NgZone);
|
|
16
16
|
/**
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ViewDragData, ViewDragService } from './view-drag.service';
|
|
1
|
+
import { ViewDragData } from './view-drag.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
|
-
export type ConstrainFn = (rect:
|
|
3
|
+
export type ConstrainFn = (rect: DOMRect) => DOMRect;
|
|
5
4
|
/**
|
|
6
5
|
* Renders a drag image during a view drag operation.
|
|
7
6
|
*
|
|
@@ -9,23 +8,24 @@ export type ConstrainFn = (rect: ViewDragImageRect) => ViewDragImageRect;
|
|
|
9
8
|
* For instance, allows snapping the view tab into the view tab bar (drop zone) when being dragged over.
|
|
10
9
|
*/
|
|
11
10
|
export declare class ViewTabDragImageRenderer {
|
|
12
|
-
private _viewDragService;
|
|
13
|
-
private _componentFactoryResolver;
|
|
14
|
-
private _applicationRef;
|
|
15
|
-
private _injector;
|
|
16
|
-
private _zone;
|
|
11
|
+
private readonly _viewDragService;
|
|
12
|
+
private readonly _componentFactoryResolver;
|
|
13
|
+
private readonly _applicationRef;
|
|
14
|
+
private readonly _injector;
|
|
15
|
+
private readonly _zone;
|
|
17
16
|
private _viewDragImagePortalOutlet;
|
|
18
17
|
private _constrainDragImageRectFn;
|
|
19
|
-
constructor(
|
|
18
|
+
constructor();
|
|
20
19
|
/**
|
|
21
20
|
* Allows to constrain the position and dimension of the drag image during a view drag operation.
|
|
22
21
|
*/
|
|
23
|
-
setConstrainDragImageRectFn(fn:
|
|
22
|
+
setConstrainDragImageRectFn(fn: ConstrainFn): void;
|
|
24
23
|
/**
|
|
25
24
|
* Unsets the drag image constrain function, if registered.
|
|
26
25
|
*/
|
|
27
|
-
unsetConstrainDragImageRectFn(fn:
|
|
26
|
+
unsetConstrainDragImageRectFn(fn: ConstrainFn): void;
|
|
28
27
|
private onWindowDragStart;
|
|
28
|
+
private onWindowDragEnd;
|
|
29
29
|
/**
|
|
30
30
|
* Method invoked when dragging a view into the current window. It is invoked outside the Angular zone.
|
|
31
31
|
*
|
|
@@ -51,32 +51,8 @@ export declare class ViewTabDragImageRenderer {
|
|
|
51
51
|
/**
|
|
52
52
|
* Calculates client position and dimension for the drag image, accounting for any constraints.
|
|
53
53
|
*/
|
|
54
|
-
calculateDragImageRect(dragData: ViewDragData, event: DragEvent):
|
|
54
|
+
calculateDragImageRect(dragData: ViewDragData, event: DragEvent): DOMRect;
|
|
55
55
|
private installWindowViewDragListener;
|
|
56
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<ViewTabDragImageRenderer, never>;
|
|
57
57
|
static ɵprov: i0.ɵɵInjectableDeclaration<ViewTabDragImageRenderer>;
|
|
58
58
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Represents the position and dimension of the drag image.
|
|
61
|
-
*/
|
|
62
|
-
export declare class ViewDragImageRect {
|
|
63
|
-
/**
|
|
64
|
-
* Coordinate of the top left corner of the drag image in the "client" coordinate system.
|
|
65
|
-
*/
|
|
66
|
-
readonly x: number;
|
|
67
|
-
/**
|
|
68
|
-
* Coordinate of the top left corner of the drag image in the "client" coordinate system.
|
|
69
|
-
*/
|
|
70
|
-
readonly y: number;
|
|
71
|
-
/**
|
|
72
|
-
* Height of the drag image.
|
|
73
|
-
*/
|
|
74
|
-
readonly height: number;
|
|
75
|
-
/**
|
|
76
|
-
* Width of the drag image.
|
|
77
|
-
*/
|
|
78
|
-
readonly width: number;
|
|
79
|
-
constructor(rect: Omit<ViewDragImageRect, 'left' | 'right'>);
|
|
80
|
-
get left(): number;
|
|
81
|
-
get right(): number;
|
|
82
|
-
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType } from '@angular/cdk/portal';
|
|
2
|
-
import { Type } from '@angular/core';
|
|
2
|
+
import { Signal, Type } from '@angular/core';
|
|
3
3
|
import { LogAppender, LogLevel } from './logging';
|
|
4
4
|
import { MicrofrontendPlatformConfig } from '@scion/microfrontend-platform';
|
|
5
5
|
import { MicrofrontendPlatformConfigLoader } from './microfrontend-platform/microfrontend-platform-config-loader';
|
|
@@ -16,9 +16,9 @@ export declare abstract class WorkbenchConfig {
|
|
|
16
16
|
*/
|
|
17
17
|
abstract viewTabComponent?: ComponentType<unknown>;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Defines the component to display when no route matches the requested path.
|
|
20
20
|
*
|
|
21
|
-
* This
|
|
21
|
+
* This can happen when navigating to a non-existent route or after loading the application, if the routes have changed since the user's last session.
|
|
22
22
|
*
|
|
23
23
|
* The component can inject {@link WorkbenchView} to get a reference to the view, e.g., to obtain the requested URL.
|
|
24
24
|
*/
|
|
@@ -37,12 +37,12 @@ export declare abstract class WorkbenchConfig {
|
|
|
37
37
|
*/
|
|
38
38
|
abstract startup?: {
|
|
39
39
|
/**
|
|
40
|
-
* Configures the workbench launching strategy.
|
|
40
|
+
* Configures the workbench launching strategy. Defaults to `LAZY` if not specified.
|
|
41
41
|
*
|
|
42
42
|
* - **APP_INITIALIZER**
|
|
43
43
|
* Launches the workbench in an Angular `APP_INITIALIZER`, which is before bootstrapping the app component.
|
|
44
44
|
*
|
|
45
|
-
* - **LAZY**
|
|
45
|
+
* - **LAZY**
|
|
46
46
|
* Launches the workbench at the latest when bootstrapping the workbench root component `<wb-workbench>`.
|
|
47
47
|
*
|
|
48
48
|
* With this strategy, you are flexible when to start the workbench. You can start the workbench explicitly by
|
|
@@ -126,7 +126,9 @@ export declare abstract class WorkbenchConfig {
|
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
129
|
+
* Configuration of built-in menu items in the view's context menu.
|
|
130
|
+
*
|
|
131
|
+
* Each property represents a menu item, allowing customization of visibility, text, accelerators, and more.
|
|
130
132
|
*/
|
|
131
133
|
export interface ViewMenuItemsConfig {
|
|
132
134
|
close?: MenuItemConfig;
|
|
@@ -140,9 +142,19 @@ export interface ViewMenuItemsConfig {
|
|
|
140
142
|
moveLeft?: MenuItemConfig;
|
|
141
143
|
moveToNewWindow?: MenuItemConfig;
|
|
142
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Configures a built-in menu item.
|
|
147
|
+
*/
|
|
143
148
|
export interface MenuItemConfig {
|
|
144
149
|
visible?: boolean;
|
|
145
|
-
|
|
150
|
+
/**
|
|
151
|
+
* Specifies the text of this menu item.
|
|
152
|
+
*
|
|
153
|
+
* Can be a string or a function that returns a string or a {@link Signal}.
|
|
154
|
+
*
|
|
155
|
+
* The function can call `inject` to get any required dependencies, or use `toSignal` to convert an observable to a signal.
|
|
156
|
+
*/
|
|
157
|
+
text?: string | (() => string | Signal<string>);
|
|
146
158
|
accelerator?: string[];
|
|
147
159
|
group?: string;
|
|
148
160
|
cssClass?: string | string[];
|
|
@@ -1,48 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WorkbenchLauncher, WorkbenchStartup } from './startup/workbench-launcher.service';
|
|
3
|
-
import { WorkbenchConfig } from './workbench-config';
|
|
4
|
-
import { ComponentType } from '@angular/cdk/portal';
|
|
5
|
-
import { Logger } from './logging';
|
|
1
|
+
import { WorkbenchStartup } from './startup/workbench-launcher.service';
|
|
6
2
|
import * as i0 from "@angular/core";
|
|
7
3
|
/**
|
|
8
4
|
* Main entry point component of the SCION Workbench.
|
|
9
5
|
*/
|
|
10
|
-
export declare class WorkbenchComponent
|
|
6
|
+
export declare class WorkbenchComponent {
|
|
11
7
|
private _workbenchLauncher;
|
|
12
8
|
private _logger;
|
|
9
|
+
private _iframeOverlayHost;
|
|
10
|
+
private _viewDropZoneOverlayHost;
|
|
11
|
+
/** Splash to display during workbench startup. */
|
|
12
|
+
protected splash: import("@angular/cdk/portal").ComponentType<unknown>;
|
|
13
13
|
protected workbenchStartup: WorkbenchStartup;
|
|
14
|
-
|
|
15
|
-
* View containers required for the workbench to attach elements.
|
|
16
|
-
*/
|
|
17
|
-
private viewContainerReferences;
|
|
18
|
-
/**
|
|
19
|
-
* Splash to display during workbench startup.
|
|
20
|
-
*/
|
|
21
|
-
protected splash: ComponentType<unknown>;
|
|
22
|
-
/**
|
|
23
|
-
* Promise that resolves once all the required view containers for the workbench to attach elements have been injected from the template.
|
|
24
|
-
*
|
|
25
|
-
* To avoid an `ExpressionChangedAfterItHasBeenCheckedError`, make sure not to add the {@link WorkbenchLayoutComponent} before the relevant
|
|
26
|
-
* view containers have been injected. Otherwise, when loading an existing workbench layout (e.g., from URL) into the workbench, Angular
|
|
27
|
-
* will throw this error because views are rendered before view containers are available.
|
|
28
|
-
*/
|
|
29
|
-
protected whenViewContainersInjected: Promise<true>;
|
|
30
|
-
protected set injectIframeHost(vcr: ViewContainerRef);
|
|
31
|
-
protected set injectViewDropPlaceholderHost(vcr: ViewContainerRef);
|
|
32
|
-
constructor(workbenchConfig: WorkbenchConfig, _workbenchLauncher: WorkbenchLauncher, _logger: Logger, workbenchStartup: WorkbenchStartup);
|
|
14
|
+
constructor();
|
|
33
15
|
/**
|
|
34
16
|
* Starts the SCION Workbench. Has no effect if already started, e.g., in an app initializer or route guard.
|
|
35
17
|
*/
|
|
36
18
|
private startWorkbench;
|
|
37
19
|
/**
|
|
38
|
-
*
|
|
20
|
+
* Disables change detection during navigation to avoid partial DOM updates of the workbench layout
|
|
21
|
+
* if the navigation is asynchronous (e.g., because of lazy loading, async guards, or resolvers).
|
|
22
|
+
*/
|
|
23
|
+
private disableChangeDetectionDuringNavigation;
|
|
24
|
+
/**
|
|
25
|
+
* Initializes tokens to inject references to workbench elements.
|
|
39
26
|
*/
|
|
40
|
-
private
|
|
27
|
+
private provideWorkbenchElementReferences;
|
|
41
28
|
/**
|
|
42
|
-
*
|
|
29
|
+
* Throws if loading the workbench recursively.
|
|
43
30
|
*/
|
|
44
|
-
private
|
|
45
|
-
ngOnDestroy(): void;
|
|
31
|
+
private throwOnCircularLoad;
|
|
46
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchComponent, never>;
|
|
47
33
|
static ɵcmp: i0.ɵɵComponentDeclaration<WorkbenchComponent, "wb-workbench", never, {}, {}, never, never, true, never>;
|
|
48
34
|
}
|