@c8y/ngx-components 1011.0.33 → 1011.0.34

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.
@@ -1,9 +1,11 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { ActionBarItem } from './action-bar.model';
3
+ import { Observable } from 'rxjs';
2
4
  /**
3
5
  * This component is used as the outlet to show the action bars.
4
6
  * In a c8ycli app it is by default placed on the bootstrap component.
5
7
  */
6
- export declare class ActionBarComponent {
8
+ export declare class ActionBarComponent implements OnInit, OnDestroy {
7
9
  /**
8
10
  * Identifies if the navigator is opened. If yes, the action-bar
9
11
  * needs to move to the right.
@@ -30,15 +32,29 @@ export declare class ActionBarComponent {
30
32
  /**
31
33
  * The current items to display in the ActionBar.
32
34
  */
33
- items: ActionBarItem[];
35
+ items$: Observable<ActionBarItem[]>;
36
+ /**
37
+ * Provides observable for right action items.
38
+ */
39
+ right$: Observable<ActionBarItem[]>;
40
+ /**
41
+ * Provides observable for left action items.
42
+ */
43
+ left$: Observable<ActionBarItem[]>;
44
+ /**
45
+ * Provides observable for more action items.
46
+ */
47
+ more$: Observable<ActionBarItem[]>;
34
48
  /**
35
49
  * Returns true if no items are present and hides the action bar.
36
50
  */
37
- get hidden(): boolean;
51
+ hidden$: Observable<boolean>;
38
52
  /**
39
- * Returns the items sorted by priority and grouped by the placement passed.
40
- * @param {placement} Which placement should be returned sorted.
53
+ * Binds hidden property to this component's native element
41
54
  */
42
- getSortedItems(placement: 'left' | 'right' | 'more'): any;
55
+ hidden: boolean;
56
+ private destroy$;
57
+ ngOnInit(): void;
58
+ ngOnDestroy(): void;
43
59
  private byPriority;
44
60
  }
@@ -5,6 +5,13 @@ import { ComponentFactoryResolver, ElementRef, Renderer2, TemplateRef, Type, Vie
5
5
  * <div *c8yOutlet="template"></div>
6
6
  * <div *c8yOutlet="DeviceStatusComponent; properties: { node }"></div>
7
7
  * <div *c8yOutlet="nodes"></div>
8
+ *
9
+ *
10
+ * note: If template is instance of HTMLElement (for example, node compiled by angularJS) then there can be
11
+ * only single instance rendered, as only one instance of HTMLElement can exist in DOM.
12
+ * If there is need for displaying same element multiple times, please make sure to inject into
13
+ * this element createCopy function, which should return another instance of given element.
14
+ *
8
15
  */
9
16
  export declare class OutletDirective {
10
17
  private viewContainer;
@@ -1,4 +1,6 @@
1
1
  import { Component, HostBinding, Input } from '@angular/core';
2
+ import { of, Subject } from 'rxjs';
3
+ import { map, takeUntil } from 'rxjs/operators';
2
4
  import { filter, sortBy } from 'lodash-es';
3
5
  /**
4
6
  * This component is used as the outlet to show the action bars.
@@ -32,20 +34,44 @@ export class ActionBarComponent {
32
34
  /**
33
35
  * The current items to display in the ActionBar.
34
36
  */
35
- this.items = [];
37
+ this.items$ = of([]);
38
+ /**
39
+ * Provides observable for right action items.
40
+ */
41
+ this.right$ = of([]);
42
+ /**
43
+ * Provides observable for left action items.
44
+ */
45
+ this.left$ = of([]);
46
+ /**
47
+ * Provides observable for more action items.
48
+ */
49
+ this.more$ = of([]);
50
+ /**
51
+ * Returns true if no items are present and hides the action bar.
52
+ */
53
+ this.hidden$ = of(true);
54
+ /**
55
+ * Binds hidden property to this component's native element
56
+ */
57
+ this.hidden = true;
58
+ this.destroy$ = new Subject();
36
59
  }
37
- /**
38
- * Returns true if no items are present and hides the action bar.
39
- */
40
- get hidden() {
41
- return !(this.items && this.items.length);
60
+ ngOnInit() {
61
+ this.right$ = this.items$.pipe(map(items => filter(items, { placement: 'right' })), map(items => sortBy(items, this.byPriority)));
62
+ this.left$ = this.items$.pipe(map(items => filter(items, { placement: 'left' })), map(items => sortBy(items, this.byPriority)));
63
+ this.more$ = this.items$.pipe(map(items => filter(items, { placement: 'more' })), map(items => sortBy(items, this.byPriority)));
64
+ this.hidden$ = this.items$.pipe(map(items => {
65
+ return !(items && items.length);
66
+ }));
67
+ this.hidden$
68
+ .pipe(takeUntil(this.destroy$)).subscribe(hidden => {
69
+ this.hidden = hidden;
70
+ });
42
71
  }
43
- /**
44
- * Returns the items sorted by priority and grouped by the placement passed.
45
- * @param {placement} Which placement should be returned sorted.
46
- */
47
- getSortedItems(placement) {
48
- return sortBy(filter(this.items, { placement }), this.byPriority);
72
+ ngOnDestroy() {
73
+ this.destroy$.next();
74
+ this.destroy$.complete();
49
75
  }
50
76
  byPriority(item) {
51
77
  return -item.priority;
@@ -54,7 +80,7 @@ export class ActionBarComponent {
54
80
  ActionBarComponent.decorators = [
55
81
  { type: Component, args: [{
56
82
  selector: 'c8y-action-bar',
57
- template: "<div class=\"navbar-header\">\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{'Action bar' | translate}}</span>\n </p>\n</div>\n\n<div id=\"page-toolbar\" class=\"navbar-collapse\" >\n <ul class=\"nav navbar-nav navbar-left\">\n <ng-container *ngFor=\"let item of getSortedItems('left')\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right\">\n <ng-container *ngFor=\"let item of getSortedItems('right')\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n <li class=\"no-remove more-wrapper\" *ngIf=\"getSortedItems('more').length > 0\">\n <div class=\"dropdown\" dropdown>\n <button\n title=\"{{ 'More' | translate }}\u2026\"\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span class=\"text-truncate\" translate>More\u2026</span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-right\" *dropdownMenu>\n <ng-container *ngFor=\"let item of getSortedItems('more')\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n </ul>\n <ul class=\"dropdown-menu visible-xs\"> \n <ng-container *ngFor=\"let item of getSortedItems('more')\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n </ul>\n </div>\n </li>\n </ul>\n</div>\n",
83
+ template: "<div class=\"navbar-header\">\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div id=\"page-toolbar\" class=\"navbar-collapse\">\n <ul class=\"nav navbar-nav navbar-left\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n <li class=\"no-remove more-wrapper\" *ngIf=\"(more$ | async).length > 0\">\n <div class=\"dropdown\" dropdown>\n <button\n title=\"{{ 'More' | translate }}\u2026\"\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span class=\"text-truncate\" translate>More\u2026</span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-right hidden-xs\" *dropdownMenu>\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n </ul>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container *c8yOutlet=\"item.template\"></ng-container>\n </ng-container>\n </ul>\n </div>\n </li>\n </ul>\n</div>\n",
58
84
  host: { class: 'c8y-ui-action-bar' }
59
85
  },] }
60
86
  ];
@@ -63,7 +89,7 @@ ActionBarComponent.propDecorators = {
63
89
  hasTabs: [{ type: Input }, { type: HostBinding, args: ['class.has-tabs',] }],
64
90
  isTabsHorizontal: [{ type: Input }, { type: HostBinding, args: ['class.horizontal-tabs',] }],
65
91
  uiActionBar: [{ type: HostBinding, args: ['class.c8y-ui-action-bar',] }],
66
- items: [{ type: Input }],
92
+ items$: [{ type: Input }],
67
93
  hidden: [{ type: HostBinding }]
68
94
  };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUczQzs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBTUU7OztXQUdHO1FBQzJDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXBFOzs7V0FHRztRQUNxQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXhEOzs7V0FHRztRQUM0QyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFeEU7O1dBRUc7UUFDSCwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFFOUI7O1dBRUc7UUFDcUMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFM0Q7O1dBRUc7UUFDTSxVQUFLLEdBQW9CLEVBQUUsQ0FBQztJQW9CdkMsQ0FBQztJQWxCQzs7T0FFRztJQUNILElBQW1CLE1BQU07UUFDdkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsU0FBb0M7UUFDakQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQUk7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQzs7O1lBeERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixzcERBQTBDO2dCQUMxQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7YUFDckM7Ozs0QkFNRSxLQUFLLFlBQUksV0FBVyxTQUFDLHNCQUFzQjtzQkFNM0MsS0FBSyxZQUFJLFdBQVcsU0FBQyxnQkFBZ0I7K0JBTXJDLEtBQUssWUFBSSxXQUFXLFNBQUMsdUJBQXVCOzBCQVU1QyxXQUFXLFNBQUMseUJBQXlCO29CQUtyQyxLQUFLO3FCQUtMLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgQWZ0ZXJDb250ZW50SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQWN0aW9uQmFySXRlbSB9IGZyb20gJy4vYWN0aW9uLWJhci5tb2RlbCc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgdXNlZCBhcyB0aGUgb3V0bGV0IHRvIHNob3cgdGhlIGFjdGlvbiBiYXJzLlxuICogSW4gYSBjOHljbGkgYXBwIGl0IGlzIGJ5IGRlZmF1bHQgcGxhY2VkIG9uIHRoZSBib290c3RyYXAgY29tcG9uZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWN0aW9uLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2M4eS11aS1hY3Rpb24tYmFyJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIHRoZSBuYXZpZ2F0b3IgaXMgb3BlbmVkLiBJZiB5ZXMsIHRoZSBhY3Rpb24tYmFyXG4gICAqIG5lZWRzIHRvIG1vdmUgdG8gdGhlIHJpZ2h0LlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYXZpZ2F0b3Itb3BlbicpIG5hdmlnYXRvck9wZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSWRlbnRpZmllcyBpZiB0aGUgY3VycmVudCB2aWV3IGhhcyB0YWJzLiBJZiB5ZXMsIHRoZSBhY3Rpb24gYmFyIG5lZWRzXG4gICAqIHRvIG1vdmUgZG93bi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXRhYnMnKSBoYXNUYWJzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgaWYgdGhlIHRhYnMgYXJlIGFsaWduZWQgaG9yaXpvbnRhbGx5LiBJZiB5ZXMsIHRoZSB0YWJzIGRvbid0XG4gICAqIG5lZWQgdG8gbW92ZSB0byB0aGUgbGVmdC5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuaG9yaXpvbnRhbC10YWJzJykgaXNUYWJzSG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIGluIGEgbW9iaWxlIHZpZXcgdGhlIHRvb2xiYXIgaXMgZXhwYW5kZWQgb3Igbm90LlxuICAgKi9cbiAgaXNQYWdlVG9vbGJhckV4cGFuZGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIGRlZmF1bHQgYGM4eS11aS1hY3Rpb24tYmFyYCBjbGFzcy5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYzh5LXVpLWFjdGlvbi1iYXInKSB1aUFjdGlvbkJhciA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGl0ZW1zIHRvIGRpc3BsYXkgaW4gdGhlIEFjdGlvbkJhci5cbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBBY3Rpb25CYXJJdGVtW10gPSBbXTtcblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIG5vIGl0ZW1zIGFyZSBwcmVzZW50IGFuZCBoaWRlcyB0aGUgYWN0aW9uIGJhci5cbiAgICovXG4gIEBIb3N0QmluZGluZygpIGdldCBoaWRkZW4oKSB7XG4gICAgcmV0dXJuICEodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaXRlbXMgc29ydGVkIGJ5IHByaW9yaXR5IGFuZCBncm91cGVkIGJ5IHRoZSBwbGFjZW1lbnQgcGFzc2VkLlxuICAgKiBAcGFyYW0ge3BsYWNlbWVudH0gV2hpY2ggcGxhY2VtZW50IHNob3VsZCBiZSByZXR1cm5lZCBzb3J0ZWQuXG4gICAqL1xuICBnZXRTb3J0ZWRJdGVtcyhwbGFjZW1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnbW9yZScpIHtcbiAgICByZXR1cm4gc29ydEJ5KGZpbHRlcih0aGlzLml0ZW1zLCB7IHBsYWNlbWVudCB9KSwgdGhpcy5ieVByaW9yaXR5KTtcbiAgfVxuXG4gIHByaXZhdGUgYnlQcmlvcml0eShpdGVtKSB7XG4gICAgcmV0dXJuIC1pdGVtLnByaW9yaXR5O1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVqRixPQUFPLEVBQWMsRUFBRSxFQUFHLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFNRTs7O1dBR0c7UUFDMkMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFcEU7OztXQUdHO1FBQ3FDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFeEQ7OztXQUdHO1FBQzRDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV4RTs7V0FFRztRQUNILDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5Qjs7V0FFRztRQUNxQyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUUzRDs7V0FFRztRQUNNLFdBQU0sR0FBZ0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXREOztXQUVHO1FBQ0gsV0FBTSxHQUFnQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFN0M7O1dBRUc7UUFDSCxVQUFLLEdBQWdDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU1Qzs7V0FFRztRQUNILFVBQUssR0FBZ0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsWUFBTyxHQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEM7O1dBRUc7UUFFSCxXQUFNLEdBQVksSUFBSSxDQUFDO1FBRWYsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBeUNqRCxDQUFDO0lBdkNDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFDbkQsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDN0MsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzNCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUNsRCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM3QyxDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQ2xELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzdDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QixDQUFDLFNBQVMsQ0FDVCxNQUFNLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFJO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7OztZQXpHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIscW5EQUEwQztnQkFDMUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO2FBQ3JDOzs7NEJBTUUsS0FBSyxZQUFJLFdBQVcsU0FBQyxzQkFBc0I7c0JBTTNDLEtBQUssWUFBSSxXQUFXLFNBQUMsZ0JBQWdCOytCQU1yQyxLQUFLLFlBQUksV0FBVyxTQUFDLHVCQUF1QjswQkFVNUMsV0FBVyxTQUFDLHlCQUF5QjtxQkFLckMsS0FBSztxQkF5QkwsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQmFySXRlbSB9IGZyb20gJy4vYWN0aW9uLWJhci5tb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiAsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgYXMgdGhlIG91dGxldCB0byBzaG93IHRoZSBhY3Rpb24gYmFycy5cbiAqIEluIGEgYzh5Y2xpIGFwcCBpdCBpcyBieSBkZWZhdWx0IHBsYWNlZCBvbiB0aGUgYm9vdHN0cmFwIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFjdGlvbi1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdjOHktdWktYWN0aW9uLWJhcicgfVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25CYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIHRoZSBuYXZpZ2F0b3IgaXMgb3BlbmVkLiBJZiB5ZXMsIHRoZSBhY3Rpb24tYmFyXG4gICAqIG5lZWRzIHRvIG1vdmUgdG8gdGhlIHJpZ2h0LlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYXZpZ2F0b3Itb3BlbicpIG5hdmlnYXRvck9wZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSWRlbnRpZmllcyBpZiB0aGUgY3VycmVudCB2aWV3IGhhcyB0YWJzLiBJZiB5ZXMsIHRoZSBhY3Rpb24gYmFyIG5lZWRzXG4gICAqIHRvIG1vdmUgZG93bi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXRhYnMnKSBoYXNUYWJzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgaWYgdGhlIHRhYnMgYXJlIGFsaWduZWQgaG9yaXpvbnRhbGx5LiBJZiB5ZXMsIHRoZSB0YWJzIGRvbid0XG4gICAqIG5lZWQgdG8gbW92ZSB0byB0aGUgbGVmdC5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuaG9yaXpvbnRhbC10YWJzJykgaXNUYWJzSG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIGluIGEgbW9iaWxlIHZpZXcgdGhlIHRvb2xiYXIgaXMgZXhwYW5kZWQgb3Igbm90LlxuICAgKi9cbiAgaXNQYWdlVG9vbGJhckV4cGFuZGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIGRlZmF1bHQgYGM4eS11aS1hY3Rpb24tYmFyYCBjbGFzcy5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYzh5LXVpLWFjdGlvbi1iYXInKSB1aUFjdGlvbkJhciA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGl0ZW1zIHRvIGRpc3BsYXkgaW4gdGhlIEFjdGlvbkJhci5cbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1zJDogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtW10+ID0gb2YoW10pO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBvYnNlcnZhYmxlIGZvciByaWdodCBhY3Rpb24gaXRlbXMuXG4gICAqL1xuICByaWdodCQ6IE9ic2VydmFibGU8QWN0aW9uQmFySXRlbVtdPiA9IG9mKFtdKTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgb2JzZXJ2YWJsZSBmb3IgbGVmdCBhY3Rpb24gaXRlbXMuXG4gICAqL1xuICBsZWZ0JDogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtW10+ID0gb2YoW10pO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBvYnNlcnZhYmxlIGZvciBtb3JlIGFjdGlvbiBpdGVtcy5cbiAgICovXG4gIG1vcmUkOiBPYnNlcnZhYmxlPEFjdGlvbkJhckl0ZW1bXT4gPSBvZihbXSk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBubyBpdGVtcyBhcmUgcHJlc2VudCBhbmQgaGlkZXMgdGhlIGFjdGlvbiBiYXIuXG4gICAqL1xuICBoaWRkZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIEJpbmRzIGhpZGRlbiBwcm9wZXJ0eSB0byB0aGlzIGNvbXBvbmVudCdzIG5hdGl2ZSBlbGVtZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoKVxuICBoaWRkZW46IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yaWdodCQgPSB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IGZpbHRlcihpdGVtcywgeyBwbGFjZW1lbnQ6ICdyaWdodCcgfSkpLFxuICAgICAgbWFwKGl0ZW1zID0+IHNvcnRCeShpdGVtcywgdGhpcy5ieVByaW9yaXR5KSlcbiAgICApO1xuXG4gICAgdGhpcy5sZWZ0JCA9IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgICBtYXAoaXRlbXMgPT4gZmlsdGVyKGl0ZW1zLCB7IHBsYWNlbWVudDogJ2xlZnQnIH0pKSxcbiAgICAgIG1hcChpdGVtcyA9PiBzb3J0QnkoaXRlbXMsIHRoaXMuYnlQcmlvcml0eSkpXG4gICAgKTtcblxuICAgIHRoaXMubW9yZSQgPSB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IGZpbHRlcihpdGVtcywgeyBwbGFjZW1lbnQ6ICdtb3JlJyB9KSksXG4gICAgICBtYXAoaXRlbXMgPT4gc29ydEJ5KGl0ZW1zLCB0aGlzLmJ5UHJpb3JpdHkpKVxuICAgICk7XG5cbiAgICB0aGlzLmhpZGRlbiQgPSB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IHtcbiAgICAgICAgcmV0dXJuICEoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuaGlkZGVuJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKS5zdWJzY3JpYmUoXG4gICAgICAgIGhpZGRlbiA9PiB7XG4gICAgICAgICAgdGhpcy5oaWRkZW4gPSBoaWRkZW47XG4gICAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBieVByaW9yaXR5KGl0ZW0pIHtcbiAgICByZXR1cm4gLWl0ZW0ucHJpb3JpdHk7XG4gIH1cbn1cbiJdfQ==
@@ -29,7 +29,7 @@ export class BootstrapComponent {
29
29
  BootstrapComponent.decorators = [
30
30
  { type: Component, args: [{
31
31
  selector: 'c8y-bootstrap',
32
- template: "<c8y-login *ngIf=\"!(ui.currentUser | async)\"></c8y-login>\n\n<div *ngIf=\"ui.currentUser | async\" [class.head-open]=\"headerService.headerOpen\">\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-navigator-outlet\n [nodes]=\"navigator.items$ | async\"\n [open]=\"headerService.navigatorOpen$ | async\"\n >\n <header class=\"title navigator-slot-top\">\n <div class=\"tenant-brand\"></div>\n <c8y-app-icon\n [name]=\"(ui.state$ | async).app.name\"\n [contextPath]=\"(ui.state$ | async).app.contextPath\"\n ></c8y-app-icon>\n <span>{{ (ui.state$ | async).app | humanizeAppName | async }}</span>\n </header>\n <div class=\"powered-by navigator-slot-bottom\" *ngIf=\"showPoweredBy\">\n <p translate>powered by Cumulocity</p>\n </div>\n </c8y-navigator-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n >\n </c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent.isHorizontal\"\n [items]=\"actionBar.items$ | async\"\n >\n </c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent.hidden\n }\"\n >\n <div class=\"container-fluid\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </div>\n </div>\n</div>\n<c8y-cookie-banner></c8y-cookie-banner>\n"
32
+ template: "<c8y-login *ngIf=\"!(ui.currentUser | async)\"></c8y-login>\n\n<div *ngIf=\"ui.currentUser | async\" [class.head-open]=\"headerService.headerOpen\">\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-navigator-outlet\n [nodes]=\"navigator.items$ | async\"\n [open]=\"headerService.navigatorOpen$ | async\"\n >\n <header class=\"title navigator-slot-top\">\n <div class=\"tenant-brand\"></div>\n <c8y-app-icon\n [name]=\"(ui.state$ | async).app.name\"\n [contextPath]=\"(ui.state$ | async).app.contextPath\"\n ></c8y-app-icon>\n <span>{{ (ui.state$ | async).app | humanizeAppName | async }}</span>\n </header>\n <div class=\"powered-by navigator-slot-bottom\" *ngIf=\"showPoweredBy\">\n <p translate>powered by Cumulocity</p>\n </div>\n </c8y-navigator-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n >\n </c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent.isHorizontal\"\n [items$]=\"actionBar.items$\"\n >\n </c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent.hidden\n }\"\n >\n <div class=\"container-fluid\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </div>\n </div>\n</div>\n<c8y-cookie-banner></c8y-cookie-banner>\n"
33
33
  },] }
34
34
  ];
35
35
  BootstrapComponent.ctorParameters = () => [
@@ -40,4 +40,4 @@ BootstrapComponent.ctorParameters = () => [
40
40
  { type: OptionsService },
41
41
  { type: HeaderService }
42
42
  ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNbkQsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixZQUNTLElBQWlCLEVBQ2pCLEVBQW1CLEVBQ25CLFNBQTJCLEVBQzNCLFNBQTJCLEVBQzFCLE9BQXVCLEVBQ3hCLGFBQTRCO1FBTDVCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSckMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFVNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDL0UsSUFBSSxDQUFDLEVBQUU7YUFDSixHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7O1lBM0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsaS9EQUF3QzthQUN6Qzs7O1lBTFEsV0FBVztZQUhYLGVBQWU7WUFFZixnQkFBZ0I7WUFKaEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFFZCxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb24tYmFyL2FjdGlvbi1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdG9yL25hdmlnYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNTZXJ2aWNlIH0gZnJvbSAnLi4vdGFicy90YWJzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYm9vdHN0cmFwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb3RzdHJhcC50ZW1wbGF0ZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb290c3RyYXBDb21wb25lbnQge1xuICBuYXZpZ2F0b3JPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbm9BcHBzTWFyZ2luJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdGFic09yaWVudGF0aW9uOiBzdHJpbmc7XG4gIHNob3dQb3dlcmVkQnk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0YWJzOiBUYWJzU2VydmljZSxcbiAgICBwdWJsaWMgdWk6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgbmF2aWdhdG9yOiBOYXZpZ2F0b3JTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3Rpb25CYXI6IEFjdGlvbkJhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwdWJsaWMgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5vQXBwc01hcmdpbiQgPSB0aGlzLmhlYWRlclNlcnZpY2UubWFwKCh7IG5hdiB9KSA9PiAhbmF2Lm9wZW4gJiYgbmF2LmhpZGRlbk9uU3RhcnR1cCk7XG4gICAgdGhpcy50YWJzT3JpZW50YXRpb24gPSB0aGlzLm9wdGlvbnMudGFic0hvcml6b250YWwgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIHRoaXMudWlcbiAgICAgIC5tYXAoKHsgbGFuZyB9KSA9PiBsYW5nKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFjdGlvbkJhci5yZWZyZXNoKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLnNob3dQb3dlcmVkQnkgPSAhdGhpcy5vcHRpb25zLmdldCgnaGlkZVBvd2VyZWQnKTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNbkQsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixZQUNTLElBQWlCLEVBQ2pCLEVBQW1CLEVBQ25CLFNBQTJCLEVBQzNCLFNBQTJCLEVBQzFCLE9BQXVCLEVBQ3hCLGFBQTRCO1FBTDVCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSckMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFVNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDL0UsSUFBSSxDQUFDLEVBQUU7YUFDSixHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7O1lBM0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsMCtEQUF3QzthQUN6Qzs7O1lBTFEsV0FBVztZQUhYLGVBQWU7WUFFZixnQkFBZ0I7WUFKaEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFFZCxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb24tYmFyL2FjdGlvbi1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdG9yL25hdmlnYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNTZXJ2aWNlIH0gZnJvbSAnLi4vdGFicy90YWJzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYm9vdHN0cmFwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb3RzdHJhcC50ZW1wbGF0ZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb290c3RyYXBDb21wb25lbnQge1xuICBuYXZpZ2F0b3JPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbm9BcHBzTWFyZ2luJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdGFic09yaWVudGF0aW9uOiBzdHJpbmc7XG4gIHNob3dQb3dlcmVkQnk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0YWJzOiBUYWJzU2VydmljZSxcbiAgICBwdWJsaWMgdWk6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgbmF2aWdhdG9yOiBOYXZpZ2F0b3JTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3Rpb25CYXI6IEFjdGlvbkJhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwdWJsaWMgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5vQXBwc01hcmdpbiQgPSB0aGlzLmhlYWRlclNlcnZpY2UubWFwKCh7IG5hdiB9KSA9PiAhbmF2Lm9wZW4gJiYgbmF2LmhpZGRlbk9uU3RhcnR1cCk7XG4gICAgdGhpcy50YWJzT3JpZW50YXRpb24gPSB0aGlzLm9wdGlvbnMudGFic0hvcml6b250YWwgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIHRoaXMudWlcbiAgICAgIC5tYXAoKHsgbGFuZyB9KSA9PiBsYW5nKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFjdGlvbkJhci5yZWZyZXNoKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLnNob3dQb3dlcmVkQnkgPSAhdGhpcy5vcHRpb25zLmdldCgnaGlkZVBvd2VyZWQnKTtcbiAgfVxufVxuIl19
@@ -6,6 +6,13 @@ import { ComponentFactoryResolver, Directive, ElementRef, Input, Renderer2, Temp
6
6
  * <div *c8yOutlet="template"></div>
7
7
  * <div *c8yOutlet="DeviceStatusComponent; properties: { node }"></div>
8
8
  * <div *c8yOutlet="nodes"></div>
9
+ *
10
+ *
11
+ * note: If template is instance of HTMLElement (for example, node compiled by angularJS) then there can be
12
+ * only single instance rendered, as only one instance of HTMLElement can exist in DOM.
13
+ * If there is need for displaying same element multiple times, please make sure to inject into
14
+ * this element createCopy function, which should return another instance of given element.
15
+ *
9
16
  */
10
17
  export class OutletDirective {
11
18
  constructor(viewContainer, resolver, renderer, el) {
@@ -38,7 +45,17 @@ export class OutletDirective {
38
45
  else if (template instanceof Element) {
39
46
  const parent = this.renderer.parentNode(this.el.nativeElement);
40
47
  this.destroy();
41
- this._element = template;
48
+ /**
49
+ * Because compiled element can be used only once, we need to create copy of it
50
+ * in order to display it in multiple locations.
51
+ * For example standard "More" menu, and its RWD version.
52
+ */
53
+ if (template.createCopy) {
54
+ this._element = template.createCopy();
55
+ }
56
+ else {
57
+ this._element = template;
58
+ }
42
59
  this.renderer.insertBefore(parent, this._element, this.el.nativeElement);
43
60
  // case Component -> <div *c8yOutlet="DeviceStatusComponent; properties: { node }"></div>
44
61
  }
@@ -76,4 +93,4 @@ OutletDirective.propDecorators = {
76
93
  c8yOutlet: [{ type: Input }],
77
94
  c8yOutletProperties: [{ type: Input }]
78
95
  };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL291dGxldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBRVgsZ0JBQWdCLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFFekI7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDVSxhQUErQixFQUMvQixRQUFrQyxFQUNsQyxRQUFtQixFQUNuQixFQUFjO1FBSGQsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQVBoQixlQUFVLEdBQUcsRUFBRSxDQUFDO0lBUXBCLENBQUM7SUFFTDs7Ozs7O09BTUc7SUFDSCxJQUFhLFNBQVMsQ0FBQyxRQUFnRDtRQUNyRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxZQUFZLE9BQU8sRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEU7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTNCLHdEQUF3RDtRQUN4RCxJQUFJLFFBQVEsWUFBWSxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVsRCxxREFBcUQ7U0FDcEQ7YUFBTSxJQUFJLFFBQVEsWUFBWSxPQUFPLEVBQUU7WUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRTNFLHlGQUF5RjtTQUN4RjthQUFNO1lBQ0wsTUFBTSxPQUFPLEdBQTBCLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVELElBQWEsbUJBQW1CLENBQUMsS0FBSztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7YUFDeEI7OztZQVpDLGdCQUFnQjtZQVBoQix3QkFBd0I7WUFJeEIsU0FBUztZQUZULFVBQVU7Ozt3QkFvQ1QsS0FBSztrQ0E0QkwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2lnbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWZcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gc2V0IGEgRE9NIG5vZGUsIGEgVGVtcGxhdGVSZWYgb3IgYW55IENvbXBvbmVudCB0byBhIGNvbnRhaW5lciBvciBhbnkgbm9kZS5cbiAqIEBleGFtcGxlXG4gKiA8ZGl2ICpjOHlPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvZGl2PlxuICogPGRpdiAqYzh5T3V0bGV0PVwiRGV2aWNlU3RhdHVzQ29tcG9uZW50OyBwcm9wZXJ0aWVzOiB7IG5vZGUgfVwiPjwvZGl2PlxuICogPGRpdiAqYzh5T3V0bGV0PVwibm9kZXNcIj48L2Rpdj5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2M4eU91dGxldF0nLFxufSlcbmV4cG9ydCBjbGFzcyBPdXRsZXREaXJlY3RpdmUge1xuICBwcml2YXRlIHByb3BlcnRpZXMgPSB7fTtcbiAgcHJpdmF0ZSBfZWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIERpcmVjdGl2ZSB0byBzZXQgYSBET00gbm9kZSwgYSBUZW1wbGF0ZVJlZiBvciBhbnkgQ29tcG9uZW50IHRvIGEgY29udGFpbmVyIG9yIGFueSBub2RlLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8ZGl2ICpjOHlPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvZGl2PlxuICAgKiA8ZGl2ICpjOHlPdXRsZXQ9XCJEZXZpY2VTdGF0dXNDb21wb25lbnQ7IHByb3BlcnRpZXM6IHsgbm9kZSB9XCI+PC9kaXY+XG4gICAqIDxkaXYgKmM4eU91dGxldD1cIm5vZGVzXCI+PC9kaXY+XG4gICAqL1xuICBASW5wdXQoKSBzZXQgYzh5T3V0bGV0KHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+IHwgRWxlbWVudCkge1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2VsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCwgIHRoaXMuX2VsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcblxuICAgIC8vIGNhc2UgVGVtcGxhdGVSZWYgLT4gPGRpdiAqYzh5T3V0bGV0PVwidGVtcGxhdGVcIj48L2Rpdj5cbiAgICBpZiAodGVtcGxhdGUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSk7XG5cbiAgICAvLyBjYXNlIERPTSBFbGVtZW50IC0+IDxkaXYgKmM4eU91dGxldD1cIm5vZGVzXCI+PC9kaXY+XG4gICAgfSBlbHNlIGlmICh0ZW1wbGF0ZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gdGVtcGxhdGU7XG4gICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnQsIHRoaXMuX2VsZW1lbnQsIHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAvLyBjYXNlIENvbXBvbmVudCAtPiA8ZGl2ICpjOHlPdXRsZXQ9XCJEZXZpY2VTdGF0dXNDb21wb25lbnQ7IHByb3BlcnRpZXM6IHsgbm9kZSB9XCI+PC9kaXY+XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PiA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGVtcGxhdGUpO1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgIGFzc2lnbihjb21wb25lbnQuaW5zdGFuY2UsIHRoaXMucHJvcGVydGllcyk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGM4eU91dGxldFByb3BlcnRpZXModmFsdWUpIHtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSB2YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50KSB7XG4gICAgICBjb25zdCBfcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuX2VsZW1lbnQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChfcGFyZW50LCB0aGlzLl9lbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL291dGxldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBRVgsZ0JBQWdCLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFFekI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQ1UsYUFBK0IsRUFDL0IsUUFBa0MsRUFDbEMsUUFBbUIsRUFDbkIsRUFBYztRQUhkLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFQaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztJQVFwQixDQUFDO0lBRUw7Ozs7OztPQU1HO0lBQ0gsSUFBYSxTQUFTLENBQUMsUUFBZ0Q7UUFDckUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsWUFBWSxPQUFPLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUzQix3REFBd0Q7UUFDeEQsSUFBSSxRQUFRLFlBQVksV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFbEQscURBQXFEO1NBQ3BEO2FBQU0sSUFBSSxRQUFRLFlBQVksT0FBTyxFQUFFO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRWY7Ozs7ZUFJRztZQUNILElBQUssUUFBZ0IsQ0FBQyxVQUFVLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUksUUFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzthQUMxQjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFM0UseUZBQXlGO1NBQ3hGO2FBQU07WUFDTCxNQUFNLE9BQU8sR0FBMEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5RCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQsSUFBYSxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQzs7O1lBekVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTthQUN4Qjs7O1lBbkJDLGdCQUFnQjtZQVBoQix3QkFBd0I7WUFJeEIsU0FBUztZQUZULFVBQVU7Ozt3QkEyQ1QsS0FBSztrQ0F1Q0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2lnbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWZcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gc2V0IGEgRE9NIG5vZGUsIGEgVGVtcGxhdGVSZWYgb3IgYW55IENvbXBvbmVudCB0byBhIGNvbnRhaW5lciBvciBhbnkgbm9kZS5cbiAqIEBleGFtcGxlXG4gKiA8ZGl2ICpjOHlPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvZGl2PlxuICogPGRpdiAqYzh5T3V0bGV0PVwiRGV2aWNlU3RhdHVzQ29tcG9uZW50OyBwcm9wZXJ0aWVzOiB7IG5vZGUgfVwiPjwvZGl2PlxuICogPGRpdiAqYzh5T3V0bGV0PVwibm9kZXNcIj48L2Rpdj5cbiAqXG4gKlxuICogbm90ZTogSWYgdGVtcGxhdGUgaXMgaW5zdGFuY2Ugb2YgSFRNTEVsZW1lbnQgKGZvciBleGFtcGxlLCBub2RlIGNvbXBpbGVkIGJ5IGFuZ3VsYXJKUykgdGhlbiB0aGVyZSBjYW4gYmVcbiAqIG9ubHkgc2luZ2xlIGluc3RhbmNlIHJlbmRlcmVkLCBhcyBvbmx5IG9uZSBpbnN0YW5jZSBvZiBIVE1MRWxlbWVudCBjYW4gZXhpc3QgaW4gRE9NLlxuICogSWYgdGhlcmUgaXMgbmVlZCBmb3IgZGlzcGxheWluZyBzYW1lIGVsZW1lbnQgbXVsdGlwbGUgdGltZXMsIHBsZWFzZSBtYWtlIHN1cmUgdG8gaW5qZWN0IGludG9cbiAqIHRoaXMgZWxlbWVudCBjcmVhdGVDb3B5IGZ1bmN0aW9uLCB3aGljaCBzaG91bGQgcmV0dXJuIGFub3RoZXIgaW5zdGFuY2Ugb2YgZ2l2ZW4gZWxlbWVudC5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjOHlPdXRsZXRdJyxcbn0pXG5leHBvcnQgY2xhc3MgT3V0bGV0RGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBwcm9wZXJ0aWVzID0ge307XG4gIHByaXZhdGUgX2VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBEaXJlY3RpdmUgdG8gc2V0IGEgRE9NIG5vZGUsIGEgVGVtcGxhdGVSZWYgb3IgYW55IENvbXBvbmVudCB0byBhIGNvbnRhaW5lciBvciBhbnkgbm9kZS5cbiAgICogQGV4YW1wbGVcbiAgICogPGRpdiAqYzh5T3V0bGV0PVwidGVtcGxhdGVcIj48L2Rpdj5cbiAgICogPGRpdiAqYzh5T3V0bGV0PVwiRGV2aWNlU3RhdHVzQ29tcG9uZW50OyBwcm9wZXJ0aWVzOiB7IG5vZGUgfVwiPjwvZGl2PlxuICAgKiA8ZGl2ICpjOHlPdXRsZXQ9XCJub2Rlc1wiPjwvZGl2PlxuICAgKi9cbiAgQElucHV0KCkgc2V0IGM4eU91dGxldCh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8YW55PiB8IEVsZW1lbnQpIHtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLl9lbGVtZW50IGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLl9lbGVtZW50LnBhcmVudEVsZW1lbnQsICB0aGlzLl9lbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG5cbiAgICAvLyBjYXNlIFRlbXBsYXRlUmVmIC0+IDxkaXYgKmM4eU91dGxldD1cInRlbXBsYXRlXCI+PC9kaXY+XG4gICAgaWYgKHRlbXBsYXRlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUpO1xuXG4gICAgLy8gY2FzZSBET00gRWxlbWVudCAtPiA8ZGl2ICpjOHlPdXRsZXQ9XCJub2Rlc1wiPjwvZGl2PlxuICAgIH0gZWxzZSBpZiAodGVtcGxhdGUgaW5zdGFuY2VvZiBFbGVtZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMuZGVzdHJveSgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIEJlY2F1c2UgY29tcGlsZWQgZWxlbWVudCBjYW4gYmUgdXNlZCBvbmx5IG9uY2UsIHdlIG5lZWQgdG8gY3JlYXRlIGNvcHkgb2YgaXRcbiAgICAgICAqIGluIG9yZGVyIHRvIGRpc3BsYXkgaXQgaW4gbXVsdGlwbGUgbG9jYXRpb25zLlxuICAgICAgICogRm9yIGV4YW1wbGUgc3RhbmRhcmQgXCJNb3JlXCIgbWVudSwgYW5kIGl0cyBSV0QgdmVyc2lvbi5cbiAgICAgICAqL1xuICAgICAgaWYgKCh0ZW1wbGF0ZSBhcyBhbnkpLmNyZWF0ZUNvcHkpIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudCA9ICh0ZW1wbGF0ZSBhcyBhbnkpLmNyZWF0ZUNvcHkoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnQgPSB0ZW1wbGF0ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCB0aGlzLl9lbGVtZW50LCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgLy8gY2FzZSBDb21wb25lbnQgLT4gPGRpdiAqYzh5T3V0bGV0PVwiRGV2aWNlU3RhdHVzQ29tcG9uZW50OyBwcm9wZXJ0aWVzOiB7IG5vZGUgfVwiPjwvZGl2PlxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT4gPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRlbXBsYXRlKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgICBhc3NpZ24oY29tcG9uZW50Lmluc3RhbmNlLCB0aGlzLnByb3BlcnRpZXMpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBjOHlPdXRsZXRQcm9wZXJ0aWVzKHZhbHVlKSB7XG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudCkge1xuICAgICAgY29uc3QgX3BhcmVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLl9lbGVtZW50KTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoX3BhcmVudCwgdGhpcy5fZWxlbWVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,12 +1,16 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { BridgeService } from './bridge.service';
3
+ import { switchMap } from 'rxjs/operators';
3
4
  export class Ng1ActionBarFactoryService {
4
5
  constructor(bridge) {
5
6
  this.bridge = bridge;
6
7
  this.routeChanges$ = bridge.$routeChanges;
8
+ this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;
7
9
  }
8
10
  get() {
9
- return this.bridge.getActionBarItems();
11
+ return this.routeChanges$.pipe(switchMap(e => {
12
+ return this.bridge.getActionBarItems();
13
+ }));
10
14
  }
11
15
  }
12
16
  Ng1ActionBarFactoryService.decorators = [
@@ -15,4 +19,4 @@ Ng1ActionBarFactoryService.decorators = [
15
19
  Ng1ActionBarFactoryService.ctorParameters = () => [
16
20
  { type: BridgeService }
17
21
  ];
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdXBncmFkZS9hY3Rpb24tYmFyLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJakQsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNVLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFFN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQzVDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDekMsQ0FBQzs7O1lBWEYsVUFBVTs7O1lBSEYsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkJhckZhY3RvcnksIEFjdGlvbkJhckl0ZW0gfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuL2JyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nMUFjdGlvbkJhckZhY3RvcnlTZXJ2aWNlIGltcGxlbWVudHMgQWN0aW9uQmFyRmFjdG9yeSB7XG4gIHJvdXRlQ2hhbmdlcyQ6IE9ic2VydmFibGU8YW55PjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBicmlkZ2U6IEJyaWRnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZUNoYW5nZXMkID0gYnJpZGdlLiRyb3V0ZUNoYW5nZXM7XG4gIH1cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuYnJpZGdlLmdldEFjdGlvbkJhckl0ZW1zKCk7XG4gIH1cbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdXBncmFkZS9hY3Rpb24tYmFyLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxDQUFDO0lBRUQsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUFmRixVQUFVOzs7WUFKRixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQmFyRmFjdG9yeSwgQWN0aW9uQmFySXRlbSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQnJpZGdlU2VydmljZSB9IGZyb20gJy4vYnJpZGdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmcxQWN0aW9uQmFyRmFjdG9yeVNlcnZpY2UgaW1wbGVtZW50cyBBY3Rpb25CYXJGYWN0b3J5IHtcbiAgcm91dGVDaGFuZ2VzJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAkbmcxUm91dGVDaGFuZ2VTdWNjZXNzOiBPYnNlcnZhYmxlPGFueT47XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJpZGdlOiBCcmlkZ2VTZXJ2aWNlKSB7XG4gICAgdGhpcy5yb3V0ZUNoYW5nZXMkID0gYnJpZGdlLiRyb3V0ZUNoYW5nZXM7XG4gICAgdGhpcy4kbmcxUm91dGVDaGFuZ2VTdWNjZXNzID0gYnJpZGdlLiRuZzFSb3V0ZUNoYW5nZVN1Y2Nlc3M7XG4gIH1cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVDaGFuZ2VzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGUgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5icmlkZ2UuZ2V0QWN0aW9uQmFySXRlbXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -55,10 +55,7 @@ export class BridgeService {
55
55
  $routeParams: params
56
56
  });
57
57
  // make sure showIf result is a promise with boolean result:
58
- return this.injector
59
- .get('$q')
60
- .when(showIfResult)
61
- .then(Boolean);
58
+ return this.injector.get('$q').when(showIfResult).then(Boolean);
62
59
  }
63
60
  : undefined
64
61
  }
@@ -300,4 +297,4 @@ export const bridgeServiceProvider = {
300
297
  useFactory: bridgeServiceFactory,
301
298
  deps: ['$injector', AppStateService, Router, NgZone, RouterService, ActionService]
302
299
  };
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi91cGdyYWRlL2JyaWRnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxhQUFhLEVBQ2IsZUFBZSxFQUdmLGNBQWMsRUFDZCxhQUFhLEVBR2IsV0FBVyxFQUNYLE9BQU8sRUFFUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxlQUFlLEVBR2YsYUFBYSxFQUNiLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBUSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDUyxRQUFhLEVBQ1osUUFBeUIsRUFDMUIsTUFBYyxFQUNiLE1BQWMsRUFDZCxhQUE0QixFQUM1QixhQUE0QjtRQUw3QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJ0QyxjQUFTLEdBQW1CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxD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RUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFVBQVUsRUFBRSxvQkFBb0I7SUFDaEMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUM7Q0FDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGlvbixcbiAgQWN0aW9uQmFySXRlbSxcbiAgQWN0aW9uU2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBCcmVhZGNydW1iLFxuICBCcmVhZGNydW1iSXRlbSxcbiAgRW1wdHlDb21wb25lbnQsXG4gIFJvdXRlclNlcnZpY2UsXG4gIFNlYXJjaCxcbiAgVGFiLFxuICBWaWV3Q29udGV4dCxcbiAgZ2V0dGV4dCxcbiAgRG9jTGlua1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZnJvbSxcbiAgZnJvbUV2ZW50UGF0dGVybixcbiAgb2Zcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZSwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQWN0aXZhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBWaWV3Q29udGV4dExlZ2FjeVBhcmFtZXRlciB9IGZyb20gJy4vbmcxL3ZpZXdzLnByb3ZpZGVyJztcblxuZXhwb3J0IGNsYXNzIEJyaWRnZVNlcnZpY2Uge1xuICAkcm91dGVDaGFuZ2VzOiBPYnNlcnZhYmxlPGFueT47XG4gICRuZzFSb3V0ZUNoYW5nZVN1Y2Nlc3M6IE9ic2VydmFibGU8YW55PjtcbiAgJG5nMVJvdXRlQ2hhbmdlU3RhcnQ6IE9ic2VydmFibGU8YW55PjtcbiAgJGxpdmVUYWJzOiBTdWJqZWN0PFRhYltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICBuYXZpZ2F0aW9uTm9kZXMkOiBPYnNlcnZhYmxlPGFueT47XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogYW55LFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IFJvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBBY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZml4RTJlSXNzdWVzKCk7XG4gICAgdGhpcy4kbmcxUm91dGVDaGFuZ2VTdWNjZXNzID0gdGhpcy5mcm9tTmcxRXZlbnQoXG4gICAgICB0aGlzLmluamVjdG9yLmdldCgnJHJvb3RTY29wZScpLFxuICAgICAgJyRyb3V0ZUNoYW5nZVN1Y2Nlc3MnXG4gICAgKTtcbiAgICB0aGlzLiRuZzFSb3V0ZUNoYW5nZVN0YXJ0ID0gdGhpcy5mcm9tTmcxRXZlbnQoXG4gICAgICB0aGlzLmluamVjdG9yLmdldCgnJHJvb3RTY29wZScpLFxuICAgICAgJyRyb3V0ZUNoYW5nZVN0YXJ0J1xuICAgICk7XG4gICAgdGhpcy5ob29rTGFuZ3VhZ2UoKTtcbiAgICB0aGlzLmhvb2tUYWJzKCk7XG4gICAgdGhpcy5ob29rTmF2aWdhdG9yKCk7XG4gICAgdGhpcy5ob29rVXNlck1lbnUoKTtcbiAgICB0aGlzLmhvb2tWaWV3UHJvdmlkZXIoKTtcbiAgICB0aGlzLnJvdXRlci5pbml0aWFsTmF2aWdhdGlvbigpO1xuICAgIHRoaXMubmcxUm91dGVzKCk7XG4gIH1cblxuICBob29rVmlld1Byb3ZpZGVyKCkge1xuICAgIGNvbnN0IGM4eVZpZXdzID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eVZpZXdzJyk7XG4gICAgLy8gZml4IHRvIHRyaWdnZXIgYW4gYW5ndWxhcmpzIHJvdXRlIGNoYW5nZSBzdWNjZXNzXG4gICAgLy8gZXZlbnQgb24gY29udGV4dCByb3V0ZSBtYXRjaCB0byBtYWtlIGxlZ2FjeVxuICAgIC8vIHZpZXctcHJvdmlkZXJzIHJlc29sdmUuXG4gICAgYzh5Vmlld3Mud2hlbignL2RldmljZS86aWQnLCB7XG4gICAgICB0ZW1wbGF0ZTogJydcbiAgICB9KTtcbiAgICBjOHlWaWV3cy53aGVuKCcvZ3JvdXAvOmlkJywge1xuICAgICAgdGVtcGxhdGU6ICcnXG4gICAgfSk7XG4gICAgYzh5Vmlld3MuY29udGV4dFZpZXdzLnN1YnNjcmliZShjZmcgPT4gdGhpcy5hZGRSb3V0ZShjZmcpKTtcbiAgfVxuXG4gIGFkZFJvdXRlKGNmZykge1xuICAgIHRoaXMucm91dGVyU2VydmljZS5hZGRSb3V0ZSh7XG4gICAgICBsYWJlbDogY2ZnLmxhYmVsIHx8IGNmZy5uYW1lLFxuICAgICAgcGF0aDogY2ZnLnBhdGgsXG4gICAgICBpY29uOiBjZmcuaWNvbixcbiAgICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0W2NmZy5jb250ZXh0S2V5XSBhcyBWaWV3Q29udGV4dCxcbiAgICAgIHByaW9yaXR5OiBjZmcucHJpb3JpdHksXG4gICAgICBjb21wb25lbnQ6IEVtcHR5Q29tcG9uZW50LFxuICAgICAgZGF0YToge1xuICAgICAgICBzaG93SWY6IGNmZy5zaG93SWZcbiAgICAgICAgICA/IG5neFJvdXRlID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIC4uLm5neFJvdXRlLnBhcmFtcyxcbiAgICAgICAgICAgICAgICBbVmlld0NvbnRleHRMZWdhY3lQYXJhbWV0ZXJbY2ZnLmNvbnRleHRLZXldXTogbmd4Um91dGUucGFyYW1zLmlkXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIGNvbnN0IHNob3dJZlJlc3VsdCA9IHRoaXMuaW5qZWN0b3IuaW52b2tlKGNmZy5zaG93SWYsIHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgICAgICRyb3V0ZVBhcmFtczogcGFyYW1zXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgc2hvd0lmIHJlc3VsdCBpcyBhIHByb21pc2Ugd2l0aCBib29sZWFuIHJlc3VsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgICAgICAuZ2V0KCckcScpXG4gICAgICAgICAgICAgICAgLndoZW4oc2hvd0lmUmVzdWx0KVxuICAgICAgICAgICAgICAgIC50aGVuKEJvb2xlYW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoY2ZnLnJ1blBoYXNlKSB7XG4gICAgICB0aGlzLnJvdXRlclNlcnZpY2UucmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nMVJvdXRlcygpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICcnO1xuICAgIGNvbnN0IGZhbGxiYWNrUm91dGVzID0gW107XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGZvcmluXG4gICAgZm9yIChjb25zdCBjb250ZXh0IGluIFZpZXdDb250ZXh0KSB7XG4gICAgICBjb25zdCBwYXRoID0gVmlld0NvbnRleHRbY29udGV4dF0ubWF0Y2goLyhcXHcrKVxcLy8pWzFdO1xuICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChgXi8ke3BhdGh9Lyg/OihbXi9dKykpLiokYCk7XG4gICAgICBmYWxsYmFja1JvdXRlcy5wdXNoKHtcbiAgICAgICAga2V5czogW3sgbmFtZTogVmlld0NvbnRleHRMZWdhY3lQYXJhbWV0ZXJbY29udGV4dF0sIG9wdGlvbmFsOiBmYWxzZSB9XSxcbiAgICAgICAgcmVnZXhwLFxuICAgICAgICB0ZW1wbGF0ZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBhc3NldCBkZXRhaWwgcm91dGVzICgvZGV2aWNlLzppZCwgIC9ncm91cC86aWQpIGFyZSBtYXRjaGVkIGluIEFuZ3VsYXIgUm91dGVyLCBuZ1JvdXRlIGluXG4gICAgICogYW5ndWxhci5qcyBtdXN0IGFsc28gaGF2ZSBtYXRjaGluZyBnZW5lcmljIHJvdXRlcyBzbyB0aGF0IHRoZSBpZHMgY2FuIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBwYXRocyBhbmRcbiAgICAgKiBpbmplY3RlZCBpbiBtdWx0aXBsZSBjYWxscyAoc2hvd0lmLCBjOHlBY3Rpb25zLCBldGMpIGFzIHByb3BlcnRpZXMgb2YgJHJvdXRlUGFyYW1zLlxuICAgICAqXG4gICAgICogVGhlIGZ1bmN0aW9uIGluIHNyYy9uZ1JvdXRlL3JvdXRlLmpzIChhbmd1bGFyLmpzKSB3aGVyZSB0aGUgcm91dGVzIGFyZSBtYXRjaGVkIGlzIGNhbGxlZCBwYXJzZVJvdXRlKCkuIFRoaXNcbiAgICAgKiBmdW5jdGlvbiBjYWxscyBhbmd1bGFyLmZvckVhY2ggYW5kIGluIHR1cm4gdGhpcyBmdW5jdGlvbiBjaGVja3MgZm9yIHRoZSBwcmVzZW5jZSBvZiBhIGZvckVhY2ggbWV0aG9kIGJlZm9yZVxuICAgICAqIHRyeWluZyBvYmplY3Qga2V5IGl0ZXJhdGlvbi5cbiAgICAgKiBCeSBhdHRhY2hpbmcgYSBub24gZW51bWVyYWJsZSBmb3JFYWNoIG1ldGhvZCB0byB0aGUgcm91dGVzIG9iamVjdCB3ZSBndWFyYW50ZWUgdGhhdCB0aGUgZmFsbGJhY2sgZ2VuZXJpYyByb3V0ZXNcbiAgICAgKiBhcmUgb25seSBtYXRjaGVkIGFmdGVyIGFueSBvdGhlciByZWdpc3RlcmVkIHRocm91Z2ggJHJvdXRlUHJvdmlkZXIud2hlbi5cbiAgICAgKi9cbiAgICBjb25zdCAkcm91dGUgPSB0aGlzLmluamVjdG9yLmdldCgnJHJvdXRlJyk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KCRyb3V0ZS5yb3V0ZXMsICdmb3JFYWNoJywge1xuICAgICAgLy8gbWFrZSBub24gZW51bWVyYWJsZVxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIGZvckVhY2goaXRlcmF0b3IsIGNvbnRleHQpIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBmb3JpblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgaXRlcmF0b3IuY2FsbChjb250ZXh0LCB0aGlzW2tleV0sIGtleSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgZmFsbGJhY2tSb3V0ZXMuZm9yRWFjaChyID0+IGl0ZXJhdG9yLmNhbGwoY29udGV4dCwgcikpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogU29tZSBmdW5jdGlvbnMgdXNlIHRoZSBjdXJyZW50IGNvbnRleHQuIEFzIHNvbWUgcGFydHMgYXJlIHVwZ3JhZGVkIGFuZCBzb21lIG5vdCwgdGhlIGZvbGxvd2luZyB1cGRhdGVzIHRoZVxuICAgICAqIGFuZ3VsYXJqcyBnZXRDb250ZXh0IGZ1bmN0aW9uIHRvIHJlc29sdmUgYWx3YXlzIHRoZSByaWdodCBjb250ZXh0LlxuICAgICAqL1xuICAgIGNvbnN0IGM4eVVpVXRpbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlVaVV0aWwnKTtcbiAgICBjb25zdCBfZ2V0Q29udGV4dCA9IGM4eVVpVXRpbC5nZXRDb250ZXh0O1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgQWN0aXZhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogQWN0aXZhdGlvbkVuZCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuc25hcHNob3Qucm91dGVDb25maWcucGF0aCA9PT0gJyoqJykge1xuICAgICAgICAgIGM4eVVpVXRpbC5nZXRDb250ZXh0ID0gX2dldENvbnRleHQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc25hcHNob3QuZGF0YSAmJiBldmVudC5zbmFwc2hvdC5kYXRhLmNvbnRleHQpIHtcbiAgICAgICAgICBjOHlVaVV0aWwuZ2V0Q29udGV4dCA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IGV2ZW50LnNuYXBzaG90LmRhdGEuY29udGV4dC5yZXBsYWNlKCcvOmlkJywgJycpLFxuICAgICAgICAgICAgICBpZDogZXZlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YS5pZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGM4eVVpVXRpbC5nZXRDb250ZXh0ID0gKCkgPT4gKHsgY29udGV4dDogbnVsbCwgaWQ6IG51bGwgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgZml4RTJlSXNzdWVzKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5nWm9uZSB9ID0gdGhpcztcbiAgICAgIGNvbnN0IHsgVXRpbHMgfSA9ICh3aW5kb3cgYXMgYW55KS5vcmcuY29tZXRkO1xuICAgICAgY29uc3QgdGltZW91dEZuID0gVXRpbHMuc2V0VGltZW91dDtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmx5LWFycm93LWZ1bmN0aW9uc1xuICAgICAgVXRpbHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aW1lb3V0Rm4uYXBwbHkoVXRpbHMsIGFyZ3MpKTtcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGFjZSB9ID0gd2luZG93IGFzIGFueTtcbiAgICAgIGNvbnN0IGVkaXRGbiA9IGFjZS5lZGl0O1xuICAgICAgY29uc3QgeyBuZ1pvbmUgfSA9IHRoaXM7XG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGFjZS5lZGl0ID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICByZXR1cm4gbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGVkaXRGbi5hcHBseShhY2UsIGFyZ3MpKTtcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgfVxuXG4gIGhvb2tMYW5ndWFnZSgpIHtcbiAgICBsZXQgZmlyc3QgPSB0cnVlO1xuICAgIHRoaXMuYXBwU3RhdGVcbiAgICAgIC5tYXAoc3RvcmUgPT4gc3RvcmUubGFuZylcbiAgICAgIC5zdWJzY3JpYmUobGFuZyA9PiB7XG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlMb2NhbGVzJykuc3dpdGNoVG9MYW5ndWFnZShsYW5nKTtcbiAgICAgICAgaWYgKCFmaXJzdCkge1xuICAgICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KCckcm9vdFNjb3BlJykuJGFwcGx5KCk7XG4gICAgICAgIH1cbiAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaG9va1RhYnMoKSB7XG4gICAgLy8gSnVzdCBmb3IgaW5zdGFudGlhdGlvbiBvZiB0aGUgYzh5QWN0aW9uIHNlcnZpY2VcbiAgICB0aGlzLmluamVjdG9yLmdldCgnYzh5QWN0aW9ucycpO1xuICAgIGNvbnN0ICRsb2NhdGlvbiA9IHRoaXMuaW5qZWN0b3IuZ2V0KCckbG9jYXRpb24nKTtcbiAgICBjb25zdCBjOHlUYWJzID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eVRhYnMnKTtcbiAgICBsZXQgbGl2ZVRhYnMgPSBbXTtcbiAgICBjOHlUYWJzLmFkZFRhYiA9IHRhYiA9PiB7XG4gICAgICBsaXZlVGFicy5wdXNoKHtcbiAgICAgICAgLi4udGFiLFxuICAgICAgICBsYWJlbDogdGFiLmxhYmVsIHx8IHRhYi5uYW1lLFxuICAgICAgICBwYXRoOiBkZWNvZGVVUklDb21wb25lbnQodGFiLnBhdGgpXG4gICAgICB9KTtcbiAgICAgIHRoaXMuJGxpdmVUYWJzLm5leHQobGl2ZVRhYnMpO1xuICAgIH07XG4gICAgdGhpcy4kbmcxUm91dGVDaGFuZ2VTdGFydC5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICBsaXZlVGFicyA9IFtdO1xuICAgICAgdGhpcy4kbGl2ZVRhYnMubmV4dChsaXZlVGFicyk7XG4gICAgfSk7XG4gICAgdGhpcy4kbmcxUm91dGVDaGFuZ2VTdWNjZXNzLnN1YnNjcmliZShlID0+IHtcbiAgICAgIGNvbnN0IHBhdGggPSAkbG9jYXRpb24ucGF0aCgpO1xuICAgICAgaWYgKHRoaXMucm91dGVyLnVybCAhPT0gcGF0aCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShwYXRoID09PSAnLycgPyAnJyA6IHBhdGguc3BsaXQoJy8nKSwge1xuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiAkbG9jYXRpb24uc2VhcmNoKCksXG4gICAgICAgICAgc2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuYWN0aW9uU2VydmljZSkge1xuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuJHJvdXRlQ2hhbmdlcyA9IHRoaXMuJG5nMVJvdXRlQ2hhbmdlU3VjY2Vzcy5waXBlKFxuICAgICAgbWVyZ2UodGhpcy5mcm9tTmcxRXZlbnQoYzh5VGFicywgYzh5VGFicy5FVkVOVF9VUERBVEUpLCBvZigxKSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKVxuICAgICk7XG4gIH1cblxuICBob29rTmF2aWdhdG9yKCkge1xuICAgIHRoaXMubmF2aWdhdGlvbk5vZGVzJCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlOYXZpZ2F0b3InKS5yb290Tm9kZXMkO1xuICB9XG5cbiAgZ2V0VGFicygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG9ubHlWaXNpYmxlID0gKHsgc2hvdyB9KSA9PiBzaG93O1xuICAgIGNvbnN0IHVwZ3JhZGVUYWIgPSB0YWIgPT4gKHtcbiAgICAgIC4uLnRhYixcbiAgICAgIGxhYmVsOiB0YWIubGFiZWwgfHwgdGFiLm5hbWUsXG4gICAgICBwYXRoOiBkZWNvZGVVUklDb21wb25lbnQodGFiLnBhdGgpXG4gICAgfSk7XG4gICAgY29uc3Qgcm91dGVUYWJzID0gdGhpcy4kcm91dGVDaGFuZ2VzLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCByb3V0ZXMgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5VGFicycpLnJvdXRlVGFicztcbiAgICAgICAgY29uc3QgdmlzaWJpbGl0eVByb21pc2UgPSBQcm9taXNlLmFsbChcbiAgICAgICAgICByb3V0ZXMubWFwKCh7IGNoZWNraW5nVmlzaWJpbGl0eSB9KSA9PiBjaGVja2luZ1Zpc2liaWxpdHkpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB2aXNpYmlsaXR5UHJvbWlzZS50aGVuKCgpID0+IHJvdXRlcy5maWx0ZXIob25seVZpc2libGUpLm1hcCh1cGdyYWRlVGFiKSk7XG4gICAgICB9KSxcbiAgICAgIHN0YXJ0V2l0aChbXSlcbiAgICApO1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHJvdXRlVGFicywgdGhpcy4kbGl2ZVRhYnMpLnBpcGUoXG4gICAgICBtYXAoKFtyb3V0ZSwgbGl2ZV0pID0+IHJvdXRlLmNvbmNhdChsaXZlKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UXVpY2tMaW5rcygpOiBQcm9taXNlPERvY0xpbmtbXT4ge1xuICAgIGNvbnN0IGM4eVF1aWNrTGlua3MgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5UXVpY2tMaW5rcycpO1xuICAgIHJldHVybiBjOHlRdWlja0xpbmtzLmxpc3QoKTtcbiAgfVxuXG4gIGdldEFjdGlvbkJhckl0ZW1zKCk6IE9ic2VydmFibGU8QWN0aW9uQmFySXRlbT4ge1xuICAgIGNvbnN0IGM4eUFjdGlvbkJhciA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlBY3Rpb25CYXInKTtcbiAgICBjb25zdCAkcm9vdFNjb3BlID0gdGhpcy5pbmplY3Rvci5nZXQoJyRyb290U2NvcGUnKTtcbiAgICBjb25zdCBnZXRBY3Rpb25CYXJFbGVtZW50cyA9ICgpID0+XG4gICAgICBjOHlBY3Rpb25CYXIuZWxlbWVudHMubWFwKGVsZW1lbnQgPT4gKHtcbiAgICAgICAgcHJpb3JpdHk6IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhY3Rpb24tYmFyLXByaW9yaXR5JykgfHwgMCxcbiAgICAgICAgdGVtcGxhdGU6IGVsZW1lbnQsXG4gICAgICAgIHBsYWNlbWVudDogZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FjdGlvbi1iYXItcG9zaXRpb24nKSB8fCAncmlnaHQnXG4gICAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU5nMUV2ZW50KCRyb290U2NvcGUsICdjOHlBY3Rpb25CYXJDaGFuZ2VkJykucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgxKSxcbiAgICAgIG1hcChnZXRBY3Rpb25CYXJFbGVtZW50cylcbiAgICApO1xuICB9XG5cbiAgZ2V0QnJlYWRjcnVtYnMoKTogT2JzZXJ2YWJsZTxCcmVhZGNydW1iW10+IHtcbiAgICBjb25zdCAkbG9jYXRpb24gPSB0aGlzLmluamVjdG9yLmdldCgnJGxvY2F0aW9uJyk7XG4gICAgY29uc3QgcGF0aCA9ICRsb2NhdGlvbi5wYXRoKCk7XG4gICAgY29uc3QgYzh5QnJlYWRjcnVtYnMgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5QnJlYWRjcnVtYnMnKTtcbiAgICBjb25zdCBicmVhZGNydW1icyA9IGM4eUJyZWFkY3J1bWJzLmdldChwYXRoKSB8fCB7fTtcbiAgICBjb25zdCBicmVhZGNydW1ic0RhdGEgPSB0aGlzLnJlc29sdmVCcmVhZGNydW1ic0RhdGEoYnJlYWRjcnVtYnMuZGF0YSk7XG4gICAgcmV0dXJuIGZyb20oYnJlYWRjcnVtYnNEYXRhKS5waXBlKFxuICAgICAgbWFwKCh2YWx1ZTogYW55W10pID0+IHtcbiAgICAgICAgY29uc3QgbGl2ZUJyZWFkY3J1bWJzID0gYzh5QnJlYWRjcnVtYnMuZ2V0TGl2ZUJyZWFkY3J1bWJzKCk7XG4gICAgICAgIHZhbHVlID0gdmFsdWUuY29uY2F0KGxpdmVCcmVhZGNydW1icyk7XG4gICAgICAgIHJldHVybiB2YWx1ZS5tYXAoXG4gICAgICAgICAgaXRlbXMgPT4gKHsgaXRlbXM6IGl0ZW1zIGFzIEJyZWFkY3J1bWJJdGVtW10gfSBhcyBCcmVhZGNydW1iKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVzb2x2ZUJyZWFkY3J1bWJzRGF0YShkYXRhKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5pbnZva2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGVtcHR5XG4gICAgfVxuICAgIGlmIChpc0FycmF5KGRhdGEpKSB7XG4gICAgICByZXR1cm4gb2YoW2RhdGFdKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfVxuXG4gIGdldFNlYXJjaCgpOiBTZWFyY2hbXSB7XG4gICAgY29uc3QgYzh5U2VhcmNoID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eVNlYXJjaCcpO1xuICAgIHJldHVybiBjOHlTZWFyY2gubGlzdCgpLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb246ICdzZWFyY2gnLFxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgIHRlcm06ICcnLFxuICAgICAgICBvblNlYXJjaCgpIHtcbiAgICAgICAgICBpZiAodGhpcy50ZXJtKSB7XG4gICAgICAgICAgICBjOHlTZWFyY2guc2VhcmNoKHRoaXMudGVybSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGFzIFNlYXJjaDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEFjdGlvbnMoKTogT2JzZXJ2YWJsZTxBY3Rpb24+IHtcbiAgICBjb25zdCByZWdpc3RlcmVkQWN0aW9ucyA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlBY3Rpb25zJykucmVnaXN0ZXJlZEFjdGlvbnM7XG4gICAgcmV0dXJuIG9mKFxuICAgICAgcmVnaXN0ZXJlZEFjdGlvbnNcbiAgICAgICAgLmZpbHRlcihhY3Rpb24gPT4gIWFjdGlvbi5oaWRkZW4pXG4gICAgICAgIC5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAgICAgLy8gVGhlIHByaW9yaXR5IHdhcyByZXZlcnNlZDogQWxpZ25lZCBpdCB0byBkYXNoYm9hcmQsIGhpZ2ggZmlyc3QsIGxvdyBsYXN0LlxuICAgICAgICAgIHByaW9yaXR5OiAoYWN0aW9uLnByaW9yaXR5IHx8IDApICogLTEsXG4gICAgICAgICAgbGFiZWw6IGFjdGlvbi50ZXh0LFxuICAgICAgICAgIGljb246IGFjdGlvbi5pY29uLFxuICAgICAgICAgIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsXG4gICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluamVjdG9yLmludm9rZShhY3Rpb24uYWN0aW9uLCBhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIGZyb21OZzFFdmVudChvYmosIGV2dCkge1xuICAgIGxldCBzdG9wTGlzdGVuaW5nO1xuICAgIGZ1bmN0aW9uIGFkZChoYW5kbGVyKSB7XG4gICAgICBzdG9wTGlzdGVuaW5nID0gb2JqLiRvbihldnQsIGhhbmRsZXIpO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbUV2ZW50UGF0dGVybihhZGQsICgpID0+IHN0b3BMaXN0ZW5pbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIGhvb2tVc2VyTWVudSgpIHtcbiAgICBjb25zdCB1c2VyTWVudVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5VXNlck1lbnVTZXJ2aWNlJyk7XG4gICAgY29uc3QgYzh5QWNjZXNzRGVuaWVkID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eUFjY2Vzc0RlbmllZCcpO1xuICAgIHVzZXJNZW51U2VydmljZS5hZGQoe1xuICAgICAgaWNvbjogJ2FjY2VzcycsXG4gICAgICBwcmlvcml0eTogMTAsXG4gICAgICBsYWJlbDogZ2V0dGV4dCgnQWNjZXNzIGRlbmllZCByZXF1ZXN0cycpLFxuICAgICAgY2xpY2s6IGM4eUFjY2Vzc0RlbmllZC5zaG93QWNjZXNzRGVuaWVkUmVxdWVzdHNMaXN0XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyaWRnZVNlcnZpY2VGYWN0b3J5KFxuICBpbmplY3RvcjogYW55LFxuICBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICByb3V0ZXI6IFJvdXRlcixcbiAgbmdab25lOiBOZ1pvbmUsXG4gIHJvdXRlclNlcnZpY2U6IFJvdXRlclNlcnZpY2UsXG4gIGFjdGlvblNlcnZpY2U6IEFjdGlvblNlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IEJyaWRnZVNlcnZpY2UoaW5qZWN0b3IsIGFwcFN0YXRlLCByb3V0ZXIsIG5nWm9uZSwgcm91dGVyU2VydmljZSwgYWN0aW9uU2VydmljZSk7XG59XG5cbmV4cG9ydCBjb25zdCBicmlkZ2VTZXJ2aWNlUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IEJyaWRnZVNlcnZpY2UsXG4gIHVzZUZhY3Rvcnk6IGJyaWRnZVNlcnZpY2VGYWN0b3J5LFxuICBkZXBzOiBbJyRpbmplY3RvcicsIEFwcFN0YXRlU2VydmljZSwgUm91dGVyLCBOZ1pvbmUsIFJvdXRlclNlcnZpY2UsIEFjdGlvblNlcnZpY2VdXG59O1xuIl19
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi91cGdyYWRlL2JyaWRnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxhQUFhLEVBQ2IsZUFBZSxFQUdmLGNBQWMsRUFDZCxhQUFhLEVBR2IsV0FBVyxFQUNYLE9BQU8sRUFFUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxlQUFlLEVBR2YsYUFBYSxFQUNiLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBUSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDUyxRQUFhLEVBQ1osUUFBeUIsRUFDMUIsTUFBYyxFQUNiLE1BQWMsRUFDZCxhQUE0QixFQUM1QixhQUE0QjtRQUw3QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJ0QyxjQUFTLEdBQW1CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxD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YUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzdGLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixVQUFVLEVBQUUsb0JBQW9CO0lBQ2hDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO0NBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3Rpb24sXG4gIEFjdGlvbkJhckl0ZW0sXG4gIEFjdGlvblNlcnZpY2UsXG4gIEFwcFN0YXRlU2VydmljZSxcbiAgQnJlYWRjcnVtYixcbiAgQnJlYWRjcnVtYkl0ZW0sXG4gIEVtcHR5Q29tcG9uZW50LFxuICBSb3V0ZXJTZXJ2aWNlLFxuICBTZWFyY2gsXG4gIFRhYixcbiAgVmlld0NvbnRleHQsXG4gIGdldHRleHQsXG4gIERvY0xpbmtcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb20sXG4gIGZyb21FdmVudFBhdHRlcm4sXG4gIG9mXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgbWVyZ2UsIHNraXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IEFjdGl2YXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVmlld0NvbnRleHRMZWdhY3lQYXJhbWV0ZXIgfSBmcm9tICcuL25nMS92aWV3cy5wcm92aWRlcic7XG5cbmV4cG9ydCBjbGFzcyBCcmlkZ2VTZXJ2aWNlIHtcbiAgJHJvdXRlQ2hhbmdlczogT2JzZXJ2YWJsZTxhbnk+O1xuICAkbmcxUm91dGVDaGFuZ2VTdWNjZXNzOiBPYnNlcnZhYmxlPGFueT47XG4gICRuZzFSb3V0ZUNoYW5nZVN0YXJ0OiBPYnNlcnZhYmxlPGFueT47XG4gICRsaXZlVGFiczogU3ViamVjdDxUYWJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgbmF2aWdhdGlvbk5vZGVzJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaW5qZWN0b3I6IGFueSxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByb3V0ZXJTZXJ2aWNlOiBSb3V0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aW9uU2VydmljZTogQWN0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmZpeEUyZUlzc3VlcygpO1xuICAgIHRoaXMuJG5nMVJvdXRlQ2hhbmdlU3VjY2VzcyA9IHRoaXMuZnJvbU5nMUV2ZW50KFxuICAgICAgdGhpcy5pbmplY3Rvci5nZXQoJyRyb290U2NvcGUnKSxcbiAgICAgICckcm91dGVDaGFuZ2VTdWNjZXNzJ1xuICAgICk7XG4gICAgdGhpcy4kbmcxUm91dGVDaGFuZ2VTdGFydCA9IHRoaXMuZnJvbU5nMUV2ZW50KFxuICAgICAgdGhpcy5pbmplY3Rvci5nZXQoJyRyb290U2NvcGUnKSxcbiAgICAgICckcm91dGVDaGFuZ2VTdGFydCdcbiAgICApO1xuICAgIHRoaXMuaG9va0xhbmd1YWdlKCk7XG4gICAgdGhpcy5ob29rVGFicygpO1xuICAgIHRoaXMuaG9va05hdmlnYXRvcigpO1xuICAgIHRoaXMuaG9va1VzZXJNZW51KCk7XG4gICAgdGhpcy5ob29rVmlld1Byb3ZpZGVyKCk7XG4gICAgdGhpcy5yb3V0ZXIuaW5pdGlhbE5hdmlnYXRpb24oKTtcbiAgICB0aGlzLm5nMVJvdXRlcygpO1xuICB9XG5cbiAgaG9va1ZpZXdQcm92aWRlcigpIHtcbiAgICBjb25zdCBjOHlWaWV3cyA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlWaWV3cycpO1xuICAgIC8vIGZpeCB0byB0cmlnZ2VyIGFuIGFuZ3VsYXJqcyByb3V0ZSBjaGFuZ2Ugc3VjY2Vzc1xuICAgIC8vIGV2ZW50IG9uIGNvbnRleHQgcm91dGUgbWF0Y2ggdG8gbWFrZSBsZWdhY3lcbiAgICAvLyB2aWV3LXByb3ZpZGVycyByZXNvbHZlLlxuICAgIGM4eVZpZXdzLndoZW4oJy9kZXZpY2UvOmlkJywge1xuICAgICAgdGVtcGxhdGU6ICcnXG4gICAgfSk7XG4gICAgYzh5Vmlld3Mud2hlbignL2dyb3VwLzppZCcsIHtcbiAgICAgIHRlbXBsYXRlOiAnJ1xuICAgIH0pO1xuICAgIGM4eVZpZXdzLmNvbnRleHRWaWV3cy5zdWJzY3JpYmUoY2ZnID0+IHRoaXMuYWRkUm91dGUoY2ZnKSk7XG4gIH1cblxuICBhZGRSb3V0ZShjZmcpIHtcbiAgICB0aGlzLnJvdXRlclNlcnZpY2UuYWRkUm91dGUoe1xuICAgICAgbGFiZWw6IGNmZy5sYWJlbCB8fCBjZmcubmFtZSxcbiAgICAgIHBhdGg6IGNmZy5wYXRoLFxuICAgICAgaWNvbjogY2ZnLmljb24sXG4gICAgICBjb250ZXh0OiBWaWV3Q29udGV4dFtjZmcuY29udGV4dEtleV0gYXMgVmlld0NvbnRleHQsXG4gICAgICBwcmlvcml0eTogY2ZnLnByaW9yaXR5LFxuICAgICAgY29tcG9uZW50OiBFbXB0eUNvbXBvbmVudCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgc2hvd0lmOiBjZmcuc2hvd0lmXG4gICAgICAgICAgPyBuZ3hSb3V0ZSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi5uZ3hSb3V0ZS5wYXJhbXMsXG4gICAgICAgICAgICAgICAgW1ZpZXdDb250ZXh0TGVnYWN5UGFyYW1ldGVyW2NmZy5jb250ZXh0S2V5XV06IG5neFJvdXRlLnBhcmFtcy5pZFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBjb25zdCBzaG93SWZSZXN1bHQgPSB0aGlzLmluamVjdG9yLmludm9rZShjZmcuc2hvd0lmLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgICAgICAkcm91dGVQYXJhbXM6IHBhcmFtc1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHNob3dJZiByZXN1bHQgaXMgYSBwcm9taXNlIHdpdGggYm9vbGVhbiByZXN1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldCgnJHEnKS53aGVuKHNob3dJZlJlc3VsdCkudGhlbihCb29sZWFuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGNmZy5ydW5QaGFzZSkge1xuICAgICAgdGhpcy5yb3V0ZXJTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBuZzFSb3V0ZXMoKSB7XG4gICAgY29uc3QgdGVtcGxhdGUgPSAnJztcbiAgICBjb25zdCBmYWxsYmFja1JvdXRlcyA9IFtdO1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBmb3JpblxuICAgIGZvciAoY29uc3QgY29udGV4dCBpbiBWaWV3Q29udGV4dCkge1xuICAgICAgY29uc3QgcGF0aCA9IFZpZXdDb250ZXh0W2NvbnRleHRdLm1hdGNoKC8oXFx3KylcXC8vKVsxXTtcbiAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoYF4vJHtwYXRofS8oPzooW14vXSspKS4qJGApO1xuICAgICAgZmFsbGJhY2tSb3V0ZXMucHVzaCh7XG4gICAgICAgIGtleXM6IFt7IG5hbWU6IFZpZXdDb250ZXh0TGVnYWN5UGFyYW1ldGVyW2NvbnRleHRdLCBvcHRpb25hbDogZmFsc2UgfV0sXG4gICAgICAgIHJlZ2V4cCxcbiAgICAgICAgdGVtcGxhdGVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gYXNzZXQgZGV0YWlsIHJvdXRlcyAoL2RldmljZS86aWQsICAvZ3JvdXAvOmlkKSBhcmUgbWF0Y2hlZCBpbiBBbmd1bGFyIFJvdXRlciwgbmdSb3V0ZSBpblxuICAgICAqIGFuZ3VsYXIuanMgbXVzdCBhbHNvIGhhdmUgbWF0Y2hpbmcgZ2VuZXJpYyByb3V0ZXMgc28gdGhhdCB0aGUgaWRzIGNhbiBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgcGF0aHMgYW5kXG4gICAgICogaW5qZWN0ZWQgaW4gbXVsdGlwbGUgY2FsbHMgKHNob3dJZiwgYzh5QWN0aW9ucywgZXRjKSBhcyBwcm9wZXJ0aWVzIG9mICRyb3V0ZVBhcmFtcy5cbiAgICAgKlxuICAgICAqIFRoZSBmdW5jdGlvbiBpbiBzcmMvbmdSb3V0ZS9yb3V0ZS5qcyAoYW5ndWxhci5qcykgd2hlcmUgdGhlIHJvdXRlcyBhcmUgbWF0Y2hlZCBpcyBjYWxsZWQgcGFyc2VSb3V0ZSgpLiBUaGlzXG4gICAgICogZnVuY3Rpb24gY2FsbHMgYW5ndWxhci5mb3JFYWNoIGFuZCBpbiB0dXJuIHRoaXMgZnVuY3Rpb24gY2hlY2tzIGZvciB0aGUgcHJlc2VuY2Ugb2YgYSBmb3JFYWNoIG1ldGhvZCBiZWZvcmVcbiAgICAgKiB0cnlpbmcgb2JqZWN0IGtleSBpdGVyYXRpb24uXG4gICAgICogQnkgYXR0YWNoaW5nIGEgbm9uIGVudW1lcmFibGUgZm9yRWFjaCBtZXRob2QgdG8gdGhlIHJvdXRlcyBvYmplY3Qgd2UgZ3VhcmFudGVlIHRoYXQgdGhlIGZhbGxiYWNrIGdlbmVyaWMgcm91dGVzXG4gICAgICogYXJlIG9ubHkgbWF0Y2hlZCBhZnRlciBhbnkgb3RoZXIgcmVnaXN0ZXJlZCB0aHJvdWdoICRyb3V0ZVByb3ZpZGVyLndoZW4uXG4gICAgICovXG4gICAgY29uc3QgJHJvdXRlID0gdGhpcy5pbmplY3Rvci5nZXQoJyRyb3V0ZScpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkcm91dGUucm91dGVzLCAnZm9yRWFjaCcsIHtcbiAgICAgIC8vIG1ha2Ugbm9uIGVudW1lcmFibGVcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JFYWNoKGl0ZXJhdG9yLCBjb250ZXh0KSB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZm9yaW5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcykge1xuICAgICAgICAgIGl0ZXJhdG9yLmNhbGwoY29udGV4dCwgdGhpc1trZXldLCBrZXksIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIGZhbGxiYWNrUm91dGVzLmZvckVhY2gociA9PiBpdGVyYXRvci5jYWxsKGNvbnRleHQsIHIpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFNvbWUgZnVuY3Rpb25zIHVzZSB0aGUgY3VycmVudCBjb250ZXh0LiBBcyBzb21lIHBhcnRzIGFyZSB1cGdyYWRlZCBhbmQgc29tZSBub3QsIHRoZSBmb2xsb3dpbmcgdXBkYXRlcyB0aGVcbiAgICAgKiBhbmd1bGFyanMgZ2V0Q29udGV4dCBmdW5jdGlvbiB0byByZXNvbHZlIGFsd2F5cyB0aGUgcmlnaHQgY29udGV4dC5cbiAgICAgKi9cbiAgICBjb25zdCBjOHlVaVV0aWwgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5VWlVdGlsJyk7XG4gICAgY29uc3QgX2dldENvbnRleHQgPSBjOHlVaVV0aWwuZ2V0Q29udGV4dDtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25FbmQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEFjdGl2YXRpb25FbmQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGggPT09ICcqKicpIHtcbiAgICAgICAgICBjOHlVaVV0aWwuZ2V0Q29udGV4dCA9IF9nZXRDb250ZXh0O1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnNuYXBzaG90LmRhdGEgJiYgZXZlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0KSB7XG4gICAgICAgICAgYzh5VWlVdGlsLmdldENvbnRleHQgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjb250ZXh0OiBldmVudC5zbmFwc2hvdC5kYXRhLmNvbnRleHQucmVwbGFjZSgnLzppZCcsICcnKSxcbiAgICAgICAgICAgICAgaWQ6IGV2ZW50LnNuYXBzaG90LmRhdGEuY29udGV4dERhdGEuaWRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjOHlVaVV0aWwuZ2V0Q29udGV4dCA9ICgpID0+ICh7IGNvbnRleHQ6IG51bGwsIGlkOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGZpeEUyZUlzc3VlcygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBuZ1pvbmUgfSA9IHRoaXM7XG4gICAgICBjb25zdCB7IFV0aWxzIH0gPSAod2luZG93IGFzIGFueSkub3JnLmNvbWV0ZDtcbiAgICAgIGNvbnN0IHRpbWVvdXRGbiA9IFV0aWxzLnNldFRpbWVvdXQ7XG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIFV0aWxzLnNldFRpbWVvdXQgPSBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGltZW91dEZuLmFwcGx5KFV0aWxzLCBhcmdzKSk7XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBhY2UgfSA9IHdpbmRvdyBhcyBhbnk7XG4gICAgICBjb25zdCBlZGl0Rm4gPSBhY2UuZWRpdDtcbiAgICAgIGNvbnN0IHsgbmdab25lIH0gPSB0aGlzO1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4gICAgICBhY2UuZWRpdCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBlZGl0Rm4uYXBwbHkoYWNlLCBhcmdzKSk7XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICB9XG4gIH1cblxuICBob29rTGFuZ3VhZ2UoKSB7XG4gICAgbGV0IGZpcnN0ID0gdHJ1ZTtcbiAgICB0aGlzLmFwcFN0YXRlXG4gICAgICAubWFwKHN0b3JlID0+IHN0b3JlLmxhbmcpXG4gICAgICAuc3Vic2NyaWJlKGxhbmcgPT4ge1xuICAgICAgICB0aGlzLmluamVjdG9yLmdldCgnYzh5TG9jYWxlcycpLnN3aXRjaFRvTGFuZ3VhZ2UobGFuZyk7XG4gICAgICAgIGlmICghZmlyc3QpIHtcbiAgICAgICAgICB0aGlzLmluamVjdG9yLmdldCgnJHJvb3RTY29wZScpLiRhcHBseSgpO1xuICAgICAgICB9XG4gICAgICAgIGZpcnN0ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGhvb2tUYWJzKCkge1xuICAgIC8vIEp1c3QgZm9yIGluc3RhbnRpYXRpb24gb2YgdGhlIGM4eUFjdGlvbiBzZXJ2aWNlXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoJ2M4eUFjdGlvbnMnKTtcbiAgICBjb25zdCAkbG9jYXRpb24gPSB0aGlzLmluamVjdG9yLmdldCgnJGxvY2F0aW9uJyk7XG4gICAgY29uc3QgYzh5VGFicyA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlUYWJzJyk7XG4gICAgbGV0IGxpdmVUYWJzID0gW107XG4gICAgYzh5VGFicy5hZGRUYWIgPSB0YWIgPT4ge1xuICAgICAgbGl2ZVRhYnMucHVzaCh7XG4gICAgICAgIC4uLnRhYixcbiAgICAgICAgbGFiZWw6IHRhYi5sYWJlbCB8fCB0YWIubmFtZSxcbiAgICAgICAgcGF0aDogZGVjb2RlVVJJQ29tcG9uZW50KHRhYi5wYXRoKVxuICAgICAgfSk7XG4gICAgICB0aGlzLiRsaXZlVGFicy5uZXh0KGxpdmVUYWJzKTtcbiAgICB9O1xuICAgIHRoaXMuJG5nMVJvdXRlQ2hhbmdlU3RhcnQuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgbGl2ZVRhYnMgPSBbXTtcbiAgICAgIHRoaXMuJGxpdmVUYWJzLm5leHQobGl2ZVRhYnMpO1xuICAgIH0pO1xuICAgIHRoaXMuJG5nMVJvdXRlQ2hhbmdlU3VjY2Vzcy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICBjb25zdCBwYXRoID0gJGxvY2F0aW9uLnBhdGgoKTtcbiAgICAgIGlmICh0aGlzLnJvdXRlci51cmwgIT09IHBhdGgpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCA9PT0gJy8nID8gJycgOiBwYXRoLnNwbGl0KCcvJyksIHtcbiAgICAgICAgICBxdWVyeVBhcmFtczogJGxvY2F0aW9uLnNlYXJjaCgpLFxuICAgICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmFjdGlvblNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5hY3Rpb25TZXJ2aWNlLnJlZnJlc2goKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLiRyb3V0ZUNoYW5nZXMgPSB0aGlzLiRuZzFSb3V0ZUNoYW5nZVN1Y2Nlc3MucGlwZShcbiAgICAgIG1lcmdlKHRoaXMuZnJvbU5nMUV2ZW50KGM4eVRhYnMsIGM4eVRhYnMuRVZFTlRfVVBEQVRFKSwgb2YoMSkpLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMClcbiAgICApO1xuICB9XG5cbiAgaG9va05hdmlnYXRvcigpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25Ob2RlcyQgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5TmF2aWdhdG9yJykucm9vdE5vZGVzJDtcbiAgfVxuXG4gIGdldFRhYnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBvbmx5VmlzaWJsZSA9ICh7IHNob3cgfSkgPT4gc2hvdztcbiAgICBjb25zdCB1cGdyYWRlVGFiID0gdGFiID0+ICh7XG4gICAgICAuLi50YWIsXG4gICAgICBsYWJlbDogdGFiLmxhYmVsIHx8IHRhYi5uYW1lLFxuICAgICAgcGF0aDogZGVjb2RlVVJJQ29tcG9uZW50KHRhYi5wYXRoKVxuICAgIH0pO1xuICAgIGNvbnN0IHJvdXRlVGFicyA9IHRoaXMuJHJvdXRlQ2hhbmdlcy5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgY29uc3Qgcm91dGVzID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eVRhYnMnKS5yb3V0ZVRhYnM7XG4gICAgICAgIGNvbnN0IHZpc2liaWxpdHlQcm9taXNlID0gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgcm91dGVzLm1hcCgoeyBjaGVja2luZ1Zpc2liaWxpdHkgfSkgPT4gY2hlY2tpbmdWaXNpYmlsaXR5KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdmlzaWJpbGl0eVByb21pc2UudGhlbigoKSA9PiByb3V0ZXMuZmlsdGVyKG9ubHlWaXNpYmxlKS5tYXAodXBncmFkZVRhYikpO1xuICAgICAgfSksXG4gICAgICBzdGFydFdpdGgoW10pXG4gICAgKTtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChyb3V0ZVRhYnMsIHRoaXMuJGxpdmVUYWJzKS5waXBlKFxuICAgICAgbWFwKChbcm91dGUsIGxpdmVdKSA9PiByb3V0ZS5jb25jYXQobGl2ZSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFF1aWNrTGlua3MoKTogUHJvbWlzZTxEb2NMaW5rW10+IHtcbiAgICBjb25zdCBjOHlRdWlja0xpbmtzID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eVF1aWNrTGlua3MnKTtcbiAgICByZXR1cm4gYzh5UXVpY2tMaW5rcy5saXN0KCk7XG4gIH1cblxuICBnZXRBY3Rpb25CYXJJdGVtcygpOiBPYnNlcnZhYmxlPEFjdGlvbkJhckl0ZW0+IHtcbiAgICBjb25zdCBjOHlBY3Rpb25CYXIgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5QWN0aW9uQmFyJyk7XG4gICAgY29uc3QgJHJvb3RTY29wZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KCckcm9vdFNjb3BlJyk7XG4gICAgY29uc3QgZ2V0QWN0aW9uQmFyRWxlbWVudHMgPSAoKSA9PlxuICAgICAgYzh5QWN0aW9uQmFyLmVsZW1lbnRzLm1hcChlbGVtZW50ID0+ICh7XG4gICAgICAgIHByaW9yaXR5OiBlbGVtZW50LmdldEF0dHJpYnV0ZSgnYWN0aW9uLWJhci1wcmlvcml0eScpIHx8IDAsXG4gICAgICAgIHRlbXBsYXRlOiBlbGVtZW50LFxuICAgICAgICBwbGFjZW1lbnQ6IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhY3Rpb24tYmFyLXBvc2l0aW9uJykgfHwgJ3JpZ2h0J1xuICAgICAgfSkpO1xuICAgIHJldHVybiB0aGlzLmZyb21OZzFFdmVudCgkcm9vdFNjb3BlLCAnYzh5QWN0aW9uQmFyQ2hhbmdlZCcpLnBpcGUoXG4gICAgICBzdGFydFdpdGgoMSksXG4gICAgICBtYXAoZ2V0QWN0aW9uQmFyRWxlbWVudHMpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJyZWFkY3J1bWJzKCk6IE9ic2VydmFibGU8QnJlYWRjcnVtYltdPiB7XG4gICAgY29uc3QgJGxvY2F0aW9uID0gdGhpcy5pbmplY3Rvci5nZXQoJyRsb2NhdGlvbicpO1xuICAgIGNvbnN0IHBhdGggPSAkbG9jYXRpb24ucGF0aCgpO1xuICAgIGNvbnN0IGM4eUJyZWFkY3J1bWJzID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eUJyZWFkY3J1bWJzJyk7XG4gICAgY29uc3QgYnJlYWRjcnVtYnMgPSBjOHlCcmVhZGNydW1icy5nZXQocGF0aCkgfHwge307XG4gICAgY29uc3QgYnJlYWRjcnVtYnNEYXRhID0gdGhpcy5yZXNvbHZlQnJlYWRjcnVtYnNEYXRhKGJyZWFkY3J1bWJzLmRhdGEpO1xuICAgIHJldHVybiBmcm9tKGJyZWFkY3J1bWJzRGF0YSkucGlwZShcbiAgICAgIG1hcCgodmFsdWU6IGFueVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpdmVCcmVhZGNydW1icyA9IGM4eUJyZWFkY3J1bWJzLmdldExpdmVCcmVhZGNydW1icygpO1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLmNvbmNhdChsaXZlQnJlYWRjcnVtYnMpO1xuICAgICAgICByZXR1cm4gdmFsdWUubWFwKGl0ZW1zID0+ICh7IGl0ZW1zOiBpdGVtcyBhcyBCcmVhZGNydW1iSXRlbVtdIH0gYXMgQnJlYWRjcnVtYikpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVzb2x2ZUJyZWFkY3J1bWJzRGF0YShkYXRhKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5pbnZva2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGVtcHR5XG4gICAgfVxuICAgIGlmIChpc0FycmF5KGRhdGEpKSB7XG4gICAgICByZXR1cm4gb2YoW2RhdGFdKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfVxuXG4gIGdldFNlYXJjaCgpOiBTZWFyY2hbXSB7XG4gICAgY29uc3QgYzh5U2VhcmNoID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eVNlYXJjaCcpO1xuICAgIHJldHVybiBjOHlTZWFyY2gubGlzdCgpLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb246ICdzZWFyY2gnLFxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgIHRlcm06ICcnLFxuICAgICAgICBvblNlYXJjaCgpIHtcbiAgICAgICAgICBpZiAodGhpcy50ZXJtKSB7XG4gICAgICAgICAgICBjOHlTZWFyY2guc2VhcmNoKHRoaXMudGVybSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGFzIFNlYXJjaDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEFjdGlvbnMoKTogT2JzZXJ2YWJsZTxBY3Rpb24+IHtcbiAgICBjb25zdCByZWdpc3RlcmVkQWN0aW9ucyA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdjOHlBY3Rpb25zJykucmVnaXN0ZXJlZEFjdGlvbnM7XG4gICAgcmV0dXJuIG9mKFxuICAgICAgcmVnaXN0ZXJlZEFjdGlvbnNcbiAgICAgICAgLmZpbHRlcihhY3Rpb24gPT4gIWFjdGlvbi5oaWRkZW4pXG4gICAgICAgIC5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAgICAgLy8gVGhlIHByaW9yaXR5IHdhcyByZXZlcnNlZDogQWxpZ25lZCBpdCB0byBkYXNoYm9hcmQsIGhpZ2ggZmlyc3QsIGxvdyBsYXN0LlxuICAgICAgICAgIHByaW9yaXR5OiAoYWN0aW9uLnByaW9yaXR5IHx8IDApICogLTEsXG4gICAgICAgICAgbGFiZWw6IGFjdGlvbi50ZXh0LFxuICAgICAgICAgIGljb246IGFjdGlvbi5pY29uLFxuICAgICAgICAgIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsXG4gICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluamVjdG9yLmludm9rZShhY3Rpb24uYWN0aW9uLCBhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIGZyb21OZzFFdmVudChvYmosIGV2dCkge1xuICAgIGxldCBzdG9wTGlzdGVuaW5nO1xuICAgIGZ1bmN0aW9uIGFkZChoYW5kbGVyKSB7XG4gICAgICBzdG9wTGlzdGVuaW5nID0gb2JqLiRvbihldnQsIGhhbmRsZXIpO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbUV2ZW50UGF0dGVybihhZGQsICgpID0+IHN0b3BMaXN0ZW5pbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIGhvb2tVc2VyTWVudSgpIHtcbiAgICBjb25zdCB1c2VyTWVudVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCgnYzh5VXNlck1lbnVTZXJ2aWNlJyk7XG4gICAgY29uc3QgYzh5QWNjZXNzRGVuaWVkID0gdGhpcy5pbmplY3Rvci5nZXQoJ2M4eUFjY2Vzc0RlbmllZCcpO1xuICAgIHVzZXJNZW51U2VydmljZS5hZGQoe1xuICAgICAgaWNvbjogJ2FjY2VzcycsXG4gICAgICBwcmlvcml0eTogMTAsXG4gICAgICBsYWJlbDogZ2V0dGV4dCgnQWNjZXNzIGRlbmllZCByZXF1ZXN0cycpLFxuICAgICAgY2xpY2s6IGM4eUFjY2Vzc0RlbmllZC5zaG93QWNjZXNzRGVuaWVkUmVxdWVzdHNMaXN0XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyaWRnZVNlcnZpY2VGYWN0b3J5KFxuICBpbmplY3RvcjogYW55LFxuICBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICByb3V0ZXI6IFJvdXRlcixcbiAgbmdab25lOiBOZ1pvbmUsXG4gIHJvdXRlclNlcnZpY2U6IFJvdXRlclNlcnZpY2UsXG4gIGFjdGlvblNlcnZpY2U6IEFjdGlvblNlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IEJyaWRnZVNlcnZpY2UoaW5qZWN0b3IsIGFwcFN0YXRlLCByb3V0ZXIsIG5nWm9uZSwgcm91dGVyU2VydmljZSwgYWN0aW9uU2VydmljZSk7XG59XG5cbmV4cG9ydCBjb25zdCBicmlkZ2VTZXJ2aWNlUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IEJyaWRnZVNlcnZpY2UsXG4gIHVzZUZhY3Rvcnk6IGJyaWRnZVNlcnZpY2VGYWN0b3J5LFxuICBkZXBzOiBbJyRpbmplY3RvcicsIEFwcFN0YXRlU2VydmljZSwgUm91dGVyLCBOZ1pvbmUsIFJvdXRlclNlcnZpY2UsIEFjdGlvblNlcnZpY2VdXG59O1xuIl19
@@ -209,10 +209,7 @@ class BridgeService {
209
209
  $routeParams: params
210
210
  });
211
211
  // make sure showIf result is a promise with boolean result:
212
- return this.injector
213
- .get('$q')
214
- .when(showIfResult)
215
- .then(Boolean);
212
+ return this.injector.get('$q').when(showIfResult).then(Boolean);
216
213
  }
217
214
  : undefined
218
215
  }
@@ -459,9 +456,12 @@ class Ng1ActionBarFactoryService {
459
456
  constructor(bridge) {
460
457
  this.bridge = bridge;
461
458
  this.routeChanges$ = bridge.$routeChanges;
459
+ this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;
462
460
  }
463
461
  get() {
464
- return this.bridge.getActionBarItems();
462
+ return this.routeChanges$.pipe(switchMap(e => {
463
+ return this.bridge.getActionBarItems();
464
+ }));
465
465
  }
466
466
  }
467
467
  Ng1ActionBarFactoryService.decorators = [