@scion/workbench 18.0.0-beta.2 → 18.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/common/class-list.mjs +67 -29
- package/esm2022/lib/common/objects.util.mjs +7 -1
- package/esm2022/lib/common/operators.mjs +1 -12
- package/esm2022/lib/common/uid.util.mjs +22 -0
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
- package/esm2022/lib/content-projection/content-projection.directive.mjs +16 -17
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -8
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +22 -20
- package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +71 -26
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +25 -23
- package/esm2022/lib/executor/latest-task-executor.mjs +55 -0
- package/esm2022/lib/executor/single-task-executor.mjs +7 -17
- package/esm2022/lib/filter-field/filter-field.component.mjs +5 -5
- package/esm2022/lib/layout/grid-element/grid-element.component.mjs +6 -16
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +5 -6
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v5.model.mjs +11 -0
- package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
- package/esm2022/lib/layout/migration/workbench-layout-migration-v5.service.mjs +67 -0
- package/esm2022/lib/layout/stringifier.mjs +70 -0
- package/esm2022/lib/layout/workbench-layout.component.mjs +4 -5
- package/esm2022/lib/layout/workbench-layout.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.model.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.service.mjs +6 -7
- package/esm2022/lib/layout/workench-layout-serializer.service.mjs +16 -25
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +2 -2
- package/esm2022/lib/layout//311/265workbench-layout.mjs +45 -48
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
- package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +22 -6
- package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +28 -21
- package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +11 -1
- package/esm2022/lib/microfrontend-platform/manifest-object-cache.service.mjs +63 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +14 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +7 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +3 -2
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.mjs +39 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.mjs +120 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.mjs +55 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.mjs +19 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +11 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +4 -15
- package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +11 -27
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +49 -22
- package/esm2022/lib/microfrontend-platform/public_api.mjs +2 -1
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +18 -16
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +28 -6
- package/esm2022/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.mjs +32 -0
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +25 -7
- package/esm2022/lib/notification/notification-list.component.mjs +4 -8
- package/esm2022/lib/notification/notification.component.mjs +4 -5
- package/esm2022/lib/page-not-found/format-url.pipe.mjs +2 -2
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +7 -13
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +56 -75
- package/esm2022/lib/part/part-portal.pipe.mjs +8 -8
- package/esm2022/lib/part/part.component.mjs +32 -42
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -6
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +2 -2
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +27 -28
- package/esm2022/lib/part/view-list/view-list.component.mjs +41 -48
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +20 -24
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +15 -17
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +77 -88
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -4
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +14 -15
- package/esm2022/lib/part/workbench-part-action.registry.mjs +18 -42
- package/esm2022/lib/part/workbench-part.model.mjs +10 -1
- package/esm2022/lib/part/workbench-part.registry.mjs +11 -45
- package/esm2022/lib/part//311/265workbench-part.model.mjs +71 -55
- package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +3 -3
- package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
- package/esm2022/lib/perspective/workbench-perspective.registry.mjs +11 -43
- package/esm2022/lib/perspective/workbench-perspective.service.mjs +71 -62
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +40 -28
- package/esm2022/lib/popup/popup.component.mjs +3 -3
- package/esm2022/lib/popup/popup.config.mjs +23 -13
- package/esm2022/lib/popup/popup.service.mjs +48 -45
- package/esm2022/lib/portal/wb-component-portal.mjs +3 -1
- package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
- package/esm2022/lib/routing/public_api.mjs +1 -2
- package/esm2022/lib/routing/routing.model.mjs +1 -1
- package/esm2022/lib/routing/routing.util.mjs +210 -0
- package/esm2022/lib/routing/workbench-auxiliary-route-installer.service.mjs +110 -0
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -10
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-navigational-states.mjs +1 -1
- package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +138 -147
- package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +58 -0
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +42 -32
- package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
- package/esm2022/lib/testing/workbench.provider.mjs +2 -2
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +15 -19
- package/esm2022/lib/view/view-move-handler.service.mjs +11 -11
- package/esm2022/lib/view/view-portal.pipe.mjs +7 -7
- package/esm2022/lib/view/view.component.mjs +42 -41
- package/esm2022/lib/view/workbench-view-route-guards.mjs +5 -5
- package/esm2022/lib/view/workbench-view.model.mjs +1 -1
- package/esm2022/lib/view/workbench-view.registry.mjs +11 -45
- package/esm2022/lib/view//311/265workbench-view.model.mjs +136 -144
- package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +2 -2
- package/esm2022/lib/view-dnd/view-drag.service.mjs +1 -1
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +18 -20
- package/esm2022/lib/workbench-config.mjs +1 -1
- package/esm2022/lib/workbench-id.mjs +3 -3
- package/esm2022/lib/workbench.component.mjs +2 -2
- package/esm2022/lib/workbench.constants.mjs +1 -5
- package/esm2022/lib/workbench.model.mjs +1 -1
- package/esm2022/lib/workbench.provider.mjs +3 -9
- package/esm2022/lib/workbench.service.mjs +1 -1
- package/esm2022/lib//311/265workbench.service.mjs +31 -42
- package/fesm2022/scion-workbench.mjs +2586 -1996
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/common/class-list.d.ts +35 -22
- package/lib/common/objects.util.d.ts +4 -0
- package/lib/common/operators.d.ts +1 -6
- package/lib/common/uid.util.d.ts +9 -0
- package/lib/dialog/workbench-dialog.component.d.ts +3 -2
- package/lib/dialog/workbench-dialog.d.ts +57 -13
- package/lib/dialog//311/265workbench-dialog.d.ts +36 -17
- package/lib/dialog//311/265workbench-dialog.service.d.ts +10 -11
- package/lib/executor/latest-task-executor.d.ts +26 -0
- package/lib/executor/single-task-executor.d.ts +3 -6
- package/lib/filter-field/filter-field.component.d.ts +1 -1
- package/lib/layout/grid-element/grid-element.component.d.ts +1 -8
- package/lib/layout/migration/model/workbench-layout-migration-v5.model.d.ts +36 -0
- package/lib/layout/migration/workbench-layout-migration-v5.service.d.ts +12 -0
- package/lib/layout/stringifier.d.ts +26 -0
- package/lib/layout/workbench-layout.d.ts +9 -6
- package/lib/layout/workbench-layout.model.d.ts +5 -3
- package/lib/layout/workbench-layout.service.d.ts +4 -4
- package/lib/layout/workench-layout-serializer.service.d.ts +13 -15
- package/lib/layout//311/265workbench-layout.d.ts +13 -16
- package/lib/layout//311/265workbench-layout.factory.d.ts +2 -2
- package/lib/microfrontend-platform/common/microfrontend.util.d.ts +5 -1
- package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -3
- package/lib/microfrontend-platform/manifest-object-cache.service.d.ts +33 -0
- package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -5
- package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +1 -1
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.d.ts +10 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.d.ts +24 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.d.ts +20 -0
- package/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.d.ts +9 -0
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.d.ts +4 -8
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +0 -4
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +5 -12
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +7 -2
- package/lib/microfrontend-platform/public_api.d.ts +1 -0
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.d.ts +1 -1
- package/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.d.ts +3 -7
- package/lib/microfrontend-platform/routing/microfrontend-view-routes.d.ts +9 -2
- package/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.d.ts +11 -0
- package/lib/notification/notification-list.component.d.ts +0 -2
- package/lib/part/part-action-bar/part-action-bar.component.d.ts +4 -1
- package/lib/part/part-action-bar/part-action.directive.d.ts +2 -2
- package/lib/part/part-bar/part-bar.component.d.ts +8 -12
- package/lib/part/part-portal.pipe.d.ts +3 -5
- package/lib/part/part.component.d.ts +9 -12
- package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu.service.d.ts +8 -12
- package/lib/part/view-list/view-list.component.d.ts +8 -21
- package/lib/part/view-list-button/view-list-button.component.d.ts +8 -11
- package/lib/part/view-list-item/view-list-item.component.d.ts +3 -7
- package/lib/part/view-tab/view-tab.component.d.ts +17 -28
- package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +4 -4
- package/lib/part/workbench-part-action.registry.d.ts +3 -23
- package/lib/part/workbench-part.model.d.ts +8 -27
- package/lib/part/workbench-part.registry.d.ts +3 -26
- package/lib/part//311/265workbench-part.model.d.ts +24 -17
- package/lib/perspective/workbench-perspective.model.d.ts +18 -25
- package/lib/perspective/workbench-perspective.registry.d.ts +3 -26
- package/lib/perspective/workbench-perspective.service.d.ts +16 -14
- package/lib/perspective//311/265workbench-perspective.model.d.ts +30 -20
- package/lib/popup/popup.config.d.ts +2 -0
- package/lib/popup/popup.service.d.ts +12 -14
- package/lib/registry/workbench-object-registry.d.ts +10 -6
- package/lib/routing/public_api.d.ts +1 -2
- package/lib/routing/routing.model.d.ts +25 -13
- package/lib/routing/{router.util.d.ts → routing.util.d.ts} +24 -1
- package/lib/routing/{workbench-auxiliary-routes-registrator.service.d.ts → workbench-auxiliary-route-installer.service.d.ts} +10 -3
- package/lib/routing/workbench-layout-differ.d.ts +1 -2
- package/lib/routing/workbench-navigational-states.d.ts +3 -3
- package/lib/routing/workbench-url-observer.service.d.ts +31 -55
- package/lib/routing/workbench-view-outlet-differ.d.ts +32 -0
- package/lib/routing//311/265workbench-router.service.d.ts +10 -16
- package/lib/testing/workbench.provider.d.ts +3 -1
- package/lib/theme/workbench-theme-switcher.service.d.ts +4 -6
- package/lib/view/view-portal.pipe.d.ts +1 -3
- package/lib/view/view.component.d.ts +9 -10
- package/lib/view/workbench-view-route-guards.d.ts +2 -2
- package/lib/view/workbench-view.model.d.ts +49 -35
- package/lib/view/workbench-view.registry.d.ts +3 -27
- package/lib/view//311/265workbench-view.model.d.ts +58 -64
- package/lib/view-dnd/view-drag.service.d.ts +5 -2
- package/lib/workbench-config.d.ts +2 -2
- package/lib/workbench.constants.d.ts +0 -5
- package/lib/workbench.model.d.ts +6 -2
- package/lib/workbench.service.d.ts +58 -56
- package/lib//311/265workbench.service.d.ts +18 -31
- package/package.json +3 -3
- package/esm2022/lib/common/filter-by-predicate.pipe.mjs +0 -27
- package/esm2022/lib/common/filter-by-text.pipe.mjs +0 -39
- package/esm2022/lib/common/uuid.util.mjs +0 -17
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +0 -41
- package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +0 -26
- package/esm2022/lib/routing/router.util.mjs +0 -126
- package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +0 -94
- package/lib/common/filter-by-predicate.pipe.d.ts +0 -10
- package/lib/common/filter-by-text.pipe.d.ts +0 -12
- package/lib/common/uuid.util.d.ts +0 -8
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.d.ts +0 -10
- package/lib/part/part-action-bar/part-action-filter.pipe.d.ts +0 -11
|
@@ -7,55 +7,93 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import { Subject } from 'rxjs';
|
|
11
|
-
import { map, startWith } from 'rxjs/operators';
|
|
12
10
|
import { Arrays } from '@scion/toolkit/util';
|
|
11
|
+
import { computed, signal } from '@angular/core';
|
|
13
12
|
/**
|
|
14
13
|
* Container for managing CSS classes set in different scopes.
|
|
15
14
|
*/
|
|
16
15
|
export class ClassList {
|
|
17
16
|
constructor() {
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
|
|
17
|
+
this._layout = signal([], { equal: isEqualArray });
|
|
18
|
+
this._navigation = signal([], { equal: isEqualArray });
|
|
19
|
+
this._route = signal([], { equal: isEqualArray });
|
|
20
|
+
this._application = signal([], { equal: isEqualArray });
|
|
21
|
+
this.asList = computed(() => Arrays.distinct(new Array()
|
|
22
|
+
.concat(this._layout())
|
|
23
|
+
.concat(this._navigation())
|
|
24
|
+
.concat(this._route())
|
|
25
|
+
.concat(this._application())));
|
|
26
|
+
this.asMap = computed(() => removeEmptyEntries(new Map()
|
|
27
|
+
.set('layout', this._layout())
|
|
28
|
+
.set('navigation', this._navigation())
|
|
29
|
+
.set('route', this._route())
|
|
30
|
+
.set('application', this._application())));
|
|
23
31
|
}
|
|
24
32
|
/**
|
|
25
|
-
*
|
|
33
|
+
* Specifies CSS classes defined by the layout.
|
|
26
34
|
*/
|
|
27
|
-
set(cssClasses
|
|
28
|
-
this.
|
|
29
|
-
this.computeValue();
|
|
35
|
+
set layout(cssClasses) {
|
|
36
|
+
this._layout.set(Arrays.coerce(cssClasses));
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
|
-
*
|
|
39
|
+
* Returns CSS classes defined in the scope 'layout'.
|
|
33
40
|
*/
|
|
34
|
-
get(
|
|
35
|
-
return this.
|
|
41
|
+
get layout() {
|
|
42
|
+
return this._layout;
|
|
36
43
|
}
|
|
37
44
|
/**
|
|
38
|
-
*
|
|
45
|
+
* Specifies CSS classes associated with the navigation.
|
|
39
46
|
*/
|
|
40
|
-
|
|
41
|
-
this.
|
|
42
|
-
this.computeValue();
|
|
47
|
+
set navigation(cssClasses) {
|
|
48
|
+
this._navigation.set(Arrays.coerce(cssClasses));
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
|
-
* Returns
|
|
46
|
-
* useful to transfer the class list to a different browsing context.
|
|
51
|
+
* Returns CSS classes defined in the scope 'navigation'.
|
|
47
52
|
*/
|
|
48
|
-
|
|
49
|
-
return
|
|
53
|
+
get navigation() {
|
|
54
|
+
return this._navigation;
|
|
50
55
|
}
|
|
51
56
|
/**
|
|
52
|
-
*
|
|
57
|
+
* Specifies CSS classes defined by the route.
|
|
53
58
|
*/
|
|
54
|
-
|
|
55
|
-
this.
|
|
56
|
-
const classes = new Set(Array.from(this._cssClasses.values()).flat());
|
|
57
|
-
classes.forEach(clazz => this.value.push(clazz));
|
|
58
|
-
this._change$.next();
|
|
59
|
+
set route(cssClasses) {
|
|
60
|
+
this._route.set(Arrays.coerce(cssClasses));
|
|
59
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Returns CSS classes defined in the scope 'route'.
|
|
64
|
+
*/
|
|
65
|
+
get route() {
|
|
66
|
+
return this._route;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Specifies CSS classes set by the application.
|
|
70
|
+
*/
|
|
71
|
+
set application(cssClasses) {
|
|
72
|
+
this._application.set(Arrays.coerce(cssClasses));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns classes defined in the scope 'application'.
|
|
76
|
+
*/
|
|
77
|
+
get application() {
|
|
78
|
+
return this._application;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Creates a copy with empty map entries removed.
|
|
83
|
+
*/
|
|
84
|
+
function removeEmptyEntries(map) {
|
|
85
|
+
const copy = new Map(map);
|
|
86
|
+
for (const key of copy.keys()) {
|
|
87
|
+
if (!copy.get(key)?.length) {
|
|
88
|
+
copy.delete(key);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return copy;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Compares two arrays of strings for equality, ignoring element order.
|
|
95
|
+
*/
|
|
96
|
+
function isEqualArray(a, b) {
|
|
97
|
+
return Arrays.isEqual(a, b, { exactOrder: false });
|
|
60
98
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbW1vbi9jbGFzcy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFpQnBCO1FBZmlCLFlBQU8sR0FBRyxNQUFNLENBQVcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUM7UUFDdEQsZ0JBQVcsR0FBRyxNQUFNLENBQVcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUM7UUFDMUQsV0FBTSxHQUFHLE1BQU0sQ0FBVyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQUNyRCxpQkFBWSxHQUFHLE1BQU0sQ0FBVyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQWExRSxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxFQUFVO2FBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLEVBQTZCO2FBQ2hGLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzdCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3JDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzNCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsTUFBTSxDQUFDLFVBQWdEO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVLENBQUMsVUFBZ0Q7UUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLLENBQUMsVUFBZ0Q7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVcsQ0FBQyxVQUFnRDtRQUNyRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFpQkQ7O0dBRUc7QUFDSCxTQUFTLGtCQUFrQixDQUFPLEdBQWdCO0lBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxZQUFZLENBQUMsQ0FBVyxFQUFFLENBQVc7SUFDNUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0FycmF5c30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge2NvbXB1dGVkLCBTaWduYWwsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQ29udGFpbmVyIGZvciBtYW5hZ2luZyBDU1MgY2xhc3NlcyBzZXQgaW4gZGlmZmVyZW50IHNjb3Blcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENsYXNzTGlzdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbGF5b3V0ID0gc2lnbmFsPHN0cmluZ1tdPihbXSwge2VxdWFsOiBpc0VxdWFsQXJyYXl9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbiA9IHNpZ25hbDxzdHJpbmdbXT4oW10sIHtlcXVhbDogaXNFcXVhbEFycmF5fSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlID0gc2lnbmFsPHN0cmluZ1tdPihbXSwge2VxdWFsOiBpc0VxdWFsQXJyYXl9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXBwbGljYXRpb24gPSBzaWduYWw8c3RyaW5nW10+KFtdLCB7ZXF1YWw6IGlzRXF1YWxBcnJheX0pO1xuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3NlcyBhcyBsaXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzTGlzdDogU2lnbmFsPHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogQ1NTIGNsYXNzZXMgYXMge0BsaW5rIE1hcH0gZ3JvdXBlZCBieSBzY29wZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhc01hcDogU2lnbmFsPENsYXNzTGlzdE1hcD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hc0xpc3QgPSBjb21wdXRlZCgoKSA9PiBBcnJheXMuZGlzdGluY3QobmV3IEFycmF5PHN0cmluZz4oKVxuICAgICAgLmNvbmNhdCh0aGlzLl9sYXlvdXQoKSlcbiAgICAgIC5jb25jYXQodGhpcy5fbmF2aWdhdGlvbigpKVxuICAgICAgLmNvbmNhdCh0aGlzLl9yb3V0ZSgpKVxuICAgICAgLmNvbmNhdCh0aGlzLl9hcHBsaWNhdGlvbigpKSkpO1xuXG4gICAgdGhpcy5hc01hcCA9IGNvbXB1dGVkKCgpID0+IHJlbW92ZUVtcHR5RW50cmllcyhuZXcgTWFwPENsYXNzTGlzdFNjb3Blcywgc3RyaW5nW10+KClcbiAgICAgIC5zZXQoJ2xheW91dCcsIHRoaXMuX2xheW91dCgpKVxuICAgICAgLnNldCgnbmF2aWdhdGlvbicsIHRoaXMuX25hdmlnYXRpb24oKSlcbiAgICAgIC5zZXQoJ3JvdXRlJywgdGhpcy5fcm91dGUoKSlcbiAgICAgIC5zZXQoJ2FwcGxpY2F0aW9uJywgdGhpcy5fYXBwbGljYXRpb24oKSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgQ1NTIGNsYXNzZXMgZGVmaW5lZCBieSB0aGUgbGF5b3V0LlxuICAgKi9cbiAgcHVibGljIHNldCBsYXlvdXQoY3NzQ2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbGF5b3V0LnNldChBcnJheXMuY29lcmNlKGNzc0NsYXNzZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIENTUyBjbGFzc2VzIGRlZmluZWQgaW4gdGhlIHNjb3BlICdsYXlvdXQnLlxuICAgKi9cbiAgcHVibGljIGdldCBsYXlvdXQoKTogU2lnbmFsPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xheW91dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgQ1NTIGNsYXNzZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNldCBuYXZpZ2F0aW9uKGNzc0NsYXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25hdmlnYXRpb24uc2V0KEFycmF5cy5jb2VyY2UoY3NzQ2xhc3NlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgQ1NTIGNsYXNzZXMgZGVmaW5lZCBpbiB0aGUgc2NvcGUgJ25hdmlnYXRpb24nLlxuICAgKi9cbiAgcHVibGljIGdldCBuYXZpZ2F0aW9uKCk6IFNpZ25hbDxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBDU1MgY2xhc3NlcyBkZWZpbmVkIGJ5IHRoZSByb3V0ZS5cbiAgICovXG4gIHB1YmxpYyBzZXQgcm91dGUoY3NzQ2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcm91dGUuc2V0KEFycmF5cy5jb2VyY2UoY3NzQ2xhc3NlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgQ1NTIGNsYXNzZXMgZGVmaW5lZCBpbiB0aGUgc2NvcGUgJ3JvdXRlJy5cbiAgICovXG4gIHB1YmxpYyBnZXQgcm91dGUoKTogU2lnbmFsPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBDU1MgY2xhc3NlcyBzZXQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNldCBhcHBsaWNhdGlvbihjc3NDbGFzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9hcHBsaWNhdGlvbi5zZXQoQXJyYXlzLmNvZXJjZShjc3NDbGFzc2VzKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjbGFzc2VzIGRlZmluZWQgaW4gdGhlIHNjb3BlICdhcHBsaWNhdGlvbicuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFwcGxpY2F0aW9uKCk6IFNpZ25hbDxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9hcHBsaWNhdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgc2NvcGVzIHVzZWQgaW4ge0BsaW5rIENsYXNzTGlzdH0uXG4gKlxuICogYGxheW91dGA6IFVzZSBmb3IgQ1NTIGNsYXNzZXMgZGVmaW5lZCBvbiB0aGUgbGF5b3V0LlxuICogYG5hdmlnYXRpb25gOiBVc2UgZm9yIENTUyBjbGFzc2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbmF2aWdhdGlvbi5cbiAqIGByb3V0ZWA6IFVzZSBmb3IgQ1NTIGNsYXNzZXMgZGVmaW5lZCBvbiB0aGUgcm91dGUuXG4gKiBgYXBwbGljYXRpb25gOiBVc2UgZm9yIENTUyBjbGFzc2VzIHNldCBieSB0aGUgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIENsYXNzTGlzdFNjb3BlcyA9ICdsYXlvdXQnIHwgJ25hdmlnYXRpb24nIHwgJ3JvdXRlJyB8ICdhcHBsaWNhdGlvbic7XG5cbi8qKlxuICogQ1NTIGNsYXNzZXMgZ3JvdXBlZCBieSBzY29wZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2xhc3NMaXN0TWFwID0gUmVhZG9ubHlNYXA8Q2xhc3NMaXN0U2NvcGVzLCBzdHJpbmdbXT47XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvcHkgd2l0aCBlbXB0eSBtYXAgZW50cmllcyByZW1vdmVkLlxuICovXG5mdW5jdGlvbiByZW1vdmVFbXB0eUVudHJpZXM8SywgVj4obWFwOiBNYXA8SywgVltdPik6IE1hcDxLLCBWW10+IHtcbiAgY29uc3QgY29weSA9IG5ldyBNYXA8SywgVltdPihtYXApO1xuICBmb3IgKGNvbnN0IGtleSBvZiBjb3B5LmtleXMoKSkge1xuICAgIGlmICghY29weS5nZXQoa2V5KT8ubGVuZ3RoKSB7XG4gICAgICBjb3B5LmRlbGV0ZShrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY29weTtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gYXJyYXlzIG9mIHN0cmluZ3MgZm9yIGVxdWFsaXR5LCBpZ25vcmluZyBlbGVtZW50IG9yZGVyLlxuICovXG5mdW5jdGlvbiBpc0VxdWFsQXJyYXkoYTogc3RyaW5nW10sIGI6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIHJldHVybiBBcnJheXMuaXNFcXVhbChhLCBiLCB7ZXhhY3RPcmRlcjogZmFsc2V9KTtcbn1cbiJdfQ==
|
|
@@ -30,5 +30,11 @@ export const Objects = {
|
|
|
30
30
|
withoutUndefinedEntries: (object) => {
|
|
31
31
|
return Dictionaries.withoutUndefinedEntries(object);
|
|
32
32
|
},
|
|
33
|
+
/**
|
|
34
|
+
* Stringifies given object to matrix notation: a=b;c=d;e=f
|
|
35
|
+
*/
|
|
36
|
+
toMatrixNotation: (object) => {
|
|
37
|
+
return Object.entries(object ?? {}).map(([key, value]) => `${key}=${value}`).join(';');
|
|
38
|
+
},
|
|
33
39
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29iamVjdHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUVyQjs7T0FFRztJQUNILElBQUksRUFBRSxDQUFJLE1BQVMsRUFBa0IsRUFBRTtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBa0MsQ0FBbUIsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLEVBQUUsQ0FBZ0IsTUFBd0MsRUFBaUIsRUFBRTtRQUNsRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFrQixDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixFQUFFLENBQUksTUFBbUMsRUFBSyxFQUFFO1FBQ3JFLE9BQU8sWUFBWSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBTSxDQUFDO0lBQzNELENBQUM7SUFDRDs7T0FFRztJQUNILGdCQUFnQixFQUFFLENBQUMsTUFBa0QsRUFBVSxFQUFFO1FBQy9FLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpY3Rpb25hcmllc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5cbi8qKlxuICogUHJvdmlkZXMgaGVscGVyIGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBPYmplY3RzID0ge1xuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3Qua2V5c30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGtleXM6IDxUPihvYmplY3Q6IFQpOiBBcnJheTxrZXlvZiBUPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCBhcyBSZWNvcmQ8a2V5b2YgVCwgdW5rbm93bj4pIGFzIEFycmF5PGtleW9mIFQ+O1xuICB9LFxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3QuZW50cmllc30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGVudHJpZXM6IDxWLCBLID0gc3RyaW5nPihvYmplY3Q6IFJlY29yZDxzdHJpbmcsIFY+IHwgQXJyYXlMaWtlPFY+KTogQXJyYXk8W0ssIFZdPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iamVjdCkgYXMgQXJyYXk8W0ssIFZdPjtcbiAgfSxcblxuICAvKipcbiAgICogTGlrZSB7QGxpbmsgRGljdGlvbmFyaWVzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzfSwgYnV0IHByZXNlcnZpbmcgdGhlIG9iamVjdCBkYXRhIHR5cGUuXG4gICAqL1xuICB3aXRob3V0VW5kZWZpbmVkRW50cmllczogPFQ+KG9iamVjdDogVCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVCA9PiB7XG4gICAgcmV0dXJuIERpY3Rpb25hcmllcy53aXRob3V0VW5kZWZpbmVkRW50cmllcyhvYmplY3QpIGFzIFQ7XG4gIH0sXG4gIC8qKlxuICAgKiBTdHJpbmdpZmllcyBnaXZlbiBvYmplY3QgdG8gbWF0cml4IG5vdGF0aW9uOiBhPWI7Yz1kO2U9ZlxuICAgKi9cbiAgdG9NYXRyaXhOb3RhdGlvbjogKG9iamVjdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqZWN0ID8/IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApLmpvaW4oJzsnKTtcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import { audit } from 'rxjs';
|
|
11
10
|
import { filter, mergeMap } from 'rxjs/operators';
|
|
12
|
-
import { inject } from '@angular/core';
|
|
13
|
-
import { WorkbenchLayoutService } from '../layout/workbench-layout.service';
|
|
14
11
|
/**
|
|
15
12
|
* Serializes the execution of elements emitted by the source Observable.
|
|
16
13
|
*
|
|
@@ -27,12 +24,4 @@ export function serializeExecution(fn) {
|
|
|
27
24
|
export function filterNull() {
|
|
28
25
|
return filter((item) => item !== null);
|
|
29
26
|
}
|
|
30
|
-
|
|
31
|
-
* Buffers the most recent value from the source Observable until the next layout change.
|
|
32
|
-
* Use this operator to avoid emitting a partially updated layout.
|
|
33
|
-
*/
|
|
34
|
-
export function bufferLatestUntilLayoutChange() {
|
|
35
|
-
const onLayoutChange$ = inject(WorkbenchLayoutService).onLayoutChange$;
|
|
36
|
-
return audit(() => onLayoutChange$);
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxLQUFLLEVBQXlELE1BQU0sTUFBTSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQVUsRUFBaUQ7SUFDM0YsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxNQUFNLENBQUMsQ0FBQyxJQUFjLEVBQWEsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QjtJQUMzQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxlQUFlLENBQUM7SUFDdkUsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHthdWRpdCwgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJpYWxpemVzIHRoZSBleGVjdXRpb24gb2YgZWxlbWVudHMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKlxuICogRm9yIGVhY2ggZWxlbWVudCBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UsIHRoZSBzcGVjaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24gaXMgY2FsbGVkLlxuICogVGhlIG5leHQgZWxlbWVudCB3aWxsIG9ubHkgYmUgcHJvY2Vzc2VkIG9uY2UgdGhlIFByb21pc2Ugb3IgT2JzZXJ2YWJsZSByZXR1cm5lZCBieVxuICogdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHJlc29sdmVzIG9yIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZUV4ZWN1dGlvbjxJTiwgT1VUPihmbjogKHZhbHVlOiBJTikgPT4gT2JzZXJ2YWJsZTxPVVQ+IHwgUHJvbWlzZTxPVVQ+KTogT3BlcmF0b3JGdW5jdGlvbjxJTiwgT1VUPiB7XG4gIHJldHVybiBtZXJnZU1hcChlbGVtZW50ID0+IGZuKGVsZW1lbnQpLCAxKTtcbn1cblxuLyoqXG4gKiBNaXJyb3JzIHRoZSBzb3VyY2UgZXhjZXB0IGZvciBgbnVsbGAgZW1pc3Npb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyTnVsbDxUPigpOiBPcGVyYXRvckZ1bmN0aW9uPFQgfCBudWxsLCBUPiB7XG4gIHJldHVybiBmaWx0ZXIoKGl0ZW06IFQgfCBudWxsKTogaXRlbSBpcyBUID0+IGl0ZW0gIT09IG51bGwpO1xufVxuXG4vKipcbiAqIEJ1ZmZlcnMgdGhlIG1vc3QgcmVjZW50IHZhbHVlIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHVudGlsIHRoZSBuZXh0IGxheW91dCBjaGFuZ2UuXG4gKiBVc2UgdGhpcyBvcGVyYXRvciB0byBhdm9pZCBlbWl0dGluZyBhIHBhcnRpYWxseSB1cGRhdGVkIGxheW91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlckxhdGVzdFVudGlsTGF5b3V0Q2hhbmdlPFQ+KCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIGNvbnN0IG9uTGF5b3V0Q2hhbmdlJCA9IGluamVjdChXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlKS5vbkxheW91dENoYW5nZSQ7XG4gIHJldHVybiBhdWRpdCgoKSA9PiBvbkxheW91dENoYW5nZSQpO1xufVxuIl19
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUdILE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFVLEVBQWlEO0lBQzNGLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sTUFBTSxDQUFDLENBQUMsSUFBYyxFQUFhLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFNlcmlhbGl6ZXMgdGhlIGV4ZWN1dGlvbiBvZiBlbGVtZW50cyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiBGb3IgZWFjaCBlbGVtZW50IGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSwgdGhlIHNwZWNpZmllZCBjYWxsYmFjayBmdW5jdGlvbiBpcyBjYWxsZWQuXG4gKiBUaGUgbmV4dCBlbGVtZW50IHdpbGwgb25seSBiZSBwcm9jZXNzZWQgb25jZSB0aGUgUHJvbWlzZSBvciBPYnNlcnZhYmxlIHJldHVybmVkIGJ5XG4gKiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gcmVzb2x2ZXMgb3IgY29tcGxldGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplRXhlY3V0aW9uPElOLCBPVVQ+KGZuOiAodmFsdWU6IElOKSA9PiBPYnNlcnZhYmxlPE9VVD4gfCBQcm9taXNlPE9VVD4pOiBPcGVyYXRvckZ1bmN0aW9uPElOLCBPVVQ+IHtcbiAgcmV0dXJuIG1lcmdlTWFwKGVsZW1lbnQgPT4gZm4oZWxlbWVudCksIDEpO1xufVxuXG4vKipcbiAqIE1pcnJvcnMgdGhlIHNvdXJjZSBleGNlcHQgZm9yIGBudWxsYCBlbWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOdWxsPFQ+KCk6IE9wZXJhdG9yRnVuY3Rpb248VCB8IG51bGwsIFQ+IHtcbiAgcmV0dXJuIGZpbHRlcigoaXRlbTogVCB8IG51bGwpOiBpdGVtIGlzIFQgPT4gaXRlbSAhPT0gbnVsbCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2018-2024 Swiss Federal Railways
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
*/
|
|
10
|
+
import { UUID } from '@scion/toolkit/uuid';
|
|
11
|
+
/**
|
|
12
|
+
* Generates a UID (unique identifier).
|
|
13
|
+
*/
|
|
14
|
+
export const UID = {
|
|
15
|
+
/**
|
|
16
|
+
* Generates a UID (unique identifier) with length 8.
|
|
17
|
+
*/
|
|
18
|
+
randomUID: () => {
|
|
19
|
+
return UUID.randomUUID().substring(0, 8);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9jb21tb24vdWlkLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakI7O09BRUc7SUFDSCxTQUFTLEVBQUUsR0FBVyxFQUFFO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7VVVJRH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXVpZCc7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgVUlEICh1bmlxdWUgaWRlbnRpZmllcikuXG4gKi9cbmV4cG9ydCBjb25zdCBVSUQgPSB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBVSUQgKHVuaXF1ZSBpZGVudGlmaWVyKSB3aXRoIGxlbmd0aCA4LlxuICAgKi9cbiAgcmFuZG9tVUlEOiAoKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gVVVJRC5yYW5kb21VVUlEKCkuc3Vic3RyaW5nKDAsIDgpO1xuICB9LFxufTtcblxuXG4iXX0=
|
|
@@ -45,13 +45,13 @@ import * as i0 from "@angular/core";
|
|
|
45
45
|
*/
|
|
46
46
|
export class ContentAsOverlayComponent {
|
|
47
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ContentAsOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ContentAsOverlayComponent, isStandalone: true, selector: "wb-content-as-overlay", inputs: { overlayHost: "overlayHost" }, ngImport: i0, template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ContentAsOverlayComponent, isStandalone: true, selector: "wb-content-as-overlay", inputs: { overlayHost: "overlayHost" }, ngImport: i0, template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content/>\n</ng-template>\n", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: ContentProjectionDirective, selector: "[wbContentProjection]", inputs: ["wbContentProjectionOverlayHost", "wbContentProjectionContent"] }] }); }
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ContentAsOverlayComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
|
-
args: [{ selector: 'wb-content-as-overlay', standalone: true, imports: [ContentProjectionDirective], template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content
|
|
52
|
+
args: [{ selector: 'wb-content-as-overlay', standalone: true, imports: [ContentProjectionDirective], template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content/>\n</ng-template>\n", styles: [":host{display:grid}\n"] }]
|
|
53
53
|
}], propDecorators: { overlayHost: [{
|
|
54
54
|
type: Input,
|
|
55
55
|
args: [{ required: true }]
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hcy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29udGVudC1wcm9qZWN0aW9uL2NvbnRlbnQtYXMtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBUUgsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCO2tHQUF6Qix5QkFBeUIseUhDckR0QywyVkFVQSwrRUR5Q1ksMEJBQTBCOzsyRkFFekIseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsQ0FBQzs4QkFROUIsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRQcm9qZWN0aW9uRGlyZWN0aXZlfSBmcm9tICcuL2NvbnRlbnQtcHJvamVjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgY29tcG9uZW50IHdoaWNoIGFkZHMgaXRzIGBuZy1jb250ZW50YCB0byBhIHRvcC1sZXZlbCB3b3JrYmVuY2ggRE9NIGVsZW1lbnQgYW5kIHByb2plY3RzIGl0IGludG8gdGhpcyBjb21wb25lbnQncyBib3VuZGluZyBib3guXG4gKlxuICogVGhpcyBjb21wb25lbnQgZW5zdXJlcyB0aGF0IGl0cyBjb250ZW50IGNoaWxkcmVuIGFyZSBub3QgcmVwYXJlbnRlZCBpbiB0aGUgRE9NIHdoZW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQgaXMgY2hhbmdlZC5cbiAqIEZvciBpbnN0YW5jZSwgYW4gaWZyYW1lIHdvdWxkIHJlbG9hZCB3aGVuIGl0IGlzIHJlcGFyZW50ZWQgaW4gdGhlIERPTS5cbiAqXG4gKiBVc2UgdGhpcyBjb21wb25lbnQgdG8gd3JhcCB0aGUgZW50aXJlIGNvbnRlbnQgb2YgeW91ciBjb21wb25lbnQsIHNvIGA8d2ItY29udGVudC1hcy1vdmVybGF5PmAgaXMgdGhlIG9ubHkgcm9vdCB2aWV3IGNoaWxkIG9mIHlvdXIgY29tcG9uZW50LlxuICpcbiAqIFRoZSA8bmctY29udGVudD4gaXMgYWRkZWQgdG8gYSBDU1MgZ3JpZCBjb250YWluZXIgd2l0aCBhIHNpbmdsZSBjb2x1bW4sIHRodXMsIGNvbnRlbnQgZmlsbHMgcmVtYWluaW5nIHNwYWNlIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseS5cbiAqIFRvIHN0eWxlIGVsZW1lbnRzIG9mIGBuZy1jb250ZW50YCwgZG8gbm90IGNvbWJpbmUgQ1NTIHNlbGVjdG9ycyB3aXRoIHRoZSBgOmhvc3RgIENTUyBwc2V1ZG8tY2xhc3MgYmVjYXVzZSwgaW4gdGhlIERPTSwgdGhleSBhcmUgbm90IGNoaWxkcmVuXG4gKiBvZiB0aGUgaG9zdCBjb21wb25lbnQuXG4gKlxuICogIyMjIyBFeGFtcGxlIEhUTUwgdGVtcGxhdGU6XG4gKlxuICogYGBgaHRtbFxuICogPHdiLWNvbnRlbnQtYXMtb3ZlcmxheSBvdmVybGF5SG9zdD1cIi4uLlwiPlxuICogICA8aWZyYW1lIFtzcmNdPVwiLi4uXCI+PC9pZnJhbWU+XG4gKiA8L3diLWNvbnRlbnQtYXMtb3ZlcmxheT5cbiAqIGBgYFxuICpcbiAqXG4gKiAjIyMjIEV4YW1wbGUgU0NTUyBzdHlsZXM6XG4gKlxuICogYGBgc2Nzc1xuICogOmhvc3Qge1xuICogICBkaXNwbGF5OiBncmlkOyAvLyBmaWxscyByZW1haW5pbmcgc3BhY2UgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGxcbiAqIH1cbiAqXG4gKiBpZnJhbWUge1xuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICogfVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLWNvbnRlbnQtYXMtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbnRlbnRQcm9qZWN0aW9uRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudEFzT3ZlcmxheUNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgdmlldyBjb250YWluZXIgd2hlcmUgdG8gaW5zZXJ0IHRoZSBvdmVybGF5LlxuICAgKi9cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIHB1YmxpYyBvdmVybGF5SG9zdDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCB8IG51bGw7XG59XG4iLCI8IS0tIGRlZmluZSB0aGUgYXJlYSB3aGVyZSB0byBwcm9qZWN0IGBuZy1jb250ZW50YCBpbnRvIC0tPlxuPGRpdiB3YkNvbnRlbnRQcm9qZWN0aW9uXG4gICAgIFt3YkNvbnRlbnRQcm9qZWN0aW9uQ29udGVudF09XCJuZ19jb250ZW50X3RlbXBsYXRlXCJcbiAgICAgW3diQ29udGVudFByb2plY3Rpb25PdmVybGF5SG9zdF09XCJvdmVybGF5SG9zdFwiPlxuPC9kaXY+XG5cbjwhLS0gbWFrZSBgbmctY29udGVudGAgYXZhaWxhYmxlIGluIHRoZSBmb3JtIG9mIGEgdGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI25nX2NvbnRlbnRfdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50Lz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
import { Directive, Input, Optional } from '@angular/core';
|
|
11
11
|
import { fromDimension$ } from '@scion/toolkit/observable';
|
|
12
12
|
import { setStyle } from '../common/dom.util';
|
|
13
|
-
import { Subject } from 'rxjs';
|
|
14
|
-
import { takeUntil } from 'rxjs/operators';
|
|
13
|
+
import { animationFrameScheduler, EMPTY, merge, Subject } from 'rxjs';
|
|
14
|
+
import { filter, observeOn, takeUntil } from 'rxjs/operators';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
import * as i1 from "../view/\u0275workbench-view.model";
|
|
17
17
|
/**
|
|
@@ -35,17 +35,12 @@ export class ContentProjectionDirective {
|
|
|
35
35
|
this._contentViewRef.onDestroy(() => dispose$.next());
|
|
36
36
|
// Position projected content out of the document flow relative to the page viewport.
|
|
37
37
|
this.styleContent({ position: 'fixed' });
|
|
38
|
-
// Align content each time the
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// We ignore this event to preserve the dimension of projected content, crucial, for example, if projected
|
|
45
|
-
// content implements virtual scrolling. Otherwise, its content would reload when adding the host to the DOM again.
|
|
46
|
-
// For example, inactive views are removed from the DOM.
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
38
|
+
// Align content each time the size of the host element changes, or when the content is attached to the DOM.
|
|
39
|
+
// For example, moving a view to another part of the same size will not trigger a dimension change event.
|
|
40
|
+
merge(fromDimension$(this._host.nativeElement), this._view?.portal.attached$.pipe(filter(Boolean)) ?? EMPTY)
|
|
41
|
+
.pipe(observeOn(animationFrameScheduler), // Align to host boundaries right before the next repaint.
|
|
42
|
+
takeUntil(dispose$))
|
|
43
|
+
.subscribe(() => {
|
|
49
44
|
this.alignContentToHostBoundaries();
|
|
50
45
|
});
|
|
51
46
|
// Hide content when contextual view is detached, e.g., if not active, or located in the peripheral area and the main area is maximized.
|
|
@@ -60,6 +55,13 @@ export class ContentProjectionDirective {
|
|
|
60
55
|
*/
|
|
61
56
|
alignContentToHostBoundaries() {
|
|
62
57
|
const hostPosition = this._host.nativeElement.getBoundingClientRect();
|
|
58
|
+
if (!hostPosition.width && !hostPosition.height) {
|
|
59
|
+
// When removing the bounding box element (this directive's host) from the DOM, its dimension drops to 0.
|
|
60
|
+
// We ignore this event to preserve the dimension of projected content, crucial, for example, if projected
|
|
61
|
+
// content implements virtual scrolling. Otherwise, its content would reload when adding the host to the DOM again.
|
|
62
|
+
// For example, inactive views are removed from the DOM.
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
63
65
|
this.styleContent({
|
|
64
66
|
top: `${hostPosition.top}px`,
|
|
65
67
|
left: `${hostPosition.left}px`,
|
|
@@ -95,7 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
95
97
|
type: Input,
|
|
96
98
|
args: [{ alias: 'wbContentProjectionContent', required: true }]
|
|
97
99
|
}] } });
|
|
98
|
-
function isNullDimension(dimension) {
|
|
99
|
-
return dimension.offsetWidth === 0 && dimension.offsetHeight === 0;
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wcm9qZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LXByb2plY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBK0IsS0FBSyxFQUF3QixRQUFRLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBRTFKLE9BQU8sRUFBWSxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6Qzs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFnQnJDLFlBQW9CLEtBQThCLEVBQXNCLEtBQXFCO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQXNCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQzdGLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsNkZBQTZGO1FBQzdGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQyw2QkFBNkI7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV0RCxxRkFBcUY7UUFDckYsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBRXZDLHFFQUFxRTtRQUNyRSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7YUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IseUdBQXlHO2dCQUN6RywwR0FBMEc7Z0JBQzFHLG1IQUFtSDtnQkFDbkgsd0RBQXdEO2dCQUN4RCxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUwsd0lBQXdJO1FBQ3hJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxNQUFNLFlBQVksR0FBWSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEIsR0FBRyxFQUFFLEdBQUcsWUFBWSxDQUFDLEdBQUcsSUFBSTtZQUM1QixJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUMsSUFBSSxJQUFJO1lBQzlCLEtBQUssRUFBRSxHQUFHLFlBQVksQ0FBQyxLQUFLLElBQUk7WUFDaEMsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLE1BQU0sSUFBSTtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWdCO1FBQ2pDLHNHQUFzRztRQUN0RyxhQUFhO1FBQ2Isb0lBQW9JO1FBQ3BJLG1IQUFtSDtRQUNuSCxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBNkI7UUFDaEQsSUFBSSxDQUFDLGVBQWdCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBdEZVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUM7OzBCQWlCVCxRQUFRO3lDQVJ0RCxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGdDQUFnQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBT3pELGtCQUFrQjtzQkFEeEIsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDOztBQTRFOUQsU0FBUyxlQUFlLENBQUMsU0FBb0I7SUFDM0MsT0FBTyxTQUFTLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoVmlld30gZnJvbSAnLi4vdmlldy/JtXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7RGltZW5zaW9uLCBmcm9tRGltZW5zaW9uJH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb2JzZXJ2YWJsZSc7XG5pbXBvcnQge3NldFN0eWxlfSBmcm9tICcuLi9jb21tb24vZG9tLnV0aWwnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVuZGVycyBhIGdpdmVuIHRlbXBsYXRlIGFzIG92ZXJsYXkuIFRoZSB0ZW1wbGF0ZSB3aWxsIHN0aWNrIHRvIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIGRpcmVjdGl2ZS5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbd2JDb250ZW50UHJvamVjdGlvbl0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UHJvamVjdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9jb250ZW50Vmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIHZpZXcgY29udGFpbmVyIHdoZXJlIHRvIGluc2VydCB0aGUgb3ZlcmxheS5cbiAgICovXG4gIEBJbnB1dCh7YWxpYXM6ICd3YkNvbnRlbnRQcm9qZWN0aW9uT3ZlcmxheUhvc3QnLCByZXF1aXJlZDogdHJ1ZX0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBwdWJsaWMgb3ZlcmxheUhvc3Q6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSB3aGljaCB0byByZW5kZXIgYXMgb3ZlcmxheS4gVGhlIHRlbXBsYXRlIHdpbGwgc3RpY2sgdG8gdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgaG9zdCBlbGVtZW50IG9mIHRoaXMgZGlyZWN0aXZlLlxuICAgKi9cbiAgQElucHV0KHthbGlhczogJ3diQ29udGVudFByb2plY3Rpb25Db250ZW50JywgcmVxdWlyZWQ6IHRydWV9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgcHVibGljIGNvbnRlbnRUZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBAT3B0aW9uYWwoKSBwcml2YXRlIF92aWV3OiDJtVdvcmtiZW5jaFZpZXcpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFZpZXdSZWY/LmRlc3Ryb3koKTtcblxuICAgIGlmICghdGhpcy5vdmVybGF5SG9zdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBlbWJlZGRlZCB2aWV3IGZyb20gY29udGVudCB0ZW1wbGF0ZSBhbmQgYWxpZ24gaXQgdG8gdGhlIGJvdW5kcyBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmID0gdGhpcy5vdmVybGF5SG9zdC5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5jb250ZW50VGVtcGxhdGVSZWYsIG51bGwpO1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIC8vIFJlZ2lzdGVyIGRpc3Bvc2Ugbm90aWZpZXIuXG4gICAgY29uc3QgZGlzcG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmLm9uRGVzdHJveSgoKSA9PiBkaXNwb3NlJC5uZXh0KCkpO1xuXG4gICAgLy8gUG9zaXRpb24gcHJvamVjdGVkIGNvbnRlbnQgb3V0IG9mIHRoZSBkb2N1bWVudCBmbG93IHJlbGF0aXZlIHRvIHRoZSBwYWdlIHZpZXdwb3J0LlxuICAgIHRoaXMuc3R5bGVDb250ZW50KHtwb3NpdGlvbjogJ2ZpeGVkJ30pO1xuXG4gICAgLy8gQWxpZ24gY29udGVudCBlYWNoIHRpbWUgdGhlIGJvdW5kaW5nIGJveCBlbGVtZW50IGNoYW5nZXMgaXRzIHNpemUuXG4gICAgZnJvbURpbWVuc2lvbiQodGhpcy5faG9zdC5uYXRpdmVFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKGRpc3Bvc2UkKSlcbiAgICAgIC5zdWJzY3JpYmUoZGltZW5zaW9uID0+IHtcbiAgICAgICAgaWYgKGlzTnVsbERpbWVuc2lvbihkaW1lbnNpb24pKSB7XG4gICAgICAgICAgLy8gV2hlbiByZW1vdmluZyB0aGUgYm91bmRpbmcgYm94IGVsZW1lbnQgKHRoaXMgZGlyZWN0aXZlJ3MgaG9zdCkgZnJvbSB0aGUgRE9NLCBpdHMgZGltZW5zaW9uIGRyb3BzIHRvIDAuXG4gICAgICAgICAgLy8gV2UgaWdub3JlIHRoaXMgZXZlbnQgdG8gcHJlc2VydmUgdGhlIGRpbWVuc2lvbiBvZiBwcm9qZWN0ZWQgY29udGVudCwgY3J1Y2lhbCwgZm9yIGV4YW1wbGUsIGlmIHByb2plY3RlZFxuICAgICAgICAgIC8vIGNvbnRlbnQgaW1wbGVtZW50cyB2aXJ0dWFsIHNjcm9sbGluZy4gT3RoZXJ3aXNlLCBpdHMgY29udGVudCB3b3VsZCByZWxvYWQgd2hlbiBhZGRpbmcgdGhlIGhvc3QgdG8gdGhlIERPTSBhZ2Fpbi5cbiAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgaW5hY3RpdmUgdmlld3MgYXJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFsaWduQ29udGVudFRvSG9zdEJvdW5kYXJpZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gSGlkZSBjb250ZW50IHdoZW4gY29udGV4dHVhbCB2aWV3IGlzIGRldGFjaGVkLCBlLmcuLCBpZiBub3QgYWN0aXZlLCBvciBsb2NhdGVkIGluIHRoZSBwZXJpcGhlcmFsIGFyZWEgYW5kIHRoZSBtYWluIGFyZWEgaXMgbWF4aW1pemVkLlxuICAgIHRoaXMuX3ZpZXc/LnBvcnRhbC5hdHRhY2hlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbChkaXNwb3NlJCkpXG4gICAgICAuc3Vic2NyaWJlKGF0dGFjaGVkID0+IHtcbiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKGF0dGFjaGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsaWducyB0aGUgY29udGVudCBvZiB0aGUgcHJvamVjdGlvbiB0byB0aGUgYm91bmRhcmllcyBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhbGlnbkNvbnRlbnRUb0hvc3RCb3VuZGFyaWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RQb3NpdGlvbjogRE9NUmVjdCA9IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnN0eWxlQ29udGVudCh7XG4gICAgICB0b3A6IGAke2hvc3RQb3NpdGlvbi50b3B9cHhgLFxuICAgICAgbGVmdDogYCR7aG9zdFBvc2l0aW9uLmxlZnR9cHhgLFxuICAgICAgd2lkdGg6IGAke2hvc3RQb3NpdGlvbi53aWR0aH1weGAsXG4gICAgICBoZWlnaHQ6IGAke2hvc3RQb3NpdGlvbi5oZWlnaHR9cHhgLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXZSB1c2UgYHZpc2liaWxpdHk6IGhpZGRlbmAgYW5kIG5vdCBgZGlzcGxheTogbm9uZWAgdG8gcHJlc2VydmUgdGhlIGRpbWVuc2lvbiBvZiBwcm9qZWN0ZWQgY29udGVudC5cbiAgICAvLyBPdGhlcndpc2U6XG4gICAgLy8gLSBQcm9qZWN0ZWQgY29udGVudCB3b3VsZCBmbGlja2VyIHdoZW4gYXR0YWNoaW5nIHRoZSBjb250ZXh0dWFsIHZpZXcsIG1vc3Qgbm90aWNlYWJsZSB3aXRoIGNvbnRlbnQgdGhhdCBkaXNwbGF5cyBhIG1pY3JvZnJvbnRlbmQuXG4gICAgLy8gLSBQcm9qZWN0ZWQgY29udGVudCB3b3VsZCBub3QgcmV0YWluIHZpcnR1YWwgc2Nyb2xsYWJsZSBjb250ZW50IHNpbmNlIGBkaXNwbGF5Om5vbmVgIHNldHMgd2lkdGggYW5kIGhlaWdodCB0byAwLlxuICAgIHRoaXMuc3R5bGVDb250ZW50KHt2aXNpYmlsaXR5OiB2aXNpYmxlID8gbnVsbCA6ICdoaWRkZW4nfSk7XG4gIH1cblxuICBwcml2YXRlIHN0eWxlQ29udGVudChzdHlsZToge1tzdHlsZTogc3RyaW5nXTogYW55fSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmIS5yb290Tm9kZXMuZm9yRWFjaChub2RlID0+IHNldFN0eWxlKG5vZGUsIHN0eWxlKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc051bGxEaW1lbnNpb24oZGltZW5zaW9uOiBEaW1lbnNpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGRpbWVuc2lvbi5vZmZzZXRXaWR0aCA9PT0gMCAmJiBkaW1lbnNpb24ub2Zmc2V0SGVpZ2h0ID09PSAwO1xufVxuIl19
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wcm9qZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LXByb2plY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBK0IsS0FBSyxFQUF3QixRQUFRLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBRTFKLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFNUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQyxZQUFvQixLQUE4QixFQUFzQixLQUFxQjtRQUF6RSxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUFzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUM3RixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELDZGQUE2RjtRQUM3RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxlQUFlLENBQUMs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QUR4QixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ybVXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtmcm9tRGltZW5zaW9uJH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb2JzZXJ2YWJsZSc7XG5pbXBvcnQge3NldFN0eWxlfSBmcm9tICcuLi9jb21tb24vZG9tLnV0aWwnO1xuaW1wb3J0IHthbmltYXRpb25GcmFtZVNjaGVkdWxlciwgRU1QVFksIG1lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBvYnNlcnZlT24sIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBnaXZlbiB0ZW1wbGF0ZSBhcyBvdmVybGF5LiBUaGUgdGVtcGxhdGUgd2lsbCBzdGljayB0byB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSBob3N0IGVsZW1lbnQgb2YgdGhpcyBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW3diQ29udGVudFByb2plY3Rpb25dJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgQ29udGVudFByb2plY3Rpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfY29udGVudFZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSB2aWV3IGNvbnRhaW5lciB3aGVyZSB0byBpbnNlcnQgdGhlIG92ZXJsYXkuXG4gICAqL1xuICBASW5wdXQoe2FsaWFzOiAnd2JDb250ZW50UHJvamVjdGlvbk92ZXJsYXlIb3N0JywgcmVxdWlyZWQ6IHRydWV9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgcHVibGljIG92ZXJsYXlIb3N0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAvKipcbiAgICogVGVtcGxhdGUgd2hpY2ggdG8gcmVuZGVyIGFzIG92ZXJsYXkuIFRoZSB0ZW1wbGF0ZSB3aWxsIHN0aWNrIHRvIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIGRpcmVjdGl2ZS5cbiAgICovXG4gIEBJbnB1dCh7YWxpYXM6ICd3YkNvbnRlbnRQcm9qZWN0aW9uQ29udGVudCcsIHJlcXVpcmVkOiB0cnVlfSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIHB1YmxpYyBjb250ZW50VGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfdmlldzogybVXb3JrYmVuY2hWaWV3KSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmPy5kZXN0cm95KCk7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheUhvc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgZW1iZWRkZWQgdmlldyBmcm9tIGNvbnRlbnQgdGVtcGxhdGUgYW5kIGFsaWduIGl0IHRvIHRoZSBib3VuZHMgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZiA9IHRoaXMub3ZlcmxheUhvc3QuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY29udGVudFRlbXBsYXRlUmVmLCBudWxsKTtcbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAvLyBSZWdpc3RlciBkaXNwb3NlIG5vdGlmaWVyLlxuICAgIGNvbnN0IGRpc3Bvc2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZi5vbkRlc3Ryb3koKCkgPT4gZGlzcG9zZSQubmV4dCgpKTtcblxuICAgIC8vIFBvc2l0aW9uIHByb2plY3RlZCBjb250ZW50IG91dCBvZiB0aGUgZG9jdW1lbnQgZmxvdyByZWxhdGl2ZSB0byB0aGUgcGFnZSB2aWV3cG9ydC5cbiAgICB0aGlzLnN0eWxlQ29udGVudCh7cG9zaXRpb246ICdmaXhlZCd9KTtcblxuICAgIC8vIEFsaWduIGNvbnRlbnQgZWFjaCB0aW1lIHRoZSBzaXplIG9mIHRoZSBob3N0IGVsZW1lbnQgY2hhbmdlcywgb3Igd2hlbiB0aGUgY29udGVudCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NLlxuICAgIC8vIEZvciBleGFtcGxlLCBtb3ZpbmcgYSB2aWV3IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgc2FtZSBzaXplIHdpbGwgbm90IHRyaWdnZXIgYSBkaW1lbnNpb24gY2hhbmdlIGV2ZW50LlxuICAgIG1lcmdlKGZyb21EaW1lbnNpb24kKHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudCksIHRoaXMuX3ZpZXc/LnBvcnRhbC5hdHRhY2hlZCQucGlwZShmaWx0ZXIoQm9vbGVhbikpID8/IEVNUFRZKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmVPbihhbmltYXRpb25GcmFtZVNjaGVkdWxlciksIC8vIEFsaWduIHRvIGhvc3QgYm91bmRhcmllcyByaWdodCBiZWZvcmUgdGhlIG5leHQgcmVwYWludC5cbiAgICAgICAgdGFrZVVudGlsKGRpc3Bvc2UkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFsaWduQ29udGVudFRvSG9zdEJvdW5kYXJpZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gSGlkZSBjb250ZW50IHdoZW4gY29udGV4dHVhbCB2aWV3IGlzIGRldGFjaGVkLCBlLmcuLCBpZiBub3QgYWN0aXZlLCBvciBsb2NhdGVkIGluIHRoZSBwZXJpcGhlcmFsIGFyZWEgYW5kIHRoZSBtYWluIGFyZWEgaXMgbWF4aW1pemVkLlxuICAgIHRoaXMuX3ZpZXc/LnBvcnRhbC5hdHRhY2hlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbChkaXNwb3NlJCkpXG4gICAgICAuc3Vic2NyaWJlKGF0dGFjaGVkID0+IHtcbiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKGF0dGFjaGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsaWducyB0aGUgY29udGVudCBvZiB0aGUgcHJvamVjdGlvbiB0byB0aGUgYm91bmRhcmllcyBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhbGlnbkNvbnRlbnRUb0hvc3RCb3VuZGFyaWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RQb3NpdGlvbjogRE9NUmVjdCA9IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoIWhvc3RQb3NpdGlvbi53aWR0aCAmJiAhaG9zdFBvc2l0aW9uLmhlaWdodCkge1xuICAgICAgLy8gV2hlbiByZW1vdmluZyB0aGUgYm91bmRpbmcgYm94IGVsZW1lbnQgKHRoaXMgZGlyZWN0aXZlJ3MgaG9zdCkgZnJvbSB0aGUgRE9NLCBpdHMgZGltZW5zaW9uIGRyb3BzIHRvIDAuXG4gICAgICAvLyBXZSBpZ25vcmUgdGhpcyBldmVudCB0byBwcmVzZXJ2ZSB0aGUgZGltZW5zaW9uIG9mIHByb2plY3RlZCBjb250ZW50LCBjcnVjaWFsLCBmb3IgZXhhbXBsZSwgaWYgcHJvamVjdGVkXG4gICAgICAvLyBjb250ZW50IGltcGxlbWVudHMgdmlydHVhbCBzY3JvbGxpbmcuIE90aGVyd2lzZSwgaXRzIGNvbnRlbnQgd291bGQgcmVsb2FkIHdoZW4gYWRkaW5nIHRoZSBob3N0IHRvIHRoZSBET00gYWdhaW4uXG4gICAgICAvLyBGb3IgZXhhbXBsZSwgaW5hY3RpdmUgdmlld3MgYXJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGVDb250ZW50KHtcbiAgICAgIHRvcDogYCR7aG9zdFBvc2l0aW9uLnRvcH1weGAsXG4gICAgICBsZWZ0OiBgJHtob3N0UG9zaXRpb24ubGVmdH1weGAsXG4gICAgICB3aWR0aDogYCR7aG9zdFBvc2l0aW9uLndpZHRofXB4YCxcbiAgICAgIGhlaWdodDogYCR7aG9zdFBvc2l0aW9uLmhlaWdodH1weGAsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZpc2libGUodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vIFdlIHVzZSBgdmlzaWJpbGl0eTogaGlkZGVuYCBhbmQgbm90IGBkaXNwbGF5OiBub25lYCB0byBwcmVzZXJ2ZSB0aGUgZGltZW5zaW9uIG9mIHByb2plY3RlZCBjb250ZW50LlxuICAgIC8vIE90aGVyd2lzZTpcbiAgICAvLyAtIFByb2plY3RlZCBjb250ZW50IHdvdWxkIGZsaWNrZXIgd2hlbiBhdHRhY2hpbmcgdGhlIGNvbnRleHR1YWwgdmlldywgbW9zdCBub3RpY2VhYmxlIHdpdGggY29udGVudCB0aGF0IGRpc3BsYXlzIGEgbWljcm9mcm9udGVuZC5cbiAgICAvLyAtIFByb2plY3RlZCBjb250ZW50IHdvdWxkIG5vdCByZXRhaW4gdmlydHVhbCBzY3JvbGxhYmxlIGNvbnRlbnQgc2luY2UgYGRpc3BsYXk6bm9uZWAgc2V0cyB3aWR0aCBhbmQgaGVpZ2h0IHRvIDAuXG4gICAgdGhpcy5zdHlsZUNvbnRlbnQoe3Zpc2liaWxpdHk6IHZpc2libGUgPyBudWxsIDogJ2hpZGRlbid9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3R5bGVDb250ZW50KHN0eWxlOiB7W3N0eWxlOiBzdHJpbmddOiBhbnl9KTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFZpZXdSZWYhLnJvb3ROb2Rlcy5mb3JFYWNoKG5vZGUgPT4gc2V0U3R5bGUobm9kZSwgc3R5bGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZj8uZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
10
|
import { Component } from '@angular/core';
|
|
11
|
-
import { AsyncPipe } from '@angular/common';
|
|
12
|
-
import { CoerceObservablePipe } from '../../common/coerce-observable.pipe';
|
|
13
11
|
import * as i0 from "@angular/core";
|
|
14
12
|
import * as i1 from "../\u0275workbench-dialog";
|
|
15
13
|
/**
|
|
@@ -26,13 +24,10 @@ export class DialogHeaderComponent {
|
|
|
26
24
|
event.stopPropagation(); // Prevent dragging the dialog with the close button.
|
|
27
25
|
}
|
|
28
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: DialogHeaderComponent, isStandalone: true, selector: "wb-dialog-header", ngImport: i0, template: "@if (dialog.title
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: DialogHeaderComponent, isStandalone: true, selector: "wb-dialog-header", ngImport: i0, template: "@if (dialog.title(); as title) {\n <div class=\"title e2e-title\">\n <span>{{title}}</span>\n </div>\n}\n\n@if (dialog.closable()) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"] }); }
|
|
30
28
|
}
|
|
31
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DialogHeaderComponent, decorators: [{
|
|
32
30
|
type: Component,
|
|
33
|
-
args: [{ selector: 'wb-dialog-header', standalone: true,
|
|
34
|
-
AsyncPipe,
|
|
35
|
-
CoerceObservablePipe,
|
|
36
|
-
], template: "@if (dialog.title | wbCoerceObservable$ | async; as title) {\n <div class=\"title e2e-title\">\n <span>{{ title }}</span>\n </div>\n}\n\n@if (dialog.closable) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"] }]
|
|
31
|
+
args: [{ selector: 'wb-dialog-header', standalone: true, template: "@if (dialog.title(); as title) {\n <div class=\"title e2e-title\">\n <span>{{title}}</span>\n </div>\n}\n\n@if (dialog.closable()) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"] }]
|
|
37
32
|
}], ctorParameters: () => [{ type: i1.ɵWorkbenchDialog }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLWhlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2RpYWxvZy9kaWFsb2ctaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFHeEM7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQXNCLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQzlDLENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQVk7UUFDckMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMscURBQXFEO0lBQ2hGLENBQUM7OEdBWFUscUJBQXFCO2tHQUFyQixxQkFBcUIsNEVDdEJsQyw4VUFhQTs7MkZEU2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuXG4vKipcbiAqIFJlbmRlcnMgdGhlIGRpYWxvZyBoZWFkZXIgd2l0aCBhIGNsb3NlIGJ1dHRvbiBhbmQgb3B0aW9uYWwgdGl0bGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLWRpYWxvZy1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSGVhZGVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGlhbG9nOiDJtVdvcmtiZW5jaERpYWxvZykge1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2VDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2VNb3VzZURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIFByZXZlbnQgZHJhZ2dpbmcgdGhlIGRpYWxvZyB3aXRoIHRoZSBjbG9zZSBidXR0b24uXG4gIH1cbn1cbiIsIkBpZiAoZGlhbG9nLnRpdGxlKCk7IGFzIHRpdGxlKSB7XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZSBlMmUtdGl0bGVcIj5cbiAgICA8c3Bhbj57e3RpdGxlfX08L3NwYW4+XG4gIDwvZGl2PlxufVxuXG5AaWYgKGRpYWxvZy5jbG9zYWJsZSgpKSB7XG4gIDxidXR0b24gdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiY2xvc2Ugc2Npb24td29ya2JlbmNoLWljb25zIGUyZS1jbG9zZVwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJvbkNsb3NlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlQ2xpY2soKVwiPlxuICAgIGNsb3NlXG4gIDwvYnV0dG9uPlxufVxuIl19
|