@scion/workbench 18.0.0-beta.1 → 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/common/class-list.mjs +67 -29
- package/esm2022/lib/common/math.util.mjs +16 -0
- package/esm2022/lib/common/objects.util.mjs +7 -1
- package/esm2022/lib/common/operators.mjs +1 -12
- package/esm2022/lib/common/uid.util.mjs +22 -0
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +85 -28
- package/esm2022/lib/content-projection/workbench-element-references.mjs +32 -0
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -8
- package/esm2022/lib/dialog/movable.directive.mjs +3 -3
- package/esm2022/lib/dialog/resizable.directive.mjs +3 -3
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +25 -23
- package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +98 -60
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +26 -23
- 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 +5 -5
- package/esm2022/lib/layout/grid-element/grid-element.component.mjs +8 -18
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +18 -21
- 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 +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 +18 -22
- 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 +26 -24
- package/esm2022/lib/layout/workbench-layouts.util.mjs +1 -9
- package/esm2022/lib/layout/workench-layout-serializer.service.mjs +19 -27
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +3 -2
- package/esm2022/lib/layout//311/265workbench-layout.mjs +73 -62
- package/esm2022/lib/logging/logging-support.mjs +7 -13
- package/esm2022/lib/logging//311/265logger.mjs +10 -10
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +7 -6
- package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
- package/esm2022/lib/message-box/workbench-message-box.component.mjs +2 -2
- package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +3 -2
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +22 -6
- package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +28 -21
- package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +11 -1
- package/esm2022/lib/microfrontend-platform/manifest-object-cache.service.mjs +63 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +6 -10
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +18 -9
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +7 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +15 -13
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +3 -2
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +6 -11
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.mjs +39 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.mjs +120 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.mjs +55 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.mjs +19 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +11 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +12 -28
- package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +11 -27
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +91 -71
- package/esm2022/lib/microfrontend-platform/public_api.mjs +2 -1
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +18 -16
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +30 -8
- package/esm2022/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.mjs +32 -0
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +26 -8
- package/esm2022/lib/notification/notification-list.component.mjs +4 -8
- package/esm2022/lib/notification/notification.component.mjs +4 -5
- package/esm2022/lib/notification/notification.service.mjs +5 -4
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +5 -7
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +11 -19
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +333 -264
- package/esm2022/lib/part/part-portal.pipe.mjs +8 -8
- package/esm2022/lib/part/part.component.mjs +33 -42
- package/esm2022/lib/part/view-context-menu/text.component.mjs +16 -12
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -6
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +2 -2
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +48 -49
- package/esm2022/lib/part/view-list/view-list.component.mjs +41 -48
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +22 -26
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +15 -17
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +99 -110
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -4
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +16 -17
- package/esm2022/lib/part/workbench-part-action.registry.mjs +18 -42
- package/esm2022/lib/part/workbench-part.model.mjs +10 -1
- package/esm2022/lib/part/workbench-part.registry.mjs +11 -45
- package/esm2022/lib/part//311/265workbench-part.model.mjs +71 -55
- package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +3 -3
- package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
- package/esm2022/lib/perspective/workbench-perspective.registry.mjs +11 -43
- package/esm2022/lib/perspective/workbench-perspective.service.mjs +71 -62
- package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +2 -2
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +62 -47
- package/esm2022/lib/popup/popup.component.mjs +3 -3
- package/esm2022/lib/popup/popup.config.mjs +27 -25
- package/esm2022/lib/popup/popup.service.mjs +169 -174
- package/esm2022/lib/portal/wb-component-portal.mjs +18 -17
- package/esm2022/lib/public_api.mjs +1 -1
- package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
- 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/workbench-auxiliary-route-installer.service.mjs +110 -0
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -10
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-navigational-states.mjs +2 -2
- package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-route-guards.mjs +57 -0
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +140 -148
- package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +58 -0
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +119 -74
- package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
- package/esm2022/lib/startup/workbench-launcher.service.mjs +22 -10
- package/esm2022/lib/testing/workbench.provider.mjs +2 -2
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +15 -19
- package/esm2022/lib/view/public_api.mjs +1 -2
- package/esm2022/lib/view/view-move-handler.service.mjs +71 -56
- package/esm2022/lib/view/view-portal.pipe.mjs +7 -7
- package/esm2022/lib/view/view.component.mjs +54 -42
- 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/view-drag.service.mjs +87 -71
- package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +6 -6
- package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +6 -6
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +43 -56
- package/esm2022/lib/workbench-config.mjs +2 -2
- package/esm2022/lib/workbench-id.mjs +3 -3
- package/esm2022/lib/workbench.component.mjs +66 -54
- package/esm2022/lib/workbench.constants.mjs +1 -5
- package/esm2022/lib/workbench.model.mjs +1 -1
- package/esm2022/lib/workbench.provider.mjs +3 -9
- package/esm2022/lib/workbench.service.mjs +1 -1
- package/esm2022/lib//311/265workbench.service.mjs +38 -42
- package/fesm2022/scion-workbench.mjs +4054 -3276
- 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 +4 -0
- 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-v5.service.d.ts +12 -0
- 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 +5 -5
- 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/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/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
|
@@ -7,17 +7,21 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import { Component, inject, Injector, Input, runInInjectionContext } from '@angular/core';
|
|
10
|
+
import { Component, DestroyRef, inject, Injector, Input, runInInjectionContext } from '@angular/core';
|
|
11
11
|
import { WorkbenchDialog as WorkbenchClientDialog } from '@scion/workbench-client';
|
|
12
|
-
import {
|
|
12
|
+
import { Routing } from '../../routing/routing.util';
|
|
13
13
|
import { RouterOutlet } from '@angular/router';
|
|
14
14
|
import { ɵWorkbenchDialog } from '../../dialog/ɵworkbench-dialog';
|
|
15
15
|
import { WorkbenchDialog } from '../../dialog/workbench-dialog';
|
|
16
16
|
import { NgTemplateOutlet } from '@angular/common';
|
|
17
17
|
import { DIALOG_ID_PREFIX } from '../../workbench.constants';
|
|
18
|
+
import { Subject } from 'rxjs';
|
|
18
19
|
import { throwError } from '../../common/throw-error.util';
|
|
19
20
|
import { Microfrontends } from '../common/microfrontend.util';
|
|
20
|
-
import {
|
|
21
|
+
import { ANGULAR_ROUTER_MUTEX } from '../../executor/single-task-executor';
|
|
22
|
+
import { Observables } from '@scion/toolkit/util';
|
|
23
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
24
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
21
25
|
import * as i0 from "@angular/core";
|
|
22
26
|
import * as i1 from "../../dialog/\u0275workbench-dialog";
|
|
23
27
|
import * as i2 from "@angular/router";
|
|
@@ -34,7 +38,8 @@ export class MicrofrontendHostDialogComponent {
|
|
|
34
38
|
this._dialog = _dialog;
|
|
35
39
|
this._injector = _injector;
|
|
36
40
|
this._router = _router;
|
|
37
|
-
|
|
41
|
+
/** Mutex to serialize Angular Router navigation requests, preventing the cancellation of previously initiated asynchronous navigations. */
|
|
42
|
+
this._angularRouterMutex = inject(ANGULAR_ROUTER_MUTEX);
|
|
38
43
|
this.outletName = DIALOG_ID_PREFIX.concat(this._dialog.id);
|
|
39
44
|
}
|
|
40
45
|
ngOnInit() {
|
|
@@ -51,9 +56,9 @@ export class MicrofrontendHostDialogComponent {
|
|
|
51
56
|
*/
|
|
52
57
|
navigate(path, extras) {
|
|
53
58
|
path = Microfrontends.substituteNamedParameters(path, extras?.params);
|
|
54
|
-
const outletCommands = (path !== null ? runInInjectionContext(this._injector, () =>
|
|
59
|
+
const outletCommands = (path !== null ? runInInjectionContext(this._injector, () => Routing.pathToCommands(path)) : null);
|
|
55
60
|
const commands = [{ outlets: { [this.outletName]: outletCommands } }];
|
|
56
|
-
return this.
|
|
61
|
+
return this._angularRouterMutex.submit(() => this._router.navigate(commands, { skipLocationChange: true, queryParamsHandling: 'preserve' }));
|
|
57
62
|
}
|
|
58
63
|
createOutletInjector() {
|
|
59
64
|
this.outletInjector = Injector.create({
|
|
@@ -98,18 +103,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
98
103
|
/**
|
|
99
104
|
* Provides the {WorkbenchDialog} handle to the routed component.
|
|
100
105
|
*/
|
|
101
|
-
|
|
106
|
+
function provideWorkbenchClientDialogHandle(capability, params) {
|
|
102
107
|
return {
|
|
103
108
|
provide: WorkbenchClientDialog,
|
|
104
109
|
useFactory: () => {
|
|
105
110
|
const dialog = inject(ɵWorkbenchDialog);
|
|
111
|
+
const propertyChange$ = new Subject();
|
|
106
112
|
return new class {
|
|
107
113
|
constructor() {
|
|
108
114
|
this.capability = capability;
|
|
109
115
|
this.params = params;
|
|
110
116
|
}
|
|
111
117
|
setTitle(title) {
|
|
112
|
-
|
|
118
|
+
propertyChange$.next('title');
|
|
119
|
+
Observables.coerce(title)
|
|
120
|
+
.pipe(takeUntil(propertyChange$.pipe(filter(prop => prop === 'title'))), takeUntilDestroyed(dialog.injector.get(DestroyRef)))
|
|
121
|
+
.subscribe(title => dialog.title = title);
|
|
113
122
|
}
|
|
114
123
|
close(result) {
|
|
115
124
|
dialog.close(result);
|
|
@@ -121,4 +130,4 @@ export function provideWorkbenchClientDialogHandle(capability, params) {
|
|
|
121
130
|
},
|
|
122
131
|
};
|
|
123
132
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1kaWFsb2cvbWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1kaWFsb2cvbWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLHFCQUFxQixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZUFBZSxJQUFJLHFCQUFxQixFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBQzVHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJB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QUFnQztrQkFWNUMsU0FBUzsrQkFDRSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtpSUFLTSxVQUFVO3NCQURoQixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFJaEIsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQzs7QUFnRXpCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLFVBQXFDLEVBQUUsTUFBNEI7SUFDcEgsT0FBTztRQUNMLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsVUFBVSxFQUFFLEdBQTBCLEVBQUU7WUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFeEMsT0FBTyxJQUFJO2dCQUFBO29CQUNPLGVBQVUsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFdBQU0sR0FBRyxNQUFNLENBQUM7Z0JBYWxDLENBQUM7Z0JBWFEsUUFBUSxDQUFDLEtBQWtDO29CQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsQ0FBQztnQkFFTSxLQUFLLENBQUMsTUFBa0I7b0JBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZCLENBQUM7Z0JBRU0sV0FBVztvQkFDaEIsd0RBQXdEO2dCQUMxRCxDQUFDO2FBQ0YsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIGluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBTdGF0aWNQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaERpYWxvZyBhcyBXb3JrYmVuY2hDbGllbnREaWFsb2csIFdvcmtiZW5jaERpYWxvZ0NhcGFiaWxpdHl9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7Um91dGVyVXRpbHN9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGVyLnV0aWwnO1xuaW1wb3J0IHtDb21tYW5kc30gZnJvbSAnLi4vLi4vcm91dGluZy9yb3V0aW5nLm1vZGVsJztcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi8uLi9kaWFsb2cvybV3b3JrYmVuY2gtZGlhbG9nJztcbmltcG9ydCB7V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi8uLi9kaWFsb2cvd29ya2JlbmNoLWRpYWxvZyc7XG5pbXBvcnQge05nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0RJQUxPR19JRF9QUkVGSVh9IGZyb20gJy4uLy4uL3dvcmtiZW5jaC5jb25zdGFudHMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGhyb3dFcnJvcn0gZnJvbSAnLi4vLi4vY29tbW9uL3Rocm93LWVycm9yLnV0aWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kc30gZnJvbSAnLi4vY29tbW9uL21pY3JvZnJvbnRlbmQudXRpbCc7XG5pbXBvcnQge1NJTkdMRV9OQVZJR0FUSU9OX0VYRUNVVE9SfSBmcm9tICcuLi8uLi9leGVjdXRvci9zaW5nbGUtdGFzay1leGVjdXRvcic7XG5cbi8qKlxuICogTmF2aWdhdGVzIHRvIHRoZSBtaWNyb2Zyb250ZW5kIG9mIGEgZ2l2ZW4ge0BsaW5rIFdvcmtiZW5jaERpYWxvZ0NhcGFiaWxpdHl9IHZpYSB7QGxpbmsgUm91dGVyfS5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIE1pY3JvZnJvbnRlbmREaWFsb2dDb21wb25lbnR9LCB0aGlzIGNvbXBvbmVudCB1c2VzIGEgYDxyb3V0ZXItb3V0bGV0PmAgaW5zdGVhZCBvZiBhIGA8c2NpLXJvdXRlci1vdXRsZXQ+YFxuICogdG8gYWxsb3cgZGlyZWN0IGludGVncmF0aW9uIG9mIHRoZSBjb250ZW50IHByb3ZpZGVkIGJ5IHRoZSB3b3JrYmVuY2ggaG9zdCBhcHBsaWNhdGlvbiB2aWEgdGhlIEFuZ3VsYXIgcm91dGVyLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIGJlIGRpc3BsYXllZCBpbiBhIHdvcmtiZW5jaCBkaWFsb2cuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLW1pY3JvZnJvbnRlbmQtaG9zdC1kaWFsb2cnLFxuICBzdHlsZVVybHM6IFsnLi9taWNyb2Zyb250ZW5kLWhvc3QtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9taWNyb2Zyb250ZW5kLWhvc3QtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kSG9zdERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSlcbiAgcHVibGljIGNhcGFiaWxpdHkhOiBXb3JrYmVuY2hEaWFsb2dDYXBhYmlsaXR5O1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICBwdWJsaWMgcGFyYW1zITogTWFwPHN0cmluZywgdW5rbm93bj47XG5cbiAgcHJvdGVjdGVkIG91dGxldE5hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIG91dGxldEluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgcHJpdmF0ZSBfc2luZ2xlTmF2aWdhdGlvbkV4ZWN1dG9yID0gaW5qZWN0KFNJTkdMRV9OQVZJR0FUSU9OX0VYRUNVVE9SKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2c6IMm1V29ya2JlbmNoRGlhbG9nLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5vdXRsZXROYW1lID0gRElBTE9HX0lEX1BSRUZJWC5jb25jYXQodGhpcy5fZGlhbG9nLmlkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERpYWxvZ1Byb3BlcnRpZXMoKTtcbiAgICB0aGlzLmNyZWF0ZU91dGxldEluamVjdG9yKCk7XG4gICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7cGFyYW1zOiB0aGlzLnBhcmFtc30pLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nLmNsb3NlKEVycm9yKCdbRGlhbG9nTmF2aWdhdGVFcnJvcl0gTmF2aWdhdGlvbiBjYW5jZWxlZCwgbW9zdCBsaWtlbHkgYnkgYSByb3V0ZSBndWFyZCBvciBhIHBhcmFsbGVsIG5hdmlnYXRpb24uJykpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIG5hdmlnYXRpb24gaW4gdGhlIG5hbWVkIG91dGxldCwgc3Vic3RpdHV0aW5nIHBhdGggcGFyYW1zIGlmIGFueS4gVG8gY2xlYXIgbmF2aWdhdGlvbiwgcGFzcyBgbnVsbGAgYXMgdGhlIHBhdGguXG4gICAqL1xuICBwcml2YXRlIG5hdmlnYXRlKHBhdGg6IHN0cmluZyB8IG51bGwsIGV4dHJhcz86IHtwYXJhbXM/OiBNYXA8c3RyaW5nLCBhbnk+fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHBhdGggPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHBhdGgsIGV4dHJhcz8ucGFyYW1zKTtcblxuICAgIGNvbnN0IG91dGxldENvbW1hbmRzOiBDb21tYW5kcyB8IG51bGwgPSAocGF0aCAhPT0gbnVsbCA/IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLl9pbmplY3RvciwgKCkgPT4gUm91dGVyVXRpbHMucGF0aFRvQ29tbWFuZHMocGF0aCEpKSA6IG51bGwpO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBDb21tYW5kcyA9IFt7b3V0bGV0czoge1t0aGlzLm91dGxldE5hbWVdOiBvdXRsZXRDb21tYW5kc319XTtcbiAgICByZXR1cm4gdGhpcy5fc2luZ2xlTmF2aWdhdGlvbkV4ZWN1dG9yLnN1Ym1pdCgoKSA9PiB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIHtza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUsIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdwcmVzZXJ2ZSd9KSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU91dGxldEluamVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMub3V0bGV0SW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVXb3JrYmVuY2hDbGllbnREaWFsb2dIYW5kbGUodGhpcy5jYXBhYmlsaXR5LCB0aGlzLnBhcmFtcyksXG4gICAgICAgIC8vIFByZXZlbnQgaW5qZWN0aW5nIHRoZSBkaWFsb2cgaGFuZGxlIGluIGhvc3QgZGlhbG9nIGNvbXBvbmVudC5cbiAgICAgICAge3Byb3ZpZGU6IFdvcmtiZW5jaERpYWxvZywgdXNlRmFjdG9yeTogKCkgPT4gdGhyb3dFcnJvcihgW051bGxJbmplY3RvckVycm9yXSBObyBwcm92aWRlciBmb3IgJ1dvcmtiZW5jaERpYWxvZydgKX0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREaWFsb2dQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5zaXplLndpZHRoID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ud2lkdGg7XG4gICAgdGhpcy5fZGlhbG9nLnNpemUuaGVpZ2h0ID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8uaGVpZ2h0O1xuICAgIHRoaXMuX2RpYWxvZy5zaXplLm1pbldpZHRoID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWluV2lkdGg7XG4gICAgdGhpcy5fZGlhbG9nLnNpemUubWF4V2lkdGggPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5tYXhXaWR0aDtcbiAgICB0aGlzLl9kaWFsb2cuc2l6ZS5taW5IZWlnaHQgPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5taW5IZWlnaHQ7XG4gICAgdGhpcy5fZGlhbG9nLnNpemUubWF4SGVpZ2h0ID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWF4SGVpZ2h0O1xuXG4gICAgdGhpcy5fZGlhbG9nLnRpdGxlID0gTWljcm9mcm9udGVuZHMuc3Vic3RpdHV0ZU5hbWVkUGFyYW1ldGVycyh0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy50aXRsZSwgdGhpcy5wYXJhbXMpO1xuICAgIHRoaXMuX2RpYWxvZy5jbG9zYWJsZSA9IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLmNsb3NhYmxlID8/IHRydWU7XG4gICAgdGhpcy5fZGlhbG9nLnJlc2l6YWJsZSA9IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnJlc2l6YWJsZSA/PyB0cnVlO1xuICAgIHRoaXMuX2RpYWxvZy5wYWRkaW5nID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMucGFkZGluZyA/PyB0cnVlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmF2aWdhdGUobnVsbCkudGhlbigpOyAvLyBSZW1vdmUgdGhlIG91dGxldCBmcm9tIHRoZSBVUkxcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSB7V29ya2JlbmNoRGlhbG9nfSBoYW5kbGUgdG8gdGhlIHJvdXRlZCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlV29ya2JlbmNoQ2xpZW50RGlhbG9nSGFuZGxlKGNhcGFiaWxpdHk6IFdvcmtiZW5jaERpYWxvZ0NhcGFiaWxpdHksIHBhcmFtczogTWFwPHN0cmluZywgdW5rbm93bj4pOiBTdGF0aWNQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogV29ya2JlbmNoQ2xpZW50RGlhbG9nLFxuICAgIHVzZUZhY3Rvcnk6ICgpOiBXb3JrYmVuY2hDbGllbnREaWFsb2cgPT4ge1xuICAgICAgY29uc3QgZGlhbG9nID0gaW5qZWN0KMm1V29ya2JlbmNoRGlhbG9nKTtcblxuICAgICAgcmV0dXJuIG5ldyBjbGFzczxSID0gdW5rbm93bj4gaW1wbGVtZW50cyBXb3JrYmVuY2hDbGllbnREaWFsb2c8Uj4ge1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY2FwYWJpbGl0eSA9IGNhcGFiaWxpdHk7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBwYXJhbXMgPSBwYXJhbXM7XG5cbiAgICAgICAgcHVibGljIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgICBkaWFsb2cudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBSIHwgRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgICBkaWFsb2cuY2xvc2UocmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzaWduYWxSZWFkeSgpOiB2b2lkIHtcbiAgICAgICAgICAvLyBub3RoaW5nIHRvIGRvIHNpbmNlIG5vdCBhbiBpZnJhbWUtYmFzZWQgbWljcm9mcm9udGVuZFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVyX291dGxldDsgaW5qZWN0b3I6IG91dGxldEluamVjdG9yXCIvPlxuXG48bmctdGVtcGxhdGUgI3JvdXRlcl9vdXRsZXQ+XG4gIDxyb3V0ZXItb3V0bGV0IFtuYW1lXT1cIm91dGxldE5hbWVcIi8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1kaWFsb2cvbWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1kaWFsb2cvbWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixxQkFBcUIsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFDLGVBQWUsSUFBSSxxQkFBcUIsRUFBNEIsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFbkQsT0FBTyxFQUFTLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMs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QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ3BEO3lCQUNBLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQzlDLENBQUM7Z0JBRU0sS0FBSyxDQUFDLE1BQWtCO29CQUM3QixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QixDQUFDO2dCQUVNLFdBQVc7b0JBQ2hCLHdEQUF3RDtnQkFDMUQsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgU3RhdGljUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hEaWFsb2cgYXMgV29ya2JlbmNoQ2xpZW50RGlhbG9nLCBXb3JrYmVuY2hEaWFsb2dDYXBhYmlsaXR5fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge1JvdXRpbmd9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy51dGlsJztcbmltcG9ydCB7Q29tbWFuZHN9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy5tb2RlbCc7XG5pbXBvcnQge1JvdXRlciwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHvJtVdvcmtiZW5jaERpYWxvZ30gZnJvbSAnLi4vLi4vZGlhbG9nL8m1d29ya2JlbmNoLWRpYWxvZyc7XG5pbXBvcnQge1dvcmtiZW5jaERpYWxvZ30gZnJvbSAnLi4vLi4vZGlhbG9nL3dvcmtiZW5jaC1kaWFsb2cnO1xuaW1wb3J0IHtOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtESUFMT0dfSURfUFJFRklYfSBmcm9tICcuLi8uLi93b3JrYmVuY2guY29uc3RhbnRzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rocm93RXJyb3J9IGZyb20gJy4uLy4uL2NvbW1vbi90aHJvdy1lcnJvci51dGlsJztcbmltcG9ydCB7TWljcm9mcm9udGVuZHN9IGZyb20gJy4uL2NvbW1vbi9taWNyb2Zyb250ZW5kLnV0aWwnO1xuaW1wb3J0IHtBTkdVTEFSX1JPVVRFUl9NVVRFWH0gZnJvbSAnLi4vLi4vZXhlY3V0b3Ivc2luZ2xlLXRhc2stZXhlY3V0b3InO1xuaW1wb3J0IHtPYnNlcnZhYmxlc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge2ZpbHRlciwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIE5hdmlnYXRlcyB0byB0aGUgbWljcm9mcm9udGVuZCBvZiBhIGdpdmVuIHtAbGluayBXb3JrYmVuY2hEaWFsb2dDYXBhYmlsaXR5fSB2aWEge0BsaW5rIFJvdXRlcn0uXG4gKlxuICogVW5saWtlIHtAbGluayBNaWNyb2Zyb250ZW5kRGlhbG9nQ29tcG9uZW50fSwgdGhpcyBjb21wb25lbnQgdXNlcyBhIGA8cm91dGVyLW91dGxldD5gIGluc3RlYWQgb2YgYSBgPHNjaS1yb3V0ZXItb3V0bGV0PmBcbiAqIHRvIGFsbG93IGRpcmVjdCBpbnRlZ3JhdGlvbiBvZiB0aGUgY29udGVudCBwcm92aWRlZCBieSB0aGUgd29ya2JlbmNoIGhvc3QgYXBwbGljYXRpb24gdmlhIHRoZSBBbmd1bGFyIHJvdXRlci5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkZXNpZ25lZCB0byBiZSBkaXNwbGF5ZWQgaW4gYSB3b3JrYmVuY2ggZGlhbG9nLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1taWNyb2Zyb250ZW5kLWhvc3QtZGlhbG9nJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbWljcm9mcm9udGVuZC1ob3N0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJPdXRsZXQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWljcm9mcm9udGVuZEhvc3REaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIHB1YmxpYyBjYXBhYmlsaXR5ITogV29ya2JlbmNoRGlhbG9nQ2FwYWJpbGl0eTtcblxuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSlcbiAgcHVibGljIHBhcmFtcyE6IE1hcDxzdHJpbmcsIHVua25vd24+O1xuXG4gIHByb3RlY3RlZCBvdXRsZXROYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBvdXRsZXRJbmplY3RvciE6IEluamVjdG9yO1xuXG4gIC8qKiBNdXRleCB0byBzZXJpYWxpemUgQW5ndWxhciBSb3V0ZXIgbmF2aWdhdGlvbiByZXF1ZXN0cywgcHJldmVudGluZyB0aGUgY2FuY2VsbGF0aW9uIG9mIHByZXZpb3VzbHkgaW5pdGlhdGVkIGFzeW5jaHJvbm91cyBuYXZpZ2F0aW9ucy4gKi9cbiAgcHJpdmF0ZSBfYW5ndWxhclJvdXRlck11dGV4ID0gaW5qZWN0KEFOR1VMQVJfUk9VVEVSX01VVEVYKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2c6IMm1V29ya2JlbmNoRGlhbG9nLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5vdXRsZXROYW1lID0gRElBTE9HX0lEX1BSRUZJWC5jb25jYXQodGhpcy5fZGlhbG9nLmlkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERpYWxvZ1Byb3BlcnRpZXMoKTtcbiAgICB0aGlzLmNyZWF0ZU91dGxldEluamVjdG9yKCk7XG4gICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7cGFyYW1zOiB0aGlzLnBhcmFtc30pLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nLmNsb3NlKEVycm9yKCdbRGlhbG9nTmF2aWdhdGVFcnJvcl0gTmF2aWdhdGlvbiBjYW5jZWxlZCwgbW9zdCBsaWtlbHkgYnkgYSByb3V0ZSBndWFyZCBvciBhIHBhcmFsbGVsIG5hdmlnYXRpb24uJykpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIG5hdmlnYXRpb24gaW4gdGhlIG5hbWVkIG91dGxldCwgc3Vic3RpdHV0aW5nIHBhdGggcGFyYW1zIGlmIGFueS4gVG8gY2xlYXIgbmF2aWdhdGlvbiwgcGFzcyBgbnVsbGAgYXMgdGhlIHBhdGguXG4gICAqL1xuICBwcml2YXRlIG5hdmlnYXRlKHBhdGg6IHN0cmluZyB8IG51bGwsIGV4dHJhcz86IHtwYXJhbXM/OiBNYXA8c3RyaW5nLCBhbnk+fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHBhdGggPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHBhdGgsIGV4dHJhcz8ucGFyYW1zKTtcblxuICAgIGNvbnN0IG91dGxldENvbW1hbmRzOiBDb21tYW5kcyB8IG51bGwgPSAocGF0aCAhPT0gbnVsbCA/IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLl9pbmplY3RvciwgKCkgPT4gUm91dGluZy5wYXRoVG9Db21tYW5kcyhwYXRoISkpIDogbnVsbCk7XG4gICAgY29uc3QgY29tbWFuZHM6IENvbW1hbmRzID0gW3tvdXRsZXRzOiB7W3RoaXMub3V0bGV0TmFtZV06IG91dGxldENvbW1hbmRzfX1dO1xuICAgIHJldHVybiB0aGlzLl9hbmd1bGFyUm91dGVyTXV0ZXguc3VibWl0KCgpID0+IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywge3NraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ3ByZXNlcnZlJ30pKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3V0bGV0SW5qZWN0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5vdXRsZXRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbcHJvdmlkZVdvcmtiZW5jaENsaWVudERpYWxvZ0hhbmRsZSh0aGlzLmNhcGFiaWxpdHksIHRoaXMucGFyYW1zKSxcbiAgICAgICAgLy8gUHJldmVudCBpbmplY3RpbmcgdGhlIGRpYWxvZyBoYW5kbGUgaW4gaG9zdCBkaWFsb2cgY29tcG9uZW50LlxuICAgICAgICB7cHJvdmlkZTogV29ya2JlbmNoRGlhbG9nLCB1c2VGYWN0b3J5OiAoKSA9PiB0aHJvd0Vycm9yKGBbTnVsbEluamVjdG9yRXJyb3JdIE5vIHByb3ZpZGVyIGZvciAnV29ya2JlbmNoRGlhbG9nJ2ApfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldERpYWxvZ1Byb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nLnNpemUud2lkdGggPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy53aWR0aDtcbiAgICB0aGlzLl9kaWFsb2cuc2l6ZS5oZWlnaHQgPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5oZWlnaHQ7XG4gICAgdGhpcy5fZGlhbG9nLnNpemUubWluV2lkdGggPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5taW5XaWR0aDtcbiAgICB0aGlzLl9kaWFsb2cuc2l6ZS5tYXhXaWR0aCA9IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1heFdpZHRoO1xuICAgIHRoaXMuX2RpYWxvZy5zaXplLm1pbkhlaWdodCA9IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1pbkhlaWdodDtcbiAgICB0aGlzLl9kaWFsb2cuc2l6ZS5tYXhIZWlnaHQgPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5tYXhIZWlnaHQ7XG5cbiAgICB0aGlzLl9kaWFsb2cudGl0bGUgPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnRpdGxlLCB0aGlzLnBhcmFtcyk7XG4gICAgdGhpcy5fZGlhbG9nLmNsb3NhYmxlID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuY2xvc2FibGUgPz8gdHJ1ZTtcbiAgICB0aGlzLl9kaWFsb2cucmVzaXphYmxlID0gdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMucmVzaXphYmxlID8/IHRydWU7XG4gICAgdGhpcy5fZGlhbG9nLnBhZGRpbmcgPSB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5wYWRkaW5nID8/IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uYXZpZ2F0ZShudWxsKS50aGVuKCk7IC8vIFJlbW92ZSB0aGUgb3V0bGV0IGZyb20gdGhlIFVSTFxuICB9XG59XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIHtXb3JrYmVuY2hEaWFsb2d9IGhhbmRsZSB0byB0aGUgcm91dGVkIGNvbXBvbmVudC5cbiAqL1xuZnVuY3Rpb24gcHJvdmlkZVdvcmtiZW5jaENsaWVudERpYWxvZ0hhbmRsZShjYXBhYmlsaXR5OiBXb3JrYmVuY2hEaWFsb2dDYXBhYmlsaXR5LCBwYXJhbXM6IE1hcDxzdHJpbmcsIHVua25vd24+KTogU3RhdGljUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFdvcmtiZW5jaENsaWVudERpYWxvZyxcbiAgICB1c2VGYWN0b3J5OiAoKTogV29ya2JlbmNoQ2xpZW50RGlhbG9nID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZyA9IGluamVjdCjJtVdvcmtiZW5jaERpYWxvZyk7XG4gICAgICBjb25zdCBwcm9wZXJ0eUNoYW5nZSQgPSBuZXcgU3ViamVjdDwndGl0bGUnPigpO1xuXG4gICAgICByZXR1cm4gbmV3IGNsYXNzPFIgPSB1bmtub3duPiBpbXBsZW1lbnRzIFdvcmtiZW5jaENsaWVudERpYWxvZzxSPiB7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjYXBhYmlsaXR5ID0gY2FwYWJpbGl0eTtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHBhcmFtcyA9IHBhcmFtcztcblxuICAgICAgICBwdWJsaWMgc2V0VGl0bGUodGl0bGU6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICAgIHByb3BlcnR5Q2hhbmdlJC5uZXh0KCd0aXRsZScpO1xuXG4gICAgICAgICAgT2JzZXJ2YWJsZXMuY29lcmNlKHRpdGxlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRha2VVbnRpbChwcm9wZXJ0eUNoYW5nZSQucGlwZShmaWx0ZXIocHJvcCA9PiBwcm9wID09PSAndGl0bGUnKSkpLFxuICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoZGlhbG9nLmluamVjdG9yLmdldChEZXN0cm95UmVmKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRpdGxlID0+IGRpYWxvZy50aXRsZSA9IHRpdGxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBSIHwgRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgICBkaWFsb2cuY2xvc2UocmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzaWduYWxSZWFkeSgpOiB2b2lkIHtcbiAgICAgICAgICAvLyBub3RoaW5nIHRvIGRvIHNpbmNlIG5vdCBhbiBpZnJhbWUtYmFzZWQgbWljcm9mcm9udGVuZFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVyX291dGxldDsgaW5qZWN0b3I6IG91dGxldEluamVjdG9yXCIvPlxuXG48bmctdGVtcGxhdGUgI3JvdXRlcl9vdXRsZXQ+XG4gIDxyb3V0ZXItb3V0bGV0IFtuYW1lXT1cIm91dGxldE5hbWVcIi8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { Component, inject, Injector, Input, runInInjectionContext } from '@angular/core';
|
|
11
11
|
import { WorkbenchMessageBox } from '@scion/workbench-client';
|
|
12
|
-
import {
|
|
12
|
+
import { Routing } from '../../routing/routing.util';
|
|
13
13
|
import { RouterOutlet } from '@angular/router';
|
|
14
14
|
import { NgTemplateOutlet } from '@angular/common';
|
|
15
15
|
import { MESSAGE_BOX_ID_PREFIX } from '../../workbench.constants';
|
|
16
16
|
import { UUID } from '@scion/toolkit/uuid';
|
|
17
17
|
import { Microfrontends } from '../common/microfrontend.util';
|
|
18
|
-
import {
|
|
18
|
+
import { ANGULAR_ROUTER_MUTEX } from '../../executor/single-task-executor';
|
|
19
19
|
import { setStyle } from '../../common/dom.util';
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
21
|
import * as i1 from "../../dialog/\u0275workbench-dialog";
|
|
@@ -34,7 +34,8 @@ export class MicrofrontendHostMessageBoxComponent {
|
|
|
34
34
|
this._dialog = _dialog;
|
|
35
35
|
this._injector = _injector;
|
|
36
36
|
this._router = _router;
|
|
37
|
-
|
|
37
|
+
/** Mutex to serialize Angular Router navigation requests, preventing the cancellation of previously initiated asynchronous navigations. */
|
|
38
|
+
this._angularRouterMutex = inject(ANGULAR_ROUTER_MUTEX);
|
|
38
39
|
this.outletName = MESSAGE_BOX_ID_PREFIX.concat(UUID.randomUUID());
|
|
39
40
|
}
|
|
40
41
|
ngOnInit() {
|
|
@@ -51,9 +52,9 @@ export class MicrofrontendHostMessageBoxComponent {
|
|
|
51
52
|
*/
|
|
52
53
|
navigate(path, extras) {
|
|
53
54
|
path = Microfrontends.substituteNamedParameters(path, extras?.params);
|
|
54
|
-
const outletCommands = (path !== null ? runInInjectionContext(this._injector, () =>
|
|
55
|
+
const outletCommands = (path !== null ? runInInjectionContext(this._injector, () => Routing.pathToCommands(path)) : null);
|
|
55
56
|
const commands = [{ outlets: { [this.outletName]: outletCommands } }];
|
|
56
|
-
return this.
|
|
57
|
+
return this._angularRouterMutex.submit(() => this._router.navigate(commands, { skipLocationChange: true, queryParamsHandling: 'preserve' }));
|
|
57
58
|
}
|
|
58
59
|
createOutletInjector() {
|
|
59
60
|
this.outletInjector = Injector.create({
|
|
@@ -109,4 +110,4 @@ export function provideWorkbenchClientMessageBoxHandle(capability, params) {
|
|
|
109
110
|
},
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94L21pY3JvZnJvbnRlbmQtaG9zdC1tZXNzYWdlLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1tZXNzYWdlLWJveC9taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixxQkFBcUIsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFDLG1CQUFtQixFQUFnQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsUUFB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QUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxJQUFJO1lBQ2hFLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLElBQUk7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGlDQUFpQztJQUMvRCxDQUFDOzhHQTdEVSxvQ0FBb0M7a0dBQXBDLG9DQUFvQyxxSkN6Q2pELDJLQUtBLHFIRGdDSSxZQUFZLDJKQUNaLGdCQUFnQjs7MkZBR1Asb0NBQW9DO2tCQVZoRCxTQUFTOytCQUNFLG1DQUFtQyxjQUdqQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCOzBKQUtNLFVBQVU7c0JBRGhCLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUloQixNQUFNO3NCQURaLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDOztBQTJEekI7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0NBQXNDLENBQUMsVUFBeUMsRUFBRSxNQUE0QjtJQUM1SCxPQUFPO1FBQ0wsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixVQUFVLEVBQUUsR0FBd0IsRUFBRTtZQUVwQyxPQUFPLElBQUk7Z0JBQUE7b0JBQ08sZUFBVSxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztnQkFLbEMsQ0FBQztnQkFIUSxXQUFXO29CQUNoQix3REFBd0Q7Z0JBQzFELENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBydW5JbkluamVjdGlvbkNvbnRleHQsIFN0YXRpY1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V29ya2JlbmNoTWVzc2FnZUJveCwgV29ya2JlbmNoTWVzc2FnZUJveENhcGFiaWxpdHl9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7Um91dGVyVXRpbHN9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGVyLnV0aWwnO1xuaW1wb3J0IHtDb21tYW5kc30gZnJvbSAnLi4vLi4vcm91dGluZy9yb3V0aW5nLm1vZGVsJztcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge05nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01FU1NBR0VfQk9YX0lEX1BSRUZJWH0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLmNvbnN0YW50cyc7XG5pbXBvcnQge1VVSUR9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V1aWQnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaERpYWxvZ30gZnJvbSAnLi4vLi4vZGlhbG9nL8m1d29ya2JlbmNoLWRpYWxvZyc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRzfSBmcm9tICcuLi9jb21tb24vbWljcm9mcm9udGVuZC51dGlsJztcbmltcG9ydCB7U0lOR0xFX05BVklHQVRJT05fRVhFQ1VUT1J9IGZyb20gJy4uLy4uL2V4ZWN1dG9yL3NpbmdsZS10YXNrLWV4ZWN1dG9yJztcbmltcG9ydCB7c2V0U3R5bGV9IGZyb20gJy4uLy4uL2NvbW1vbi9kb20udXRpbCc7XG5cbi8qKlxuICogTmF2aWdhdGVzIHRvIHRoZSBtaWNyb2Zyb250ZW5kIG9mIGEgZ2l2ZW4ge0BsaW5rIFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5fSB2aWEge0BsaW5rIFJvdXRlcn0uXG4gKlxuICogVW5saWtlIHtAbGluayBNaWNyb2Zyb250ZW5kTWVzc2FnZUJveENvbXBvbmVudH0sIHRoaXMgY29tcG9uZW50IHVzZXMgYSBgPHJvdXRlci1vdXRsZXQ+YCBpbnN0ZWFkIG9mIGEgYDxzY2ktcm91dGVyLW91dGxldD5gXG4gKiB0byBhbGxvdyBkaXJlY3QgaW50ZWdyYXRpb24gb2YgdGhlIGNvbnRlbnQgcHJvdmlkZWQgYnkgdGhlIHdvcmtiZW5jaCBob3N0IGFwcGxpY2F0aW9uIHZpYSB0aGUgQW5ndWxhciByb3V0ZXIuXG4gKlxuICogVGhpcyBjb21wb25lbnQgaXMgZGVzaWduZWQgdG8gYmUgZGlzcGxheWVkIGluIGEgd29ya2JlbmNoIG1lc3NhZ2UgYm94LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3gnLFxuICBzdHlsZVVybHM6IFsnLi9taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pY3JvZnJvbnRlbmQtaG9zdC1tZXNzYWdlLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJPdXRsZXQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWljcm9mcm9udGVuZEhvc3RNZXNzYWdlQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICBwdWJsaWMgY2FwYWJpbGl0eSE6IFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5O1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICBwdWJsaWMgcGFyYW1zITogTWFwPHN0cmluZywgdW5rbm93bj47XG5cbiAgcHJvdGVjdGVkIG91dGxldE5hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIG91dGxldEluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgcHJpdmF0ZSBfc2luZ2xlTmF2aWdhdGlvbkV4ZWN1dG9yID0gaW5qZWN0KFNJTkdMRV9OQVZJR0FUSU9OX0VYRUNVVE9SKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGlhbG9nOiDJtVdvcmtiZW5jaERpYWxvZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcikge1xuICAgIHRoaXMub3V0bGV0TmFtZSA9IE1FU1NBR0VfQk9YX0lEX1BSRUZJWC5jb25jYXQoVVVJRC5yYW5kb21VVUlEKCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U2l6ZVByb3BlcnRpZXMoKTtcbiAgICB0aGlzLmNyZWF0ZU91dGxldEluamVjdG9yKCk7XG4gICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7cGFyYW1zOiB0aGlzLnBhcmFtc30pLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nLmNsb3NlKEVycm9yKCdbTWVzc2FnZUJveE5hdmlnYXRlRXJyb3JdIE5hdmlnYXRpb24gY2FuY2VsZWQsIG1vc3QgbGlrZWx5IGJ5IGEgcm91dGUgZ3VhcmQgb3IgYSBwYXJhbGxlbCBuYXZpZ2F0aW9uLicpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBuYXZpZ2F0aW9uIGluIHRoZSBuYW1lZCBvdXRsZXQsIHN1YnN0aXR1dGluZyBwYXRoIHBhcmFtcyBpZiBhbnkuIFRvIGNsZWFyIG5hdmlnYXRpb24sIHBhc3MgYG51bGxgIGFzIHRoZSBwYXRoLlxuICAgKi9cbiAgcHJpdmF0ZSBuYXZpZ2F0ZShwYXRoOiBzdHJpbmcgfCBudWxsLCBleHRyYXM/OiB7cGFyYW1zPzogTWFwPHN0cmluZywgYW55Pn0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBwYXRoID0gTWljcm9mcm9udGVuZHMuc3Vic3RpdHV0ZU5hbWVkUGFyYW1ldGVycyhwYXRoLCBleHRyYXM/LnBhcmFtcyk7XG5cbiAgICBjb25zdCBvdXRsZXRDb21tYW5kczogQ29tbWFuZHMgfCBudWxsID0gKHBhdGggIT09IG51bGwgPyBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IFJvdXRlclV0aWxzLnBhdGhUb0NvbW1hbmRzKHBhdGghKSkgOiBudWxsKTtcbiAgICBjb25zdCBjb21tYW5kczogQ29tbWFuZHMgPSBbe291dGxldHM6IHtbdGhpcy5vdXRsZXROYW1lXTogb3V0bGV0Q29tbWFuZHN9fV07XG4gICAgcmV0dXJuIHRoaXMuX3NpbmdsZU5hdmlnYXRpb25FeGVjdXRvci5zdWJtaXQoKCkgPT4gdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCB7c2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlLCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAncHJlc2VydmUnfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdXRsZXRJbmplY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLm91dGxldEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlV29ya2JlbmNoQ2xpZW50TWVzc2FnZUJveEhhbmRsZSh0aGlzLmNhcGFiaWxpdHksIHRoaXMucGFyYW1zKV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNpemVQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIHNldFN0eWxlKHRoaXMuX2hvc3QsIHtcbiAgICAgICd3aWR0aCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/LndpZHRoID8/IG51bGwsXG4gICAgICAnbWluLXdpZHRoJzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWluV2lkdGggPz8gbnVsbCxcbiAgICAgICdtYXgtd2lkdGgnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5tYXhXaWR0aCA/PyBudWxsLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/LmhlaWdodCA/PyBudWxsLFxuICAgICAgJ21pbi1oZWlnaHQnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5taW5IZWlnaHQgPz8gbnVsbCxcbiAgICAgICdtYXgtaGVpZ2h0JzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWF4SGVpZ2h0ID8/IG51bGwsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uYXZpZ2F0ZShudWxsKS50aGVuKCk7IC8vIFJlbW92ZSB0aGUgb3V0bGV0IGZyb20gdGhlIFVSTFxuICB9XG59XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIHtXb3JrYmVuY2hNZXNzYWdlQm94fSBoYW5kbGUgdG8gdGhlIHJvdXRlZCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlV29ya2JlbmNoQ2xpZW50TWVzc2FnZUJveEhhbmRsZShjYXBhYmlsaXR5OiBXb3JrYmVuY2hNZXNzYWdlQm94Q2FwYWJpbGl0eSwgcGFyYW1zOiBNYXA8c3RyaW5nLCB1bmtub3duPik6IFN0YXRpY1Byb3ZpZGVyIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBXb3JrYmVuY2hNZXNzYWdlQm94LFxuICAgIHVzZUZhY3Rvcnk6ICgpOiBXb3JrYmVuY2hNZXNzYWdlQm94ID0+IHtcblxuICAgICAgcmV0dXJuIG5ldyBjbGFzcyBpbXBsZW1lbnRzIFdvcmtiZW5jaE1lc3NhZ2VCb3gge1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY2FwYWJpbGl0eSA9IGNhcGFiaWxpdHk7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBwYXJhbXMgPSBwYXJhbXM7XG5cbiAgICAgICAgcHVibGljIHNpZ25hbFJlYWR5KCk6IHZvaWQge1xuICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG8gc2luY2Ugbm90IGFuIGlmcmFtZS1iYXNlZCBtaWNyb2Zyb250ZW5kXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn1cbiIsIjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3V0ZXJfb3V0bGV0OyBpbmplY3Rvcjogb3V0bGV0SW5qZWN0b3JcIi8+XG5cbjxuZy10ZW1wbGF0ZSAjcm91dGVyX291dGxldD5cbiAgPHJvdXRlci1vdXRsZXQgW25hbWVdPVwib3V0bGV0TmFtZVwiLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94L21pY3JvZnJvbnRlbmQtaG9zdC1tZXNzYWdlLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1tZXNzYWdlLWJveC9taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixxQkFBcUIsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFDLG1CQUFtQixFQUFnQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRCxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsUUFB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LElBQUk7WUFDekQsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksSUFBSTtZQUNoRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxJQUFJO1NBQ2pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxpQ0FBaUM7SUFDL0QsQ0FBQzs4R0E5RFUsb0NBQW9DO2tHQUFwQyxvQ0FBb0MscUpDekNqRCwyS0FLQSxxSERnQ0ksWUFBWSwySkFDWixnQkFBZ0I7OzJGQUdQLG9DQUFvQztrQkFWaEQsU0FBUzsrQkFDRSxtQ0FBbUMsY0FHakMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjswSkFLTSxVQUFVO3NCQURoQixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFJaEIsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQzs7QUE0RHpCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNDQUFzQyxDQUFDLFVBQXlDLEVBQUUsTUFBNEI7SUFDNUgsT0FBTztRQUNMLE9BQU8sRUFBRSxtQkFBbUI7UUFDNUIsVUFBVSxFQUFFLEdBQXdCLEVBQUU7WUFFcEMsT0FBTyxJQUFJO2dCQUFBO29CQUNPLGVBQVUsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFdBQU0sR0FBRyxNQUFNLENBQUM7Z0JBS2xDLENBQUM7Z0JBSFEsV0FBVztvQkFDaEIsd0RBQXdEO2dCQUMxRCxDQUFDO2FBQ0YsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBTdGF0aWNQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaE1lc3NhZ2VCb3gsIFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge1JvdXRpbmd9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy51dGlsJztcbmltcG9ydCB7Q29tbWFuZHN9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy5tb2RlbCc7XG5pbXBvcnQge1JvdXRlciwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNRVNTQUdFX0JPWF9JRF9QUkVGSVh9IGZyb20gJy4uLy4uL3dvcmtiZW5jaC5jb25zdGFudHMnO1xuaW1wb3J0IHtVVUlEfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dWlkJztcbmltcG9ydCB7ybVXb3JrYmVuY2hEaWFsb2d9IGZyb20gJy4uLy4uL2RpYWxvZy/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kc30gZnJvbSAnLi4vY29tbW9uL21pY3JvZnJvbnRlbmQudXRpbCc7XG5pbXBvcnQge0FOR1VMQVJfUk9VVEVSX01VVEVYfSBmcm9tICcuLi8uLi9leGVjdXRvci9zaW5nbGUtdGFzay1leGVjdXRvcic7XG5pbXBvcnQge3NldFN0eWxlfSBmcm9tICcuLi8uLi9jb21tb24vZG9tLnV0aWwnO1xuXG4vKipcbiAqIE5hdmlnYXRlcyB0byB0aGUgbWljcm9mcm9udGVuZCBvZiBhIGdpdmVuIHtAbGluayBXb3JrYmVuY2hNZXNzYWdlQm94Q2FwYWJpbGl0eX0gdmlhIHtAbGluayBSb3V0ZXJ9LlxuICpcbiAqIFVubGlrZSB7QGxpbmsgTWljcm9mcm9udGVuZE1lc3NhZ2VCb3hDb21wb25lbnR9LCB0aGlzIGNvbXBvbmVudCB1c2VzIGEgYDxyb3V0ZXItb3V0bGV0PmAgaW5zdGVhZCBvZiBhIGA8c2NpLXJvdXRlci1vdXRsZXQ+YFxuICogdG8gYWxsb3cgZGlyZWN0IGludGVncmF0aW9uIG9mIHRoZSBjb250ZW50IHByb3ZpZGVkIGJ5IHRoZSB3b3JrYmVuY2ggaG9zdCBhcHBsaWNhdGlvbiB2aWEgdGhlIEFuZ3VsYXIgcm91dGVyLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIGJlIGRpc3BsYXllZCBpbiBhIHdvcmtiZW5jaCBtZXNzYWdlIGJveC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2ItbWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94JyxcbiAgc3R5bGVVcmxzOiBbJy4vbWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyT3V0bGV0LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRIb3N0TWVzc2FnZUJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSlcbiAgcHVibGljIGNhcGFiaWxpdHkhOiBXb3JrYmVuY2hNZXNzYWdlQm94Q2FwYWJpbGl0eTtcblxuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSlcbiAgcHVibGljIHBhcmFtcyE6IE1hcDxzdHJpbmcsIHVua25vd24+O1xuXG4gIHByb3RlY3RlZCBvdXRsZXROYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBvdXRsZXRJbmplY3RvciE6IEluamVjdG9yO1xuXG4gIC8qKiBNdXRleCB0byBzZXJpYWxpemUgQW5ndWxhciBSb3V0ZXIgbmF2aWdhdGlvbiByZXF1ZXN0cywgcHJldmVudGluZyB0aGUgY2FuY2VsbGF0aW9uIG9mIHByZXZpb3VzbHkgaW5pdGlhdGVkIGFzeW5jaHJvbm91cyBuYXZpZ2F0aW9ucy4gKi9cbiAgcHJpdmF0ZSBfYW5ndWxhclJvdXRlck11dGV4ID0gaW5qZWN0KEFOR1VMQVJfUk9VVEVSX01VVEVYKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGlhbG9nOiDJtVdvcmtiZW5jaERpYWxvZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcikge1xuICAgIHRoaXMub3V0bGV0TmFtZSA9IE1FU1NBR0VfQk9YX0lEX1BSRUZJWC5jb25jYXQoVVVJRC5yYW5kb21VVUlEKCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U2l6ZVByb3BlcnRpZXMoKTtcbiAgICB0aGlzLmNyZWF0ZU91dGxldEluamVjdG9yKCk7XG4gICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7cGFyYW1zOiB0aGlzLnBhcmFtc30pLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nLmNsb3NlKEVycm9yKCdbTWVzc2FnZUJveE5hdmlnYXRlRXJyb3JdIE5hdmlnYXRpb24gY2FuY2VsZWQsIG1vc3QgbGlrZWx5IGJ5IGEgcm91dGUgZ3VhcmQgb3IgYSBwYXJhbGxlbCBuYXZpZ2F0aW9uLicpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBuYXZpZ2F0aW9uIGluIHRoZSBuYW1lZCBvdXRsZXQsIHN1YnN0aXR1dGluZyBwYXRoIHBhcmFtcyBpZiBhbnkuIFRvIGNsZWFyIG5hdmlnYXRpb24sIHBhc3MgYG51bGxgIGFzIHRoZSBwYXRoLlxuICAgKi9cbiAgcHJpdmF0ZSBuYXZpZ2F0ZShwYXRoOiBzdHJpbmcgfCBudWxsLCBleHRyYXM/OiB7cGFyYW1zPzogTWFwPHN0cmluZywgYW55Pn0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBwYXRoID0gTWljcm9mcm9udGVuZHMuc3Vic3RpdHV0ZU5hbWVkUGFyYW1ldGVycyhwYXRoLCBleHRyYXM/LnBhcmFtcyk7XG5cbiAgICBjb25zdCBvdXRsZXRDb21tYW5kczogQ29tbWFuZHMgfCBudWxsID0gKHBhdGggIT09IG51bGwgPyBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IFJvdXRpbmcucGF0aFRvQ29tbWFuZHMocGF0aCEpKSA6IG51bGwpO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBDb21tYW5kcyA9IFt7b3V0bGV0czoge1t0aGlzLm91dGxldE5hbWVdOiBvdXRsZXRDb21tYW5kc319XTtcbiAgICByZXR1cm4gdGhpcy5fYW5ndWxhclJvdXRlck11dGV4LnN1Ym1pdCgoKSA9PiB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIHtza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUsIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdwcmVzZXJ2ZSd9KSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU91dGxldEluamVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMub3V0bGV0SW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVXb3JrYmVuY2hDbGllbnRNZXNzYWdlQm94SGFuZGxlKHRoaXMuY2FwYWJpbGl0eSwgdGhpcy5wYXJhbXMpXSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2l6ZVByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgc2V0U3R5bGUodGhpcy5faG9zdCwge1xuICAgICAgJ3dpZHRoJzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ud2lkdGggPz8gbnVsbCxcbiAgICAgICdtaW4td2lkdGgnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5taW5XaWR0aCA/PyBudWxsLFxuICAgICAgJ21heC13aWR0aCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1heFdpZHRoID8/IG51bGwsXG4gICAgICAnaGVpZ2h0JzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8uaGVpZ2h0ID8/IG51bGwsXG4gICAgICAnbWluLWhlaWdodCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1pbkhlaWdodCA/PyBudWxsLFxuICAgICAgJ21heC1oZWlnaHQnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5tYXhIZWlnaHQgPz8gbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdmlnYXRlKG51bGwpLnRoZW4oKTsgLy8gUmVtb3ZlIHRoZSBvdXRsZXQgZnJvbSB0aGUgVVJMXG4gIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyB0aGUge1dvcmtiZW5jaE1lc3NhZ2VCb3h9IGhhbmRsZSB0byB0aGUgcm91dGVkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVXb3JrYmVuY2hDbGllbnRNZXNzYWdlQm94SGFuZGxlKGNhcGFiaWxpdHk6IFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5LCBwYXJhbXM6IE1hcDxzdHJpbmcsIHVua25vd24+KTogU3RhdGljUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFdvcmtiZW5jaE1lc3NhZ2VCb3gsXG4gICAgdXNlRmFjdG9yeTogKCk6IFdvcmtiZW5jaE1lc3NhZ2VCb3ggPT4ge1xuXG4gICAgICByZXR1cm4gbmV3IGNsYXNzIGltcGxlbWVudHMgV29ya2JlbmNoTWVzc2FnZUJveCB7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjYXBhYmlsaXR5ID0gY2FwYWJpbGl0eTtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHBhcmFtcyA9IHBhcmFtcztcblxuICAgICAgICBwdWJsaWMgc2lnbmFsUmVhZHkoKTogdm9pZCB7XG4gICAgICAgICAgLy8gbm90aGluZyB0byBkbyBzaW5jZSBub3QgYW4gaWZyYW1lLWJhc2VkIG1pY3JvZnJvbnRlbmRcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlcl9vdXRsZXQ7IGluamVjdG9yOiBvdXRsZXRJbmplY3RvclwiLz5cblxuPG5nLXRlbXBsYXRlICNyb3V0ZXJfb3V0bGV0PlxuICA8cm91dGVyLW91dGxldCBbbmFtZV09XCJvdXRsZXROYW1lXCIvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { Component } from '@angular/core';
|
|
11
11
|
import { eMESSAGE_BOX_MESSAGE_PARAM } from '@scion/workbench-client';
|
|
12
|
-
import {
|
|
12
|
+
import { UUID } from '@scion/toolkit/uuid';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@scion/workbench-client";
|
|
15
15
|
/**
|
|
@@ -39,5 +39,5 @@ export const TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY_PROPERTY = 'ɵidentity';
|
|
|
39
39
|
/**
|
|
40
40
|
* Value to identify the built-in text message box capability.
|
|
41
41
|
*/
|
|
42
|
-
export const TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY = randomUUID();
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
export const TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY = UUID.randomUUID();
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1ob3N0LW1lc3NhZ2UtYm94L3RleHQtbWVzc2FnZS90ZXh0LW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3gvdGV4dC1tZXNzYWdlL3RleHQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLDBCQUEwQixFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRXpDOzs7O0dBSUc7QUFPSCxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUl2QyxZQUFZLFVBQStCO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQVcsQ0FBQztJQUM3RSxDQUFDOzhHQU5rQixvQkFBb0I7a0dBQXBCLG9CQUFvQiwyRUN6QnpDLG1DQUVDOzsyRkR1Qm9CLG9CQUFvQjtrQkFOeEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FHZixJQUFJOztBQVdsQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLGNBQWMsQ0FBQztBQUNoRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLFdBQVcsQ0FBQztBQUN6RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtlTUVTU0FHRV9CT1hfTUVTU0FHRV9QQVJBTSwgV29ya2JlbmNoTWVzc2FnZUJveH0gZnJvbSAnQHNjaW9uL3dvcmtiZW5jaC1jbGllbnQnO1xuaW1wb3J0IHtVVUlEfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dWlkJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgdGV4dCBtZXNzYWdlIGZvciB0aGUgYnVpbHQtaW4gbWVzc2FnZSBib3ggY2FwYWJpbGl0eS5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkZXNpZ25lZCB0byBiZSBkaXNwbGF5ZWQgaW4ge0BsaW5rIE1pY3JvZnJvbnRlbmRIb3N0TWVzc2FnZUJveENvbXBvbmVudH0uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLXRleHQtbWVzc2FnZScsXG4gIHN0eWxlVXJsczogWycuL3RleHQtbWVzc2FnZS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXh0TWVzc2FnZUNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIG1lc3NhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihtZXNzYWdlQm94OiBXb3JrYmVuY2hNZXNzYWdlQm94KSB7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZUJveC5wYXJhbXMuZ2V0KGVNRVNTQUdFX0JPWF9NRVNTQUdFX1BBUkFNKSBhcyBzdHJpbmc7XG4gIH1cbn1cblxuLyoqXG4gKiBSb3V0ZSBmb3IgdGhlIGJ1aWx0LWluIHRleHQgbWVzc2FnZSBib3ggY2FwYWJpbGl0eSBwcm92aWRlZCBieSB0aGUgd29ya2JlbmNoIGhvc3QgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBURVhUX01FU1NBR0VfQk9YX0NBUEFCSUxJVFlfUk9VVEUgPSAnfi9tZXNzYWdlYm94Jztcbi8qKlxuICogUHJvcGVydHkgdG8gaWRlbnRpZnkgdGhlIGJ1aWx0LWluIHRleHQgbWVzc2FnZSBib3ggY2FwYWJpbGl0eS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRFWFRfTUVTU0FHRV9CT1hfQ0FQQUJJTElUWV9JREVOVElUWV9QUk9QRVJUWSA9ICfJtWlkZW50aXR5Jztcbi8qKlxuICogVmFsdWUgdG8gaWRlbnRpZnkgdGhlIGJ1aWx0LWluIHRleHQgbWVzc2FnZSBib3ggY2FwYWJpbGl0eS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRFWFRfTUVTU0FHRV9CT1hfQ0FQQUJJTElUWV9JREVOVElUWSA9IFVVSUQucmFuZG9tVVVJRCgpO1xuIiwiQGlmIChtZXNzYWdlKSB7XG4gIHt7bWVzc2FnZX19XG59Il19
|
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { Component, inject, Injector, runInInjectionContext } from '@angular/core';
|
|
11
11
|
import { WorkbenchPopup } from '@scion/workbench-client';
|
|
12
|
-
import {
|
|
12
|
+
import { Routing } from '../../routing/routing.util';
|
|
13
13
|
import { RouterOutlet } from '@angular/router';
|
|
14
14
|
import { Popup } from '../../popup/popup.config';
|
|
15
15
|
import { NgTemplateOutlet } from '@angular/common';
|
|
16
16
|
import { Defined } from '@scion/toolkit/util';
|
|
17
17
|
import { POPUP_ID_PREFIX } from '../../workbench.constants';
|
|
18
18
|
import { Microfrontends } from '../common/microfrontend.util';
|
|
19
|
-
import {
|
|
19
|
+
import { ANGULAR_ROUTER_MUTEX } from '../../executor/single-task-executor';
|
|
20
|
+
import { Objects } from '../../common/objects.util';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
21
22
|
import * as i1 from "../../popup/popup.config";
|
|
22
23
|
import * as i2 from "@angular/router";
|
|
@@ -30,10 +31,11 @@ export class MicrofrontendHostPopupComponent {
|
|
|
30
31
|
constructor(popup, _injector, _router) {
|
|
31
32
|
this._injector = _injector;
|
|
32
33
|
this._router = _router;
|
|
33
|
-
|
|
34
|
+
/** Mutex to serialize Angular Router navigation requests, preventing the cancellation of previously initiated asynchronous navigations. */
|
|
35
|
+
this._angularRouterMutex = inject(ANGULAR_ROUTER_MUTEX);
|
|
34
36
|
const popupContext = popup.input;
|
|
35
37
|
const capability = popupContext.capability;
|
|
36
|
-
const path = Defined.orElseThrow(capability.properties.path, () => Error(`[PopupProviderError] Missing required path for popup capability
|
|
38
|
+
const path = Defined.orElseThrow(capability.properties.path, () => Error(`[PopupProviderError] Missing required path for popup capability [application="${capability.metadata.appSymbolicName}", capability=${Objects.toMatrixNotation(capability.qualifier)}]`));
|
|
37
39
|
const params = popupContext.params;
|
|
38
40
|
this.outletName = POPUP_ID_PREFIX.concat(popup.id);
|
|
39
41
|
this.outletInjector = Injector.create({
|
|
@@ -43,7 +45,7 @@ export class MicrofrontendHostPopupComponent {
|
|
|
43
45
|
// Perform navigation in the named router outlet.
|
|
44
46
|
this.navigate(path, { outletName: this.outletName, params }).then(success => {
|
|
45
47
|
if (!success) {
|
|
46
|
-
popup.
|
|
48
|
+
popup.close(Error('[PopupNavigateError] Navigation canceled, most likely by a route guard or a parallel navigation.'));
|
|
47
49
|
}
|
|
48
50
|
});
|
|
49
51
|
}
|
|
@@ -52,22 +54,22 @@ export class MicrofrontendHostPopupComponent {
|
|
|
52
54
|
*/
|
|
53
55
|
navigate(path, extras) {
|
|
54
56
|
path = Microfrontends.substituteNamedParameters(path, extras.params);
|
|
55
|
-
const outletCommands = (path !== null ? runInInjectionContext(this._injector, () =>
|
|
57
|
+
const outletCommands = (path !== null ? runInInjectionContext(this._injector, () => Routing.pathToCommands(path)) : null);
|
|
56
58
|
const commands = [{ outlets: { [extras.outletName]: outletCommands } }];
|
|
57
|
-
return this.
|
|
59
|
+
return this._angularRouterMutex.submit(() => this._router.navigate(commands, { skipLocationChange: true, queryParamsHandling: 'preserve' }));
|
|
58
60
|
}
|
|
59
61
|
ngOnDestroy() {
|
|
60
62
|
this.navigate(null, { outletName: this.outletName }).then(); // Remove the outlet from the URL
|
|
61
63
|
}
|
|
62
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendHostPopupComponent, deps: [{ token: i1.ɵPopup }, { token: i0.Injector }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendHostPopupComponent, isStandalone: true, selector: "wb-microfrontend-host-popup", ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"router_outlet; injector: outletInjector\"
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendHostPopupComponent, isStandalone: true, selector: "wb-microfrontend-host-popup", ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"router_outlet; injector: outletInjector\"/>\n\n<ng-template #router_outlet>\n <router-outlet [name]=\"outletName\"/>\n</ng-template>\n", styles: [":host{display:grid}:host>router-outlet{position:absolute}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
64
66
|
}
|
|
65
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendHostPopupComponent, decorators: [{
|
|
66
68
|
type: Component,
|
|
67
69
|
args: [{ selector: 'wb-microfrontend-host-popup', standalone: true, imports: [
|
|
68
70
|
RouterOutlet,
|
|
69
71
|
NgTemplateOutlet,
|
|
70
|
-
], template: "<ng-container *ngTemplateOutlet=\"router_outlet; injector: outletInjector\"
|
|
72
|
+
], template: "<ng-container *ngTemplateOutlet=\"router_outlet; injector: outletInjector\"/>\n\n<ng-template #router_outlet>\n <router-outlet [name]=\"outletName\"/>\n</ng-template>\n", styles: [":host{display:grid}:host>router-outlet{position:absolute}\n"] }]
|
|
71
73
|
}], ctorParameters: () => [{ type: i1.ɵPopup }, { type: i0.Injector }, { type: i2.Router }] });
|
|
72
74
|
/**
|
|
73
75
|
* Provides the {WorkbenchPopup} handle to the routed component.
|
|
@@ -83,12 +85,12 @@ function provideWorkbenchPopupHandle(popupContext) {
|
|
|
83
85
|
this.params = popupContext.params;
|
|
84
86
|
this.referrer = popupContext.referrer;
|
|
85
87
|
}
|
|
88
|
+
setResult(result) {
|
|
89
|
+
popup.setResult(result);
|
|
90
|
+
}
|
|
86
91
|
close(result) {
|
|
87
92
|
popup.close(result);
|
|
88
93
|
}
|
|
89
|
-
closeWithError(error) {
|
|
90
|
-
popup.closeWithError(error);
|
|
91
|
-
}
|
|
92
94
|
signalReady() {
|
|
93
95
|
// nothing to do since not an iframe-based microfrontend
|
|
94
96
|
}
|
|
@@ -96,4 +98,4 @@ function provideWorkbenchPopupHandle(popupContext) {
|
|
|
96
98
|
},
|
|
97
99
|
};
|
|
98
100
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1ob3N0LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1ob3N0LXBvcHVwL21pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cC9taWNyb2Zyb250ZW5kLWhvc3QtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEscUJBQXFCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBUyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFTLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFFL0U7Ozs7O0dBS0c7QUFX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QUFPLEVBQUUsY0FBYztRQUN2QixVQUFVLEVBQUUsR0FBbUIsRUFBRTtZQUMvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUIsT0FBTyxJQUFJO2dCQUFBO29CQUNPLGVBQVUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO29CQUNyQyxXQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztvQkFDN0IsYUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBYW5ELENBQUM7Z0JBWFEsS0FBSyxDQUFVLE1BQXNCO29CQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QixDQUFDO2dCQUVNLGNBQWMsQ0FBQyxLQUFxQjtvQkFDekMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztnQkFFTSxXQUFXO29CQUNoQix3REFBd0Q7Z0JBQzFELENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgaW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBydW5JbkluamVjdGlvbkNvbnRleHQsIFN0YXRpY1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V29ya2JlbmNoUG9wdXAsIMm1UG9wdXBDb250ZXh0fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge1JvdXRlclV0aWxzfSBmcm9tICcuLi8uLi9yb3V0aW5nL3JvdXRlci51dGlsJztcbmltcG9ydCB7Q29tbWFuZHN9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy5tb2RlbCc7XG5pbXBvcnQge1JvdXRlciwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtQb3B1cCwgybVQb3B1cH0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAuY29uZmlnJztcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RGVmaW5lZH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1BPUFVQX0lEX1BSRUZJWH0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLmNvbnN0YW50cyc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRzfSBmcm9tICcuLi9jb21tb24vbWljcm9mcm9udGVuZC51dGlsJztcbmltcG9ydCB7U0lOR0xFX05BVklHQVRJT05fRVhFQ1VUT1J9IGZyb20gJy4uLy4uL2V4ZWN1dG9yL3NpbmdsZS10YXNrLWV4ZWN1dG9yJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgbWljcm9mcm9udGVuZCBvZiBhIHBvcHVwIGNhcGFiaWxpdHkgcHJvdmlkZWQgYnkgdGhlIGhvc3QgaW5zaWRlIGEgd29ya2JlbmNoIHBvcHVwLlxuICpcbiAqIFVubGlrZSB7QGxpbmsgTWljcm9mcm9udGVuZFBvcHVwQ29tcG9uZW50fSwgdGhpcyBjb21wb25lbnQgdXNlcyBhIGA8cm91dGVyLW91dGxldD5gIGluc3RlYWQgb2YgYSBgPHNjaS1yb3V0ZXItb3V0bGV0PmBcbiAqIGJlY2F1c2UgaW50ZWdyYXRpbmcgdGhlIG1pY3JvZnJvbnRlbmQgZGlyZWN0bHkgdmlhIEFuZ3VsYXIgcm91dGVyIGFuZCBub3QgdmlhIGlmcmFtZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2ItbWljcm9mcm9udGVuZC1ob3N0LXBvcHVwJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWljcm9mcm9udGVuZC1ob3N0LXBvcHVwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9taWNyb2Zyb250ZW5kLWhvc3QtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyT3V0bGV0LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRIb3N0UG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyByZWFkb25seSBvdXRsZXROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBvdXRsZXRJbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgcHJpdmF0ZSBfc2luZ2xlTmF2aWdhdGlvbkV4ZWN1dG9yID0gaW5qZWN0KFNJTkdMRV9OQVZJR0FUSU9OX0VYRUNVVE9SKTtcblxuICBjb25zdHJ1Y3Rvcihwb3B1cDogybVQb3B1cDzJtVBvcHVwQ29udGV4dD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBjb25zdCBwb3B1cENvbnRleHQgPSBwb3B1cC5pbnB1dCE7XG4gICAgY29uc3QgY2FwYWJpbGl0eSA9IHBvcHVwQ29udGV4dC5jYXBhYmlsaXR5O1xuICAgIGNvbnN0IHBhdGggPSBEZWZpbmVkLm9yRWxzZVRocm93KGNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCAoKSA9PiBFcnJvcihgW1BvcHVwUHJvdmlkZXJFcnJvcl0gTWlzc2luZyByZXF1aXJlZCBwYXRoIGZvciBwb3B1cCBjYXBhYmlsaXR5OiAke0pTT04uc3RyaW5naWZ5KGNhcGFiaWxpdHkpfWApKTtcbiAgICBjb25zdCBwYXJhbXMgPSBwb3B1cENvbnRleHQucGFyYW1zO1xuICAgIHRoaXMub3V0bGV0TmFtZSA9IFBPUFVQX0lEX1BSRUZJWC5jb25jYXQocG9wdXAuaWQpO1xuICAgIHRoaXMub3V0bGV0SW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVXb3JrYmVuY2hQb3B1cEhhbmRsZShwb3B1cENvbnRleHQpXSxcbiAgICB9KTtcblxuICAgIC8vIFBlcmZvcm0gbmF2aWdhdGlvbiBpbiB0aGUgbmFtZWQgcm91dGVyIG91dGxldC5cbiAgICB0aGlzLm5hdmlnYXRlKHBhdGgsIHtvdXRsZXROYW1lOiB0aGlzLm91dGxldE5hbWUsIHBhcmFtc30pLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgcG9wdXAuY2xvc2VXaXRoRXJyb3IoRXJyb3IoJ1tQb3B1cE5hdmlnYXRlRXJyb3JdIE5hdmlnYXRpb24gY2FuY2VsZWQsIG1vc3QgbGlrZWx5IGJ5IGEgcm91dGUgZ3VhcmQgb3IgYSBwYXJhbGxlbCBuYXZpZ2F0aW9uLicpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBuYXZpZ2F0aW9uIGluIHRoZSBzcGVjaWZpZWQgb3V0bGV0LCBzdWJzdGl0dXRpbmcgcGF0aCBwYXJhbXMgaWYgYW55LiBUbyBjbGVhciBuYXZpZ2F0aW9uLCBwYXNzIGBudWxsYCBhcyB0aGUgcGF0aC5cbiAgICovXG4gIHByaXZhdGUgbmF2aWdhdGUocGF0aDogc3RyaW5nIHwgbnVsbCwgZXh0cmFzOiB7b3V0bGV0TmFtZTogc3RyaW5nOyBwYXJhbXM/OiBNYXA8c3RyaW5nLCBhbnk+fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHBhdGggPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHBhdGgsIGV4dHJhcy5wYXJhbXMpO1xuXG4gICAgY29uc3Qgb3V0bGV0Q29tbWFuZHM6IENvbW1hbmRzIHwgbnVsbCA9IChwYXRoICE9PSBudWxsID8gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuX2luamVjdG9yLCAoKSA9PiBSb3V0ZXJVdGlscy5wYXRoVG9Db21tYW5kcyhwYXRoISkpIDogbnVsbCk7XG4gICAgY29uc3QgY29tbWFuZHM6IENvbW1hbmRzID0gW3tvdXRsZXRzOiB7W2V4dHJhcy5vdXRsZXROYW1lXTogb3V0bGV0Q29tbWFuZHN9fV07XG4gICAgcmV0dXJuIHRoaXMuX3NpbmdsZU5hdmlnYXRpb25FeGVjdXRvci5zdWJtaXQoKCkgPT4gdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCB7c2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlLCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAncHJlc2VydmUnfSkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmF2aWdhdGUobnVsbCwge291dGxldE5hbWU6IHRoaXMub3V0bGV0TmFtZX0pLnRoZW4oKTsgLy8gUmVtb3ZlIHRoZSBvdXRsZXQgZnJvbSB0aGUgVVJMXG4gIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyB0aGUge1dvcmtiZW5jaFBvcHVwfSBoYW5kbGUgdG8gdGhlIHJvdXRlZCBjb21wb25lbnQuXG4gKi9cbmZ1bmN0aW9uIHByb3ZpZGVXb3JrYmVuY2hQb3B1cEhhbmRsZShwb3B1cENvbnRleHQ6IMm1UG9wdXBDb250ZXh0KTogU3RhdGljUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFdvcmtiZW5jaFBvcHVwLFxuICAgIHVzZUZhY3Rvcnk6ICgpOiBXb3JrYmVuY2hQb3B1cCA9PiB7XG4gICAgICBjb25zdCBwb3B1cCA9IGluamVjdChQb3B1cCk7XG5cbiAgICAgIHJldHVybiBuZXcgY2xhc3MgaW1wbGVtZW50cyBXb3JrYmVuY2hQb3B1cCB7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjYXBhYmlsaXR5ID0gcG9wdXBDb250ZXh0LmNhcGFiaWxpdHk7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBwYXJhbXMgPSBwb3B1cENvbnRleHQucGFyYW1zO1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgcmVmZXJyZXIgPSBwb3B1cENvbnRleHQucmVmZXJyZXI7XG5cbiAgICAgICAgcHVibGljIGNsb3NlPFIgPSBhbnk+KHJlc3VsdD86IFIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgICBwb3B1cC5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGNsb3NlV2l0aEVycm9yKGVycm9yOiBFcnJvciB8IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAgIHBvcHVwLmNsb3NlV2l0aEVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzaWduYWxSZWFkeSgpOiB2b2lkIHtcbiAgICAgICAgICAvLyBub3RoaW5nIHRvIGRvIHNpbmNlIG5vdCBhbiBpZnJhbWUtYmFzZWQgbWljcm9mcm9udGVuZFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVyX291dGxldDsgaW5qZWN0b3I6IG91dGxldEluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcm91dGVyX291dGxldD5cbiAgPHJvdXRlci1vdXRsZXQgW25hbWVdPVwib3V0bGV0TmFtZVwiPjwvcm91dGVyLW91dGxldD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1ob3N0LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1ob3N0LXBvcHVwL21pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cC9taWNyb2Zyb250ZW5kLWhvc3QtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEscUJBQXFCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRW5ELE9BQU8sRUFBUyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFTLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFDLE9BQU8s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LElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7O0FBK0NIOztHQUVHO0FBQ0gsU0FBUywyQkFBMkIsQ0FBQyxZQUEyQjtJQUM5RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLGNBQWM7UUFDdkIsVUFBVSxFQUFFLEdBQW1CLEVBQUU7WUFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTVCLE9BQU8sSUFBSTtnQkFBQTtvQkFDTyxlQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztvQkFDckMsV0FBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7b0JBQzdCLGFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO2dCQWFuRCxDQUFDO2dCQVhRLFNBQVMsQ0FBQyxNQUFVO29CQUN6QixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQixDQUFDO2dCQUVNLEtBQUssQ0FBQyxNQUFrQjtvQkFDN0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztnQkFFTSxXQUFXO29CQUNoQix3REFBd0Q7Z0JBQzFELENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgaW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBydW5JbkluamVjdGlvbkNvbnRleHQsIFN0YXRpY1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V29ya2JlbmNoUG9wdXAsIMm1UG9wdXBDb250ZXh0fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge1JvdXRpbmd9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy51dGlsJztcbmltcG9ydCB7Q29tbWFuZHN9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy5tb2RlbCc7XG5pbXBvcnQge1JvdXRlciwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtQb3B1cCwgybVQb3B1cH0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAuY29uZmlnJztcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RGVmaW5lZH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1BPUFVQX0lEX1BSRUZJWH0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLmNvbnN0YW50cyc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRzfSBmcm9tICcuLi9jb21tb24vbWljcm9mcm9udGVuZC51dGlsJztcbmltcG9ydCB7QU5HVUxBUl9ST1VURVJfTVVURVh9IGZyb20gJy4uLy4uL2V4ZWN1dG9yL3NpbmdsZS10YXNrLWV4ZWN1dG9yJztcbmltcG9ydCB7T2JqZWN0c30gZnJvbSAnLi4vLi4vY29tbW9uL29iamVjdHMudXRpbCc7XG5cbi8qKlxuICogRGlzcGxheXMgdGhlIG1pY3JvZnJvbnRlbmQgb2YgYSBwb3B1cCBjYXBhYmlsaXR5IHByb3ZpZGVkIGJ5IHRoZSBob3N0IGluc2lkZSBhIHdvcmtiZW5jaCBwb3B1cC5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIE1pY3JvZnJvbnRlbmRQb3B1cENvbXBvbmVudH0sIHRoaXMgY29tcG9uZW50IHVzZXMgYSBgPHJvdXRlci1vdXRsZXQ+YCBpbnN0ZWFkIG9mIGEgYDxzY2ktcm91dGVyLW91dGxldD5gXG4gKiBiZWNhdXNlIGludGVncmF0aW5nIHRoZSBtaWNyb2Zyb250ZW5kIGRpcmVjdGx5IHZpYSBBbmd1bGFyIHJvdXRlciBhbmQgbm90IHZpYSBpZnJhbWUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLW1pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cCcsXG4gIHN0eWxlVXJsczogWycuL21pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbWljcm9mcm9udGVuZC1ob3N0LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kSG9zdFBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3V0bGV0TmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0bGV0SW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIC8qKiBNdXRleCB0byBzZXJpYWxpemUgQW5ndWxhciBSb3V0ZXIgbmF2aWdhdGlvbiByZXF1ZXN0cywgcHJldmVudGluZyB0aGUgY2FuY2VsbGF0aW9uIG9mIHByZXZpb3VzbHkgaW5pdGlhdGVkIGFzeW5jaHJvbm91cyBuYXZpZ2F0aW9ucy4gKi9cbiAgcHJpdmF0ZSBfYW5ndWxhclJvdXRlck11dGV4ID0gaW5qZWN0KEFOR1VMQVJfUk9VVEVSX01VVEVYKTtcblxuICBjb25zdHJ1Y3Rvcihwb3B1cDogybVQb3B1cDzJtVBvcHVwQ29udGV4dD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBjb25zdCBwb3B1cENvbnRleHQgPSBwb3B1cC5pbnB1dCE7XG4gICAgY29uc3QgY2FwYWJpbGl0eSA9IHBvcHVwQ29udGV4dC5jYXBhYmlsaXR5O1xuICAgIGNvbnN0IHBhdGggPSBEZWZpbmVkLm9yRWxzZVRocm93KGNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCAoKSA9PiBFcnJvcihgW1BvcHVwUHJvdmlkZXJFcnJvcl0gTWlzc2luZyByZXF1aXJlZCBwYXRoIGZvciBwb3B1cCBjYXBhYmlsaXR5IFthcHBsaWNhdGlvbj1cIiR7Y2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lfVwiLCBjYXBhYmlsaXR5PSR7T2JqZWN0cy50b01hdHJpeE5vdGF0aW9uKGNhcGFiaWxpdHkucXVhbGlmaWVyKX1dYCkpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHBvcHVwQ29udGV4dC5wYXJhbXM7XG4gICAgdGhpcy5vdXRsZXROYW1lID0gUE9QVVBfSURfUFJFRklYLmNvbmNhdChwb3B1cC5pZCk7XG4gICAgdGhpcy5vdXRsZXRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbcHJvdmlkZVdvcmtiZW5jaFBvcHVwSGFuZGxlKHBvcHVwQ29udGV4dCldLFxuICAgIH0pO1xuXG4gICAgLy8gUGVyZm9ybSBuYXZpZ2F0aW9uIGluIHRoZSBuYW1lZCByb3V0ZXIgb3V0bGV0LlxuICAgIHRoaXMubmF2aWdhdGUocGF0aCwge291dGxldE5hbWU6IHRoaXMub3V0bGV0TmFtZSwgcGFyYW1zfSkudGhlbihzdWNjZXNzID0+IHtcbiAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICBwb3B1cC5jbG9zZShFcnJvcignW1BvcHVwTmF2aWdhdGVFcnJvcl0gTmF2aWdhdGlvbiBjYW5jZWxlZCwgbW9zdCBsaWtlbHkgYnkgYSByb3V0ZSBndWFyZCBvciBhIHBhcmFsbGVsIG5hdmlnYXRpb24uJykpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIG5hdmlnYXRpb24gaW4gdGhlIHNwZWNpZmllZCBvdXRsZXQsIHN1YnN0aXR1dGluZyBwYXRoIHBhcmFtcyBpZiBhbnkuIFRvIGNsZWFyIG5hdmlnYXRpb24sIHBhc3MgYG51bGxgIGFzIHRoZSBwYXRoLlxuICAgKi9cbiAgcHJpdmF0ZSBuYXZpZ2F0ZShwYXRoOiBzdHJpbmcgfCBudWxsLCBleHRyYXM6IHtvdXRsZXROYW1lOiBzdHJpbmc7IHBhcmFtcz86IE1hcDxzdHJpbmcsIGFueT59KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcGF0aCA9IE1pY3JvZnJvbnRlbmRzLnN1YnN0aXR1dGVOYW1lZFBhcmFtZXRlcnMocGF0aCwgZXh0cmFzLnBhcmFtcyk7XG5cbiAgICBjb25zdCBvdXRsZXRDb21tYW5kczogQ29tbWFuZHMgfCBudWxsID0gKHBhdGggIT09IG51bGwgPyBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IFJvdXRpbmcucGF0aFRvQ29tbWFuZHMocGF0aCEpKSA6IG51bGwpO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBDb21tYW5kcyA9IFt7b3V0bGV0czoge1tleHRyYXMub3V0bGV0TmFtZV06IG91dGxldENvbW1hbmRzfX1dO1xuICAgIHJldHVybiB0aGlzLl9hbmd1bGFyUm91dGVyTXV0ZXguc3VibWl0KCgpID0+IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywge3NraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ3ByZXNlcnZlJ30pKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdmlnYXRlKG51bGwsIHtvdXRsZXROYW1lOiB0aGlzLm91dGxldE5hbWV9KS50aGVuKCk7IC8vIFJlbW92ZSB0aGUgb3V0bGV0IGZyb20gdGhlIFVSTFxuICB9XG59XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIHtXb3JrYmVuY2hQb3B1cH0gaGFuZGxlIHRvIHRoZSByb3V0ZWQgY29tcG9uZW50LlxuICovXG5mdW5jdGlvbiBwcm92aWRlV29ya2JlbmNoUG9wdXBIYW5kbGUocG9wdXBDb250ZXh0OiDJtVBvcHVwQ29udGV4dCk6IFN0YXRpY1Byb3ZpZGVyIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBXb3JrYmVuY2hQb3B1cCxcbiAgICB1c2VGYWN0b3J5OiAoKTogV29ya2JlbmNoUG9wdXAgPT4ge1xuICAgICAgY29uc3QgcG9wdXAgPSBpbmplY3QoUG9wdXApO1xuXG4gICAgICByZXR1cm4gbmV3IGNsYXNzPFIgPSB1bmtub3duPiBpbXBsZW1lbnRzIFdvcmtiZW5jaFBvcHVwIHtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNhcGFiaWxpdHkgPSBwb3B1cENvbnRleHQuY2FwYWJpbGl0eTtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHBhcmFtcyA9IHBvcHVwQ29udGV4dC5wYXJhbXM7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSByZWZlcnJlciA9IHBvcHVwQ29udGV4dC5yZWZlcnJlcjtcblxuICAgICAgICBwdWJsaWMgc2V0UmVzdWx0KHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICAgICAgICBwb3B1cC5zZXRSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBSIHwgRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgICBwb3B1cC5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHNpZ25hbFJlYWR5KCk6IHZvaWQge1xuICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG8gc2luY2Ugbm90IGFuIGlmcmFtZS1iYXNlZCBtaWNyb2Zyb250ZW5kXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn1cbiIsIjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3V0ZXJfb3V0bGV0OyBpbmplY3Rvcjogb3V0bGV0SW5qZWN0b3JcIi8+XG5cbjxuZy10ZW1wbGF0ZSAjcm91dGVyX291dGxldD5cbiAgPHJvdXRlci1vdXRsZXQgW25hbWVdPVwib3V0bGV0TmFtZVwiLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { WorkbenchCapabilities } from '@scion/workbench-client';
|
|
3
3
|
import { TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY, TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY_PROPERTY } from '../microfrontend-host-message-box/text-message/text-message.component';
|
|
4
|
+
import { Objects } from '../../common/objects.util';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
/**
|
|
6
7
|
* Asserts message box capabilities to have required properties.
|
|
@@ -14,7 +15,7 @@ export class MicrofrontendMessageBoxCapabilityValidator {
|
|
|
14
15
|
// Assert capability to have a path.
|
|
15
16
|
const path = messageBoxCapability.properties?.path;
|
|
16
17
|
if (path === undefined || path === null) {
|
|
17
|
-
throw Error(`[NullPathError] MessageBox capability requires a path to the microfrontend in its properties [capability
|
|
18
|
+
throw Error(`[NullPathError] MessageBox capability requires a path to the microfrontend in its properties [application="${messageBoxCapability.metadata.appSymbolicName}", capability="${Objects.toMatrixNotation(messageBoxCapability.qualifier)}"]`);
|
|
18
19
|
}
|
|
19
20
|
// Assert capability other than the built-in text messsage box capability to have a qualifier.
|
|
20
21
|
if (!isBuiltInTextMessageBoxCapability(messageBoxCapability) && !Object.keys(messageBoxCapability.qualifier ?? {}).length) {
|
|
@@ -31,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
31
32
|
function isBuiltInTextMessageBoxCapability(capability) {
|
|
32
33
|
return capability.properties[TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY_PROPERTY] === TEXT_MESSAGE_BOX_CAPABILITY_IDENTITY;
|
|
33
34
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC1jYXBhYmlsaXR5LXZhbGlkYXRvci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC9taWNyb2Zyb250ZW5kLW1lc3NhZ2UtYm94LWNhcGFiaWxpdHktdmFsaWRhdG9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLHFCQUFxQixFQUFnQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdGLE9BQU8sRUFBQyxvQ0FBb0MsRUFBRSw2Q0FBNkMsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQzFLLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMENBQTBDO0lBRTlDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBc0I7UUFDM0MsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUFHLFVBQTJDLENBQUM7UUFFekUsb0NBQW9DO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7UUFDbkQsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxNQUFNLEtBQUssQ0FBQyw4R0FBOEcsb0JBQW9CLENBQUMsUUFBUyxDQUFDLGVBQWUsa0JBQWtCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMVAsQ0FBQztRQUVELDhGQUE4RjtRQUM5RixJQUFJLENBQUMsaUNBQWlDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFILE1BQU0sS0FBSyxDQUFDLCtFQUErRSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RJLENBQUM7UUFFRCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7OEdBckJVLDBDQUEwQztrSEFBMUMsMENBQTBDOzsyRkFBMUMsMENBQTBDO2tCQUR0RCxVQUFVOztBQXlCWCxTQUFTLGlDQUFpQyxDQUFDLFVBQXlDO0lBQ2xGLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxLQUFLLG9DQUFvQyxDQUFDO0FBQ3ZILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2FwYWJpbGl0eSwgQ2FwYWJpbGl0eUludGVyY2VwdG9yfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hDYXBhYmlsaXRpZXMsIFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge1RFWFRfTUVTU0FHRV9CT1hfQ0FQQUJJTElUWV9JREVOVElUWSwgVEVYVF9NRVNTQUdFX0JPWF9DQVBBQklMSVRZX0lERU5USVRZX1BST1BFUlRZfSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLWhvc3QtbWVzc2FnZS1ib3gvdGV4dC1tZXNzYWdlL3RleHQtbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi9jb21tb24vb2JqZWN0cy51dGlsJztcblxuLyoqXG4gKiBBc3NlcnRzIG1lc3NhZ2UgYm94IGNhcGFiaWxpdGllcyB0byBoYXZlIHJlcXVpcmVkIHByb3BlcnRpZXMuXG4gKi9cbkBJbmplY3RhYmxlKC8qIERPIE5PVCBQUk9WSURFIHZpYSAncHJvdmlkZWRJbicgbWV0YWRhdGEgYXMgb25seSByZWdpc3RlcmVkIGlmIG1pY3JvZnJvbnRlbmQgc3VwcG9ydCBpcyBlbmFibGVkLiAqLylcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kTWVzc2FnZUJveENhcGFiaWxpdHlWYWxpZGF0b3IgaW1wbGVtZW50cyBDYXBhYmlsaXR5SW50ZXJjZXB0b3Ige1xuXG4gIHB1YmxpYyBhc3luYyBpbnRlcmNlcHQoY2FwYWJpbGl0eTogQ2FwYWJpbGl0eSk6IFByb21pc2U8Q2FwYWJpbGl0eT4ge1xuICAgIGlmIChjYXBhYmlsaXR5LnR5cGUgIT09IFdvcmtiZW5jaENhcGFiaWxpdGllcy5NZXNzYWdlQm94KSB7XG4gICAgICByZXR1cm4gY2FwYWJpbGl0eTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlQm94Q2FwYWJpbGl0eSA9IGNhcGFiaWxpdHkgYXMgV29ya2JlbmNoTWVzc2FnZUJveENhcGFiaWxpdHk7XG5cbiAgICAvLyBBc3NlcnQgY2FwYWJpbGl0eSB0byBoYXZlIGEgcGF0aC5cbiAgICBjb25zdCBwYXRoID0gbWVzc2FnZUJveENhcGFiaWxpdHkucHJvcGVydGllcz8ucGF0aDtcbiAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkIHx8IHBhdGggPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFBhdGhFcnJvcl0gTWVzc2FnZUJveCBjYXBhYmlsaXR5IHJlcXVpcmVzIGEgcGF0aCB0byB0aGUgbWljcm9mcm9udGVuZCBpbiBpdHMgcHJvcGVydGllcyBbYXBwbGljYXRpb249XCIke21lc3NhZ2VCb3hDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWV9XCIsIGNhcGFiaWxpdHk9XCIke09iamVjdHMudG9NYXRyaXhOb3RhdGlvbihtZXNzYWdlQm94Q2FwYWJpbGl0eS5xdWFsaWZpZXIpfVwiXWApO1xuICAgIH1cblxuICAgIC8vIEFzc2VydCBjYXBhYmlsaXR5IG90aGVyIHRoYW4gdGhlIGJ1aWx0LWluIHRleHQgbWVzc3NhZ2UgYm94IGNhcGFiaWxpdHkgdG8gaGF2ZSBhIHF1YWxpZmllci5cbiAgICBpZiAoIWlzQnVpbHRJblRleHRNZXNzYWdlQm94Q2FwYWJpbGl0eShtZXNzYWdlQm94Q2FwYWJpbGl0eSkgJiYgIU9iamVjdC5rZXlzKG1lc3NhZ2VCb3hDYXBhYmlsaXR5LnF1YWxpZmllciA/PyB7fSkubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBFcnJvcihgW051bGxRdWFsaWZpZXJFcnJvcl0gTWVzc2FnZUJveCBjYXBhYmlsaXR5IHJlcXVpcmVzIGEgcXVhbGlmaWVyIFtjYXBhYmlsaXR5PSR7SlNPTi5zdHJpbmdpZnkobWVzc2FnZUJveENhcGFiaWxpdHkpfV1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZUJveENhcGFiaWxpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNCdWlsdEluVGV4dE1lc3NhZ2VCb3hDYXBhYmlsaXR5KGNhcGFiaWxpdHk6IFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5KTogYm9vbGVhbiB7XG4gIHJldHVybiBjYXBhYmlsaXR5LnByb3BlcnRpZXNbVEVYVF9NRVNTQUdFX0JPWF9DQVBBQklMSVRZX0lERU5USVRZX1BST1BFUlRZXSA9PT0gVEVYVF9NRVNTQUdFX0JPWF9DQVBBQklMSVRZX0lERU5USVRZO1xufVxuIl19
|
|
@@ -7,12 +7,11 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, HostBinding, inject, Input, runInInjectionContext, ViewChild } from '@angular/core';
|
|
10
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, effect, HostBinding, inject, Input, runInInjectionContext, ViewChild } from '@angular/core';
|
|
11
11
|
import { MicrofrontendPlatformConfig } from '@scion/microfrontend-platform';
|
|
12
12
|
import { LoggerNames } from '../../logging';
|
|
13
13
|
import { ɵMESSAGE_BOX_CONTEXT } from '@scion/workbench-client';
|
|
14
14
|
import { NgClass, NgComponentOutlet } from '@angular/common';
|
|
15
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
16
15
|
import { MicrofrontendSplashComponent } from '../microfrontend-splash/microfrontend-splash.component';
|
|
17
16
|
import { UUID } from '@scion/toolkit/uuid';
|
|
18
17
|
import { setStyle } from '../../common/dom.util';
|
|
@@ -49,7 +48,7 @@ export class MicrofrontendMessageBoxComponent {
|
|
|
49
48
|
this.navigate();
|
|
50
49
|
}
|
|
51
50
|
navigate() {
|
|
52
|
-
const application = this._manifestService.
|
|
51
|
+
const application = this._manifestService.getApplication(this.capability.metadata.appSymbolicName);
|
|
53
52
|
this._logger.debug(() => `Loading microfrontend into workbench message box [app=${this.capability.metadata.appSymbolicName}, baseUrl=${application.baseUrl}, path=${this.capability.properties.path}].`, LoggerNames.MICROFRONTEND, this.params, this.capability);
|
|
54
53
|
this._outletRouter.navigate(this.capability.properties.path, {
|
|
55
54
|
outlet: this.outletName,
|
|
@@ -87,24 +86,20 @@ export class MicrofrontendMessageBoxComponent {
|
|
|
87
86
|
* such as when dragging a view or moving a sash.
|
|
88
87
|
*/
|
|
89
88
|
installWorkbenchDragDetector() {
|
|
90
|
-
this._workbenchLayoutService.dragging
|
|
91
|
-
.pipe(takeUntilDestroyed())
|
|
92
|
-
.subscribe(event => {
|
|
93
|
-
this.isWorkbenchDrag = (event === 'start');
|
|
94
|
-
});
|
|
89
|
+
effect(() => this.isWorkbenchDrag = this._workbenchLayoutService.dragging());
|
|
95
90
|
}
|
|
96
91
|
ngOnDestroy() {
|
|
97
92
|
this._outletRouter.navigate(null, { outlet: this.outletName }).then(); // Clear the outlet.
|
|
98
93
|
}
|
|
99
94
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendMessageBoxComponent, deps: [{ token: i1.OutletRouter }, { token: i1.ManifestService }, { token: i2.WorkbenchLayoutService }, { token: i0.Injector }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendMessageBoxComponent, isStandalone: true, selector: "wb-microfrontend-message-box", inputs: { capability: "capability", params: "params" }, host: { properties: { "class.workbench-drag": "this.isWorkbenchDrag" } }, viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<sci-router-outlet #router_outlet\n [name]=\"outletName\"\n [attr.data-capabilityid]=\"capability.metadata!.id\"\n [attr.data-app]=\"capability.metadata!.appSymbolicName\"\n keystrokes=\"keydown.escape\">\n <ng-container *ngComponentOutlet=\"splash\"
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendMessageBoxComponent, isStandalone: true, selector: "wb-microfrontend-message-box", inputs: { capability: "capability", params: "params" }, host: { properties: { "class.workbench-drag": "this.isWorkbenchDrag" } }, viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<sci-router-outlet #router_outlet\n [name]=\"outletName\"\n [attr.data-capabilityid]=\"capability.metadata!.id\"\n [attr.data-app]=\"capability.metadata!.appSymbolicName\"\n keystrokes=\"keydown.escape\">\n <ng-container *ngComponentOutlet=\"splash\"/>\n</sci-router-outlet>\n", styles: [":host{display:grid}:host.workbench-drag>sci-router-outlet{pointer-events:none}:host>sci-router-outlet::part(splash){display:grid}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
|
|
101
96
|
}
|
|
102
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendMessageBoxComponent, decorators: [{
|
|
103
98
|
type: Component,
|
|
104
99
|
args: [{ selector: 'wb-microfrontend-message-box', standalone: true, imports: [
|
|
105
100
|
NgClass,
|
|
106
101
|
NgComponentOutlet,
|
|
107
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<sci-router-outlet #router_outlet\n [name]=\"outletName\"\n [attr.data-capabilityid]=\"capability.metadata!.id\"\n [attr.data-app]=\"capability.metadata!.appSymbolicName\"\n keystrokes=\"keydown.escape\">\n <ng-container *ngComponentOutlet=\"splash\"
|
|
102
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<sci-router-outlet #router_outlet\n [name]=\"outletName\"\n [attr.data-capabilityid]=\"capability.metadata!.id\"\n [attr.data-app]=\"capability.metadata!.appSymbolicName\"\n keystrokes=\"keydown.escape\">\n <ng-container *ngComponentOutlet=\"splash\"/>\n</sci-router-outlet>\n", styles: [":host{display:grid}:host.workbench-drag>sci-router-outlet{pointer-events:none}:host>sci-router-outlet::part(splash){display:grid}\n"] }]
|
|
108
103
|
}], ctorParameters: () => [{ type: i1.OutletRouter }, { type: i1.ManifestService }, { type: i2.WorkbenchLayoutService }, { type: i0.Injector }, { type: i3.Logger }], propDecorators: { capability: [{
|
|
109
104
|
type: Input,
|
|
110
105
|
args: [{ required: true }]
|
|
@@ -118,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
118
113
|
type: ViewChild,
|
|
119
114
|
args: ['router_outlet', { static: true }]
|
|
120
115
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtbWVzc2FnZS1ib3gvbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtbWVzc2FnZS1ib3gvbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQWMsV0FBVyxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQXFCLHFCQUFxQixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2SyxPQUFPLEVBQWtCLDJCQUEyQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQ2pJLE9BQU8sRUFBUyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFnQyxvQkFBb0IsRUFBcUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNoSCxPQUFPLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFHOUQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDcEcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFP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RzVCLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGlCQUFpQjtxQkFDbEIsV0FDUSxDQUFDLHNCQUFzQixDQUFDO2dNQU8xQixVQUFVO3NCQURoQixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFJaEIsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFPaEIsZUFBZTtzQkFEckIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSTVCLG1CQUFtQjtzQkFEekIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYW5pZmVzdFNlcnZpY2UsIE1pY3JvZnJvbnRlbmRQbGF0Zm9ybUNvbmZpZywgT3V0bGV0Um91dGVyLCBTY2lSb3V0ZXJPdXRsZXRFbGVtZW50fSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtXb3JrYmVuY2hNZXNzYWdlQm94Q2FwYWJpbGl0eSwgybVNRVNTQUdFX0JPWF9DT05URVhULCDJtU1lc3NhZ2VCb3hDb250ZXh0fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge05nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V29ya2JlbmNoTGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vbGF5b3V0L3dvcmtiZW5jaC1sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kU3BsYXNoQ29tcG9uZW50fSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLXNwbGFzaC9taWNyb2Zyb250ZW5kLXNwbGFzaC5jb21wb25lbnQnO1xuaW1wb3J0IHtVVUlEfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dWlkJztcbmltcG9ydCB7c2V0U3R5bGV9IGZyb20gJy4uLy4uL2NvbW1vbi9kb20udXRpbCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRzfSBmcm9tICcuLi9jb21tb24vbWljcm9mcm9udGVuZC51dGlsJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgbWljcm9mcm9udGVuZCBvZiBhIGdpdmVuIHtAbGluayBXb3JrYmVuY2hNZXNzYWdlQm94Q2FwYWJpbGl0eX0uXG4gKlxuICogVGhpcyBjb21wb25lbnQgaXMgZGVzaWduZWQgdG8gYmUgZGlzcGxheWVkIGluIGEgd29ya2JlbmNoIG1lc3NhZ2UgYm94LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1taWNyb2Zyb250ZW5kLW1lc3NhZ2UtYm94JyxcbiAgc3R5bGVVcmxzOiBbJy4vbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sIC8vIHJlcXVpcmVkIGJlY2F1c2UgPHNjaS1yb3V0ZXItb3V0bGV0PiBpcyBhIGN1c3RvbSBlbGVtZW50XG59KVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRNZXNzYWdlQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBvdXRsZXROYW1lID0gVVVJRC5yYW5kb21VVUlEKCk7XG5cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIHB1YmxpYyBjYXBhYmlsaXR5ITogV29ya2JlbmNoTWVzc2FnZUJveENhcGFiaWxpdHk7XG5cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIHB1YmxpYyBwYXJhbXMhOiBNYXA8c3RyaW5nLCB1bmtub3duPjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGEgd29ya2JlbmNoIGRyYWcgb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzLCBzdWNoIGFzIHdoZW4gZHJhZ2dpbmcgYSB2aWV3IG9yIG1vdmluZyBhIHNhc2guXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndvcmtiZW5jaC1kcmFnJylcbiAgcHVibGljIGlzV29ya2JlbmNoRHJhZyA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3JvdXRlcl9vdXRsZXQnLCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHJvdXRlck91dGxldEVsZW1lbnQhOiBFbGVtZW50UmVmPFNjaVJvdXRlck91dGxldEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBTcGxhc2ggdG8gZGlzcGxheSB1bnRpbCB0aGUgbWljcm9mcm9udGVuZCBzaWduYWxzIHJlYWRpbmVzcy5cbiAgICovXG4gIHByb3RlY3RlZCBzcGxhc2g6IENvbXBvbmVudFR5cGU8dW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfb3V0bGV0Um91dGVyOiBPdXRsZXRSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21hbmlmZXN0U2VydmljZTogTWFuaWZlc3RTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlOiBXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyKSB7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+ICdDb25zdHJ1Y3RpbmcgTWljcm9mcm9udGVuZE1lc3NhZ2VCb3hDb21wb25lbnQuJywgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORCk7XG4gICAgdGhpcy5zcGxhc2ggPSBpbmplY3QoTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnKS5zcGxhc2ggPz8gTWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudDtcbiAgICB0aGlzLmluc3RhbGxXb3JrYmVuY2hEcmFnRGV0ZWN0b3IoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNpemVQcm9wZXJ0aWVzKCk7XG4gICAgdGhpcy5wcm9wYWdhdGVNZXNzYWdlQm94Q29udGV4dCgpO1xuICAgIHRoaXMucHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTtcbiAgICB0aGlzLm5hdmlnYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gdGhpcy5fbWFuaWZlc3RTZXJ2aWNlLmFwcGxpY2F0aW9ucy5maW5kKGFwcCA9PiBhcHAuc3ltYm9saWNOYW1lID09PSB0aGlzLmNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSkhO1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiBgTG9hZGluZyBtaWNyb2Zyb250ZW5kIGludG8gd29ya2JlbmNoIG1lc3NhZ2UgYm94IFthcHA9JHt0aGlzLmNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZX0sIGJhc2VVcmw9JHthcHBsaWNhdGlvbi5iYXNlVXJsfSwgcGF0aD0ke3RoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnBhdGh9XS5gLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5ELCB0aGlzLnBhcmFtcywgdGhpcy5jYXBhYmlsaXR5KTtcbiAgICB0aGlzLl9vdXRsZXRSb3V0ZXIubmF2aWdhdGUodGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMucGF0aCwge1xuICAgICAgb3V0bGV0OiB0aGlzLm91dGxldE5hbWUsXG4gICAgICByZWxhdGl2ZVRvOiBhcHBsaWNhdGlvbi5iYXNlVXJsLFxuICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtcyxcbiAgICAgIHB1c2hTdGF0ZVRvU2Vzc2lvbkhpc3RvcnlTdGFjazogZmFsc2UsXG4gICAgICBzaG93U3BsYXNoOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaG93U3BsYXNoLFxuICAgIH0pLnRoZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIHRoZSBtZXNzYWdlIGJveCBjb250ZXh0IGF2YWlsYWJsZSB0byBlbWJlZGRlZCBjb250ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBwcm9wYWdhdGVNZXNzYWdlQm94Q29udGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0OiDJtU1lc3NhZ2VCb3hDb250ZXh0ID0ge1xuICAgICAgY2FwYWJpbGl0eTogdGhpcy5jYXBhYmlsaXR5LFxuICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtcyxcbiAgICB9O1xuICAgIHRoaXMucm91dGVyT3V0bGV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNldENvbnRleHRWYWx1ZSjJtU1FU1NBR0VfQk9YX0NPTlRFWFQsIGNvbnRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTaXplUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBzZXRTdHlsZSh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQsIHtcbiAgICAgICd3aWR0aCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/LndpZHRoID8/ICcwJywgLy8gYWxsb3cgY29udGVudCBzaXplIHRvIGdvIGJlbGxvdyB0aGUgZGVmYXVsdCBpZnJhbWUgc2l6ZSB3aGVuIHJlcG9ydGluZyBwcmVmZXJyZWQgc2l6ZVxuICAgICAgJ21pbi13aWR0aCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1pbldpZHRoID8/IG51bGwsXG4gICAgICAnbWF4LXdpZHRoJzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWF4V2lkdGggPz8gbnVsbCxcbiAgICAgICdoZWlnaHQnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5oZWlnaHQgPz8gJzAnLCAvLyBhbGxvdyBjb250ZW50IHNpemUgdG8gZ28gYmVsbG93IHRoZSBkZWZhdWx0IGlmcmFtZSBzaXplIHdoZW4gcmVwb3J0aW5nIHByZWZlcnJlZCBzaXplXG4gICAgICAnbWluLWhlaWdodCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1pbkhlaWdodCA/PyBudWxsLFxuICAgICAgJ21heC1oZWlnaHQnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5tYXhIZWlnaHQgPz8gbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTogdm9pZCB7XG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuX2luamVjdG9yLCAoKSA9PiBNaWNyb2Zyb250ZW5kcy5wcm9wYWdhdGVUaGVtZSh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHtAbGluayBpc1dvcmtiZW5jaERyYWd9IHByb3BlcnR5IHdoZW4gYSB3b3JrYmVuY2ggZHJhZyBvcGVyYXRpb24gaXMgZGV0ZWN0ZWQsXG4gICAqIHN1Y2ggYXMgd2hlbiBkcmFnZ2luZyBhIHZpZXcgb3IgbW92aW5nIGEgc2FzaC5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFdvcmtiZW5jaERyYWdEZXRlY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlLmRyYWdnaW5nJFxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgdGhpcy5pc1dvcmtiZW5jaERyYWcgPSAoZXZlbnQgPT09ICdzdGFydCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb3V0bGV0Um91dGVyLm5hdmlnYXRlKG51bGwsIHtvdXRsZXQ6IHRoaXMub3V0bGV0TmFtZX0pLnRoZW4oKTsgLy8gQ2xlYXIgdGhlIG91dGxldC5cbiAgfVxufVxuIiwiPHNjaS1yb3V0ZXItb3V0bGV0ICNyb3V0ZXJfb3V0bGV0XG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwib3V0bGV0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXBhYmlsaXR5aWRdPVwiY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWRcIlxuICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXBwXT1cImNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZVwiXG4gICAgICAgICAgICAgICAgICAga2V5c3Ryb2tlcz1cImtleWRvd24uZXNjYXBlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic3BsYXNoXCI+PC9uZy1jb250YWluZXI+XG48L3NjaS1yb3V0ZXItb3V0bGV0PlxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtbWVzc2FnZS1ib3gvbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtbWVzc2FnZS1ib3gvbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFjLFdBQVcsRUFBRSxNQUFNLEVBQVksS0FBSyxFQUFxQixxQkFBcUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0ssT0FBTyxFQUFrQiwyQkFBMkIsRUFBdUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNqSSxPQUFPLEVBQVMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBZ0Msb0JBQW9CLEVBQXFCLE1BQU0seUJBQXlCLENBQUM7QUFDaEgsT0FBTyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzNELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7OztBQUU1RDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLGdDQUFnQztJQXdCM0MsWUFBb0IsYUFBMkIsRUFDM0IsZ0JBQWlDLEVBQ2pDLHVCQUErQyxFQUMvQyxTQUFtQixFQUNuQixPQUFlO1FBSmYsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQy9DLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQTFCaEIsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQVFsRDs7V0FFRztRQUVJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBZTdCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQztRQUN6RixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMseURBQXlELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxDQUFDLGVBQWUsYUFBYSxXQUFXLENBQUMsT0FBTyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDblEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQzNELE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU87WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLDhCQUE4QixFQUFFLEtBQUs7WUFDckMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFVBQVU7U0FDbEQsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0ssMEJBQTBCO1FBQ2hDLE1BQU0sT0FBTyxHQUF1QjtZQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksR0FBRyxFQUFFLHdGQUF3RjtZQUNoSixXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxJQUFJO1lBQzlELFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUk7WUFDOUQsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksR0FBRyxFQUFFLHdGQUF3RjtZQUNsSixZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxJQUFJO1lBQ2hFLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLElBQUk7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVEOzs7T0FHRztJQUNLLDRCQUE0QjtRQUNsQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7SUFDM0YsQ0FBQzs4R0F6RlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsOFZDdEM3QywrVkFPQSw2TEQyQkksaUJBQWlCOzsyRkFJUixnQ0FBZ0M7a0JBWDVDLFNBQVM7K0JBQ0UsOEJBQThCLGNBRzVCLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGlCQUFpQjtxQkFDbEIsV0FDUSxDQUFDLHNCQUFzQixDQUFDO2dNQU8xQixVQUFVO3NCQURoQixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFJaEIsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFPaEIsZUFBZTtzQkFEckIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSTVCLG1CQUFtQjtzQkFEekIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZWZmZWN0LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBydW5JbkluamVjdGlvbkNvbnRleHQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hbmlmZXN0U2VydmljZSwgTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnLCBPdXRsZXRSb3V0ZXIsIFNjaVJvdXRlck91dGxldEVsZW1lbnR9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJOYW1lc30gZnJvbSAnLi4vLi4vbG9nZ2luZyc7XG5pbXBvcnQge1dvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5LCDJtU1FU1NBR0VfQk9YX0NPTlRFWFQsIMm1TWVzc2FnZUJveENvbnRleHR9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7TmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dFNlcnZpY2V9IGZyb20gJy4uLy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7TWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudH0gZnJvbSAnLi4vbWljcm9mcm9udGVuZC1zcGxhc2gvbWljcm9mcm9udGVuZC1zcGxhc2guY29tcG9uZW50JztcbmltcG9ydCB7VVVJRH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXVpZCc7XG5pbXBvcnQge3NldFN0eWxlfSBmcm9tICcuLi8uLi9jb21tb24vZG9tLnV0aWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kc30gZnJvbSAnLi4vY29tbW9uL21pY3JvZnJvbnRlbmQudXRpbCc7XG5cbi8qKlxuICogRGlzcGxheXMgdGhlIG1pY3JvZnJvbnRlbmQgb2YgYSBnaXZlbiB7QGxpbmsgV29ya2JlbmNoTWVzc2FnZUJveENhcGFiaWxpdHl9LlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIGJlIGRpc3BsYXllZCBpbiBhIHdvcmtiZW5jaCBtZXNzYWdlIGJveC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2ItbWljcm9mcm9udGVuZC1tZXNzYWdlLWJveCcsXG4gIHN0eWxlVXJsczogWycuL21pY3JvZnJvbnRlbmQtbWVzc2FnZS1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pY3JvZnJvbnRlbmQtbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLCAvLyByZXF1aXJlZCBiZWNhdXNlIDxzY2ktcm91dGVyLW91dGxldD4gaXMgYSBjdXN0b20gZWxlbWVudFxufSlcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kTWVzc2FnZUJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3V0bGV0TmFtZSA9IFVVSUQucmFuZG9tVVVJRCgpO1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICBwdWJsaWMgY2FwYWJpbGl0eSE6IFdvcmtiZW5jaE1lc3NhZ2VCb3hDYXBhYmlsaXR5O1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICBwdWJsaWMgcGFyYW1zITogTWFwPHN0cmluZywgdW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcywgc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53b3JrYmVuY2gtZHJhZycpXG4gIHB1YmxpYyBpc1dvcmtiZW5jaERyYWcgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdyb3V0ZXJfb3V0bGV0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyByb3V0ZXJPdXRsZXRFbGVtZW50ITogRWxlbWVudFJlZjxTY2lSb3V0ZXJPdXRsZXRFbGVtZW50PjtcblxuICAvKipcbiAgICogU3BsYXNoIHRvIGRpc3BsYXkgdW50aWwgdGhlIG1pY3JvZnJvbnRlbmQgc2lnbmFscyByZWFkaW5lc3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3BsYXNoOiBDb21wb25lbnRUeXBlPHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX291dGxldFJvdXRlcjogT3V0bGV0Um91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tYW5pZmVzdFNlcnZpY2U6IE1hbmlmZXN0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd29ya2JlbmNoTGF5b3V0U2VydmljZTogV29ya2JlbmNoTGF5b3V0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2dnZXI6IExvZ2dlcikge1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnQ29uc3RydWN0aW5nIE1pY3JvZnJvbnRlbmRNZXNzYWdlQm94Q29tcG9uZW50LicsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkQpO1xuICAgIHRoaXMuc3BsYXNoID0gaW5qZWN0KE1pY3JvZnJvbnRlbmRQbGF0Zm9ybUNvbmZpZykuc3BsYXNoID8/IE1pY3JvZnJvbnRlbmRTcGxhc2hDb21wb25lbnQ7XG4gICAgdGhpcy5pbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTaXplUHJvcGVydGllcygpO1xuICAgIHRoaXMucHJvcGFnYXRlTWVzc2FnZUJveENvbnRleHQoKTtcbiAgICB0aGlzLnByb3BhZ2F0ZVdvcmtiZW5jaFRoZW1lKCk7XG4gICAgdGhpcy5uYXZpZ2F0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBhcHBsaWNhdGlvbiA9IHRoaXMuX21hbmlmZXN0U2VydmljZS5nZXRBcHBsaWNhdGlvbih0aGlzLmNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSk7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+IGBMb2FkaW5nIG1pY3JvZnJvbnRlbmQgaW50byB3b3JrYmVuY2ggbWVzc2FnZSBib3ggW2FwcD0ke3RoaXMuY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lfSwgYmFzZVVybD0ke2FwcGxpY2F0aW9uLmJhc2VVcmx9LCBwYXRoPSR7dGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMucGF0aH1dLmAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkQsIHRoaXMucGFyYW1zLCB0aGlzLmNhcGFiaWxpdHkpO1xuICAgIHRoaXMuX291dGxldFJvdXRlci5uYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7XG4gICAgICBvdXRsZXQ6IHRoaXMub3V0bGV0TmFtZSxcbiAgICAgIHJlbGF0aXZlVG86IGFwcGxpY2F0aW9uLmJhc2VVcmwsXG4gICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxuICAgICAgcHVzaFN0YXRlVG9TZXNzaW9uSGlzdG9yeVN0YWNrOiBmYWxzZSxcbiAgICAgIHNob3dTcGxhc2g6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNob3dTcGxhc2gsXG4gICAgfSkudGhlbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhlIG1lc3NhZ2UgYm94IGNvbnRleHQgYXZhaWxhYmxlIHRvIGVtYmVkZGVkIGNvbnRlbnQuXG4gICAqL1xuICBwcml2YXRlIHByb3BhZ2F0ZU1lc3NhZ2VCb3hDb250ZXh0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQ6IMm1TWVzc2FnZUJveENvbnRleHQgPSB7XG4gICAgICBjYXBhYmlsaXR5OiB0aGlzLmNhcGFiaWxpdHksXG4gICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxuICAgIH07XG4gICAgdGhpcy5yb3V0ZXJPdXRsZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2V0Q29udGV4dFZhbHVlKMm1TUVTU0FHRV9CT1hfQ09OVEVYVCwgY29udGV4dCk7XG4gIH1cblxuICBwcml2YXRlIHNldFNpemVQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIHNldFN0eWxlKHRoaXMucm91dGVyT3V0bGV0RWxlbWVudCwge1xuICAgICAgJ3dpZHRoJzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ud2lkdGggPz8gJzAnLCAvLyBhbGxvdyBjb250ZW50IHNpemUgdG8gZ28gYmVsbG93IHRoZSBkZWZhdWx0IGlmcmFtZSBzaXplIHdoZW4gcmVwb3J0aW5nIHByZWZlcnJlZCBzaXplXG4gICAgICAnbWluLXdpZHRoJzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWluV2lkdGggPz8gbnVsbCxcbiAgICAgICdtYXgtd2lkdGgnOiB0aGlzLmNhcGFiaWxpdHkucHJvcGVydGllcy5zaXplPy5tYXhXaWR0aCA/PyBudWxsLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/LmhlaWdodCA/PyAnMCcsIC8vIGFsbG93IGNvbnRlbnQgc2l6ZSB0byBnbyBiZWxsb3cgdGhlIGRlZmF1bHQgaWZyYW1lIHNpemUgd2hlbiByZXBvcnRpbmcgcHJlZmVycmVkIHNpemVcbiAgICAgICdtaW4taGVpZ2h0JzogdGhpcy5jYXBhYmlsaXR5LnByb3BlcnRpZXMuc2l6ZT8ubWluSGVpZ2h0ID8/IG51bGwsXG4gICAgICAnbWF4LWhlaWdodCc6IHRoaXMuY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNpemU/Lm1heEhlaWdodCA/PyBudWxsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9wYWdhdGVXb3JrYmVuY2hUaGVtZSgpOiB2b2lkIHtcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IE1pY3JvZnJvbnRlbmRzLnByb3BhZ2F0ZVRoZW1lKHRoaXMucm91dGVyT3V0bGV0RWxlbWVudC5uYXRpdmVFbGVtZW50KSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUge0BsaW5rIGlzV29ya2JlbmNoRHJhZ30gcHJvcGVydHkgd2hlbiBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBkZXRlY3RlZCxcbiAgICogc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk6IHZvaWQge1xuICAgIGVmZmVjdCgoKSA9PiB0aGlzLmlzV29ya2JlbmNoRHJhZyA9IHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UuZHJhZ2dpbmcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb3V0bGV0Um91dGVyLm5hdmlnYXRlKG51bGwsIHtvdXRsZXQ6IHRoaXMub3V0bGV0TmFtZX0pLnRoZW4oKTsgLy8gQ2xlYXIgdGhlIG91dGxldC5cbiAgfVxufVxuIiwiPHNjaS1yb3V0ZXItb3V0bGV0ICNyb3V0ZXJfb3V0bGV0XG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwib3V0bGV0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXBhYmlsaXR5aWRdPVwiY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWRcIlxuICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXBwXT1cImNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZVwiXG4gICAgICAgICAgICAgICAgICAga2V5c3Ryb2tlcz1cImtleWRvd24uZXNjYXBlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic3BsYXNoXCIvPlxuPC9zY2ktcm91dGVyLW91dGxldD5cbiJdfQ==
|