@seniorsistemas/angular-components 17.1.8 → 17.2.1
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/bundles/seniorsistemas-angular-components.umd.js +874 -115
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/file-upload/file-upload.component.d.ts +7 -2
- package/components/file-upload/models/file-upload-permissions.d.ts +6 -0
- package/components/file-upload/models/index.d.ts +1 -0
- package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +28 -0
- package/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +2 -0
- package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +14 -0
- package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +21 -0
- package/components/tiered-menu/index.d.ts +3 -0
- package/components/tiered-menu/models/index.d.ts +2 -0
- package/components/tiered-menu/models/tiered-menu-item-data.d.ts +7 -0
- package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +10 -0
- package/components/tiered-menu/tiered-menu.directive.d.ts +37 -0
- package/components/tiered-menu/tiered-menu.event.service.d.ts +18 -0
- package/components/tiered-menu/tiered-menu.module.d.ts +2 -0
- package/components/tiered-menu/tiered-menu.service.d.ts +10 -0
- package/esm2015/components/file-upload/file-upload.component.js +13 -5
- package/esm2015/components/file-upload/file-upload.module.js +2 -2
- package/esm2015/components/file-upload/models/file-upload-permissions.js +12 -0
- package/esm2015/components/file-upload/models/index.js +2 -1
- package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +218 -0
- package/esm2015/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +13 -0
- package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +68 -0
- package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +131 -0
- package/esm2015/components/tiered-menu/index.js +3 -0
- package/esm2015/components/tiered-menu/models/index.js +1 -0
- package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +1 -0
- package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -0
- package/esm2015/components/tiered-menu/tiered-menu.directive.js +212 -0
- package/esm2015/components/tiered-menu/tiered-menu.event.service.js +39 -0
- package/esm2015/components/tiered-menu/tiered-menu.module.js +35 -0
- package/esm2015/components/tiered-menu/tiered-menu.service.js +39 -0
- package/esm2015/components/tooltip/tooltip.directive.js +2 -2
- package/esm2015/public-api.js +2 -1
- package/esm2015/seniorsistemas-angular-components.js +7 -1
- package/esm5/components/file-upload/file-upload.component.js +13 -5
- package/esm5/components/file-upload/file-upload.module.js +2 -2
- package/esm5/components/file-upload/models/file-upload-permissions.js +12 -0
- package/esm5/components/file-upload/models/index.js +2 -1
- package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +223 -0
- package/esm5/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +16 -0
- package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +70 -0
- package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +133 -0
- package/esm5/components/tiered-menu/index.js +3 -0
- package/esm5/components/tiered-menu/models/index.js +1 -0
- package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +1 -0
- package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -0
- package/esm5/components/tiered-menu/tiered-menu.directive.js +216 -0
- package/esm5/components/tiered-menu/tiered-menu.event.service.js +40 -0
- package/esm5/components/tiered-menu/tiered-menu.module.js +38 -0
- package/esm5/components/tiered-menu/tiered-menu.service.js +44 -0
- package/esm5/components/tooltip/tooltip.directive.js +2 -2
- package/esm5/public-api.js +2 -1
- package/esm5/seniorsistemas-angular-components.js +7 -1
- package/fesm2015/seniorsistemas-angular-components.js +839 -113
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +870 -119
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/seniorsistemas-angular-components.d.ts +6 -0
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, HostListener, Input } from "@angular/core";
|
|
3
|
+
import { TieredMenuEventService } from "../../tiered-menu.event.service";
|
|
4
|
+
var TieredMenuItemComponent = /** @class */ (function () {
|
|
5
|
+
function TieredMenuItemComponent(_tieredMenuEventService) {
|
|
6
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
7
|
+
this.focused = false;
|
|
8
|
+
this.triggerEvent = "click";
|
|
9
|
+
this.closeOnClick = false;
|
|
10
|
+
}
|
|
11
|
+
TieredMenuItemComponent.prototype.onClick = function () {
|
|
12
|
+
if (this.item.submenu) {
|
|
13
|
+
if (!this.item.isOpen) {
|
|
14
|
+
this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
|
|
15
|
+
}
|
|
16
|
+
else if (this.closeOnClick) {
|
|
17
|
+
this._tieredMenuEventService.emitCloseItemMenuEvent(this.item);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this._tieredMenuEventService.emitSelectItemEvent(this.item);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
TieredMenuItemComponent.prototype.onMouseEnter = function () {
|
|
25
|
+
var _this = this;
|
|
26
|
+
if (this.triggerEvent === "hover" && !this.item.isOpen) {
|
|
27
|
+
this._showTimeout = window.setTimeout(function () {
|
|
28
|
+
_this._tieredMenuEventService.emitOpenItemMenuEvent(_this.item);
|
|
29
|
+
}, 300);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
TieredMenuItemComponent.prototype.onMouseLeave = function () {
|
|
33
|
+
window.clearTimeout(this._showTimeout);
|
|
34
|
+
};
|
|
35
|
+
TieredMenuItemComponent.ctorParameters = function () { return [
|
|
36
|
+
{ type: TieredMenuEventService }
|
|
37
|
+
]; };
|
|
38
|
+
__decorate([
|
|
39
|
+
Input()
|
|
40
|
+
], TieredMenuItemComponent.prototype, "item", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
Input()
|
|
43
|
+
], TieredMenuItemComponent.prototype, "focused", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
Input()
|
|
46
|
+
], TieredMenuItemComponent.prototype, "triggerEvent", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
Input()
|
|
49
|
+
], TieredMenuItemComponent.prototype, "closeOnClick", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
HostListener("click"),
|
|
52
|
+
HostListener("touchend")
|
|
53
|
+
], TieredMenuItemComponent.prototype, "onClick", null);
|
|
54
|
+
__decorate([
|
|
55
|
+
HostListener("mouseenter")
|
|
56
|
+
], TieredMenuItemComponent.prototype, "onMouseEnter", null);
|
|
57
|
+
__decorate([
|
|
58
|
+
HostListener("mouseleave")
|
|
59
|
+
], TieredMenuItemComponent.prototype, "onMouseLeave", null);
|
|
60
|
+
TieredMenuItemComponent = __decorate([
|
|
61
|
+
Component({
|
|
62
|
+
selector: "s-tiered-menu-item",
|
|
63
|
+
template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused\n }\">\n <div class=\"tiered-menu-item-content\">\n <span class=\"icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n <span\n *ngIf=\"item.submenu\"\n class=\"submenu-icon\"\n [ngClass]=\"{\n 'fas': true,\n 'fa-chevron-left': item.isOpen,\n 'fa-chevron-right': !item.isOpen\n }\">\n </span>\n</div>",
|
|
64
|
+
styles: [".tiered-menu-item{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}"]
|
|
65
|
+
})
|
|
66
|
+
], TieredMenuItemComponent);
|
|
67
|
+
return TieredMenuItemComponent;
|
|
68
|
+
}());
|
|
69
|
+
export { TieredMenuItemComponent };
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51LWl0ZW0vdGllcmVkLW1lbnUtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVF6RTtJQWVJLGlDQUNxQix1QkFBK0M7UUFBL0MsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF3QjtRQVg3RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLGlCQUFZLEdBQXNCLE9BQU8sQ0FBQztRQUcxQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztJQU14QixDQUFDO0lBSUUseUNBQU8sR0FBZDtRQUNJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNuQixJQUFJLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2pFO2lCQUFNLElBQUcsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsRTtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9EO0lBQ0wsQ0FBQztJQUdNLDhDQUFZLEdBQW5CO1FBREEsaUJBT0M7UUFMRyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO2dCQUNsQyxLQUFJLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNYO0lBQ0wsQ0FBQztJQUdNLDhDQUFZLEdBQW5CO1FBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7Z0JBN0I2QyxzQkFBc0I7O0lBZHBFO1FBREMsS0FBSyxFQUFFO3lEQUNnQztJQUd4QztRQURDLEtBQUssRUFBRTs0REFDZTtJQUd2QjtRQURDLEtBQUssRUFBRTtpRUFDeUM7SUFHakQ7UUFEQyxLQUFLLEVBQUU7aUVBQ29CO0lBVTVCO1FBRkMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNyQixZQUFZLENBQUMsVUFBVSxDQUFDOzBEQVd4QjtJQUdEO1FBREMsWUFBWSxDQUFDLFlBQVksQ0FBQzsrREFPMUI7SUFHRDtRQURDLFlBQVksQ0FBQyxZQUFZLENBQUM7K0RBRzFCO0lBN0NRLHVCQUF1QjtRQUxuQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLCttQkFBZ0Q7O1NBRW5ELENBQUM7T0FDVyx1QkFBdUIsQ0E4Q25DO0lBQUQsOEJBQUM7Q0FBQSxBQTlDRCxJQThDQztTQTlDWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3RpZXJlZC1tZW51LmV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXRpZXJlZC1tZW51LWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RpZXJlZC1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGllcmVkLW1lbnUtaXRlbS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGllcmVkTWVudUl0ZW1Db21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHJpZ2dlckV2ZW50OiBcImNsaWNrXCIgfCBcImhvdmVyXCIgPSBcImNsaWNrXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjbG9zZU9uQ2xpY2sgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX3Nob3dUaW1lb3V0PzogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICAgIEBIb3N0TGlzdGVuZXIoXCJ0b3VjaGVuZFwiKVxuICAgIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pdGVtLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdE9wZW5JdGVtTWVudUV2ZW50KHRoaXMuaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYodGhpcy5jbG9zZU9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRDbG9zZUl0ZW1NZW51RXZlbnQodGhpcy5pdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdFNlbGVjdEl0ZW1FdmVudCh0aGlzLml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIilcbiAgICBwdWJsaWMgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09IFwiaG92ZXJcIiAmJiAhdGhpcy5pdGVtLmlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1RpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5lbWl0T3Blbkl0ZW1NZW51RXZlbnQodGhpcy5pdGVtKTtcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKVxuICAgIHB1YmxpYyBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXQpO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import { TieredMenuEventService } from "../../tiered-menu.event.service";
|
|
5
|
+
import { TieredMenuService } from "../../tiered-menu.service";
|
|
6
|
+
import { takeUntil } from "rxjs/operators";
|
|
7
|
+
var TieredMenuNestedComponent = /** @class */ (function () {
|
|
8
|
+
function TieredMenuNestedComponent(tieredMenuService, _tieredMenuEventService) {
|
|
9
|
+
this.tieredMenuService = tieredMenuService;
|
|
10
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
11
|
+
this.top = 0;
|
|
12
|
+
this.maxHeight = 0;
|
|
13
|
+
this._unsubscribe$ = new Subject();
|
|
14
|
+
}
|
|
15
|
+
TieredMenuNestedComponent.prototype.ngOnInit = function () {
|
|
16
|
+
this.tieredMenuService.currentItems = this.items;
|
|
17
|
+
this._subscribeEvents();
|
|
18
|
+
};
|
|
19
|
+
TieredMenuNestedComponent.prototype.ngOnDestroy = function () {
|
|
20
|
+
this._unsubscribe$.next();
|
|
21
|
+
this._unsubscribe$.complete();
|
|
22
|
+
};
|
|
23
|
+
TieredMenuNestedComponent.prototype._incrementCurItem = function () {
|
|
24
|
+
if (!this.tieredMenuService.currentItem) {
|
|
25
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
|
|
29
|
+
if (curIndex < this.tieredMenuService.currentItems.length) {
|
|
30
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
34
|
+
}
|
|
35
|
+
if (this.tieredMenuService.currentItem.divider) {
|
|
36
|
+
this._incrementCurItem();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
TieredMenuNestedComponent.prototype._decrementCurItem = function () {
|
|
40
|
+
if (!this.tieredMenuService.currentItem) {
|
|
41
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
|
|
45
|
+
if (curIndex >= 0) {
|
|
46
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
|
|
50
|
+
}
|
|
51
|
+
if (this.tieredMenuService.currentItem.divider) {
|
|
52
|
+
this._decrementCurItem();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
TieredMenuNestedComponent.prototype._closeItem = function (item) {
|
|
56
|
+
var _a;
|
|
57
|
+
var itemAux = this._lastOpenItem;
|
|
58
|
+
while (itemAux && itemAux != item) {
|
|
59
|
+
itemAux.isOpen = false;
|
|
60
|
+
itemAux = itemAux.parent;
|
|
61
|
+
}
|
|
62
|
+
item.isOpen = false;
|
|
63
|
+
this.tieredMenuService.currentItem = itemAux !== null && itemAux !== void 0 ? itemAux : this.tieredMenuService.items[0];
|
|
64
|
+
this.tieredMenuService.currentItems = ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.submenu) || this.tieredMenuService.items;
|
|
65
|
+
};
|
|
66
|
+
TieredMenuNestedComponent.prototype._openItem = function (item) {
|
|
67
|
+
if (item === null || item === void 0 ? void 0 : item.submenu) {
|
|
68
|
+
item.isOpen = true;
|
|
69
|
+
this.tieredMenuService.currentItems = item.submenu;
|
|
70
|
+
// Only has focus if there has already been interaction.
|
|
71
|
+
if (this.tieredMenuService.currentItem) {
|
|
72
|
+
this.tieredMenuService.currentItem = item.submenu[0];
|
|
73
|
+
}
|
|
74
|
+
this._lastOpenItem = item;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
TieredMenuNestedComponent.prototype._subscribeEvents = function () {
|
|
78
|
+
var _this = this;
|
|
79
|
+
this._tieredMenuEventService.incrementCurrentItemEvent
|
|
80
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
81
|
+
.subscribe(function () {
|
|
82
|
+
_this._incrementCurItem();
|
|
83
|
+
});
|
|
84
|
+
this._tieredMenuEventService.decrementCurrentItemEvent
|
|
85
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
86
|
+
.subscribe(function () {
|
|
87
|
+
_this._decrementCurItem();
|
|
88
|
+
});
|
|
89
|
+
this._tieredMenuEventService.selectItemEvent
|
|
90
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
91
|
+
.subscribe(function (item) {
|
|
92
|
+
if (item.command) {
|
|
93
|
+
item.command();
|
|
94
|
+
// Close all menus after the item was selected.
|
|
95
|
+
_this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
this._tieredMenuEventService.openItemMenuEvent
|
|
99
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
100
|
+
.subscribe(function (item) {
|
|
101
|
+
var _a, _b;
|
|
102
|
+
if (!_this.tieredMenuService.currentItems.includes(item)) {
|
|
103
|
+
var itemAux = _this._lastOpenItem;
|
|
104
|
+
while ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.parent) {
|
|
105
|
+
itemAux = itemAux.parent;
|
|
106
|
+
}
|
|
107
|
+
_this._tieredMenuEventService.emitCloseItemMenuEvent((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
|
|
108
|
+
}
|
|
109
|
+
_this._lastOpenItem = item;
|
|
110
|
+
_this._openItem(item);
|
|
111
|
+
});
|
|
112
|
+
this._tieredMenuEventService.closeItemMenuEvent
|
|
113
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
114
|
+
.subscribe(function (item) {
|
|
115
|
+
if (item) {
|
|
116
|
+
_this._closeItem(item);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
TieredMenuNestedComponent.ctorParameters = function () { return [
|
|
121
|
+
{ type: TieredMenuService },
|
|
122
|
+
{ type: TieredMenuEventService }
|
|
123
|
+
]; };
|
|
124
|
+
TieredMenuNestedComponent = __decorate([
|
|
125
|
+
Component({
|
|
126
|
+
template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'max-height': maxHeight + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
127
|
+
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999;overflow:auto}.menu--nested{width:90vw;margin:0 5vw}.menu .submenu{margin-left:24px}"]
|
|
128
|
+
})
|
|
129
|
+
], TieredMenuNestedComponent);
|
|
130
|
+
return TieredMenuNestedComponent;
|
|
131
|
+
}());
|
|
132
|
+
export { TieredMenuNestedComponent };
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpZXJlZC1tZW51L2NvbXBvbmVudHMvdGllcmVkLW1lbnUtbmVzdGVkL3RpZXJlZC1tZW51LW5lc3RlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTNDO0lBVUksbUNBQ29CLGlCQUFvQyxFQUNuQyx1QkFBK0M7UUFEaEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBVjdELFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBUXhDLENBQUM7SUFFRSw0Q0FBUSxHQUFmO1FBQ0ksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSwrQ0FBVyxHQUFsQjtRQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8scURBQWlCLEdBQXpCO1FBQ0ksSUFB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b20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3RpZXJlZC1tZW51LmV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RpZXJlZC1tZW51LW5lc3RlZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90aWVyZWQtbWVudS1uZXN0ZWQuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdO1xuICAgIHB1YmxpYyB0b3AgPSAwO1xuICAgIHB1YmxpYyBtYXhIZWlnaHQgPSAwO1xuXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8vIFNhdmVzIHRoZSBsYXN0IG9wZW5lZCBpdGVtIHRvIGNsb3NlIGl0IHdoZW4gYSBuZXcgb25lIGlzIG9wZW5lZFxuICAgIHByaXZhdGUgX2xhc3RPcGVuSXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHRpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUV2ZW50U2VydmljZTogVGllcmVkTWVudUV2ZW50U2VydmljZSxcbiAgICApIHsgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUV2ZW50cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5jcmVtZW50Q3VySXRlbSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJJbmRleCA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmluZGV4T2YodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkgKyAxO1xuXG4gICAgICAgIGlmIChjdXJJbmRleCA8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1ckluZGV4XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2RlY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VySW5kZXggPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5pbmRleE9mKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIC0gMTtcblxuICAgICAgICBpZiAoY3VySW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1ckluZGV4XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1t0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Nsb3NlSXRlbShpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSk6IHZvaWQge1xuICAgICAgICBsZXQgaXRlbUF1eCA9IHRoaXMuX2xhc3RPcGVuSXRlbTtcblxuICAgICAgICB3aGlsZSAoaXRlbUF1eCAmJiBpdGVtQXV4ICE9IGl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW1BdXguaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtQXV4ID0gaXRlbUF1eC5wYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVtLmlzT3BlbiA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtQXV4ID8/IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXNbMF07XG4gICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbUF1eD8ucGFyZW50Py5zdWJtZW51IHx8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3Blbkl0ZW0oaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0/LnN1Ym1lbnUpIHtcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbS5zdWJtZW51O1xuXG4gICAgICAgICAgICAvLyBPbmx5IGhhcyBmb2N1cyBpZiB0aGVyZSBoYXMgYWxyZWFkeSBiZWVuIGludGVyYWN0aW9uLlxuICAgICAgICAgICAgaWYgKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gaXRlbS5zdWJtZW51WzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9sYXN0T3Blbkl0ZW0gPSBpdGVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5jcmVtZW50Q3VySXRlbSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5kZWNyZW1lbnRDdXJyZW50SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uuc2VsZWN0SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2xvc2UgYWxsIG1lbnVzIGFmdGVyIHRoZSBpdGVtIHdhcyBzZWxlY3RlZC5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5lbWl0Q2xvc2VBbGxNZW51c0V2ZW50KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5vcGVuSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1BdXggPSB0aGlzLl9sYXN0T3Blbkl0ZW07XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChpdGVtQXV4Py5wYXJlbnQ/LnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUF1eCA9IGl0ZW1BdXgucGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdENsb3NlSXRlbU1lbnVFdmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1BdXgucGFyZW50ID8/IGl0ZW1BdXhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fbGFzdE9wZW5JdGVtID0gaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLl9vcGVuSXRlbShpdGVtKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VJdGVtTWVudUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2xvc2VJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { TieredMenuDirective } from "./tiered-menu.directive";
|
|
2
|
+
export { TieredMenuModule } from "./tiered-menu.module";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aWVyZWQtbWVudS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRpZXJlZE1lbnVEaXJlY3RpdmUgfSBmcm9tIFwiLi90aWVyZWQtbWVudS5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7IFRpZXJlZE1lbnVNb2R1bGUgfSBmcm9tIFwiLi90aWVyZWQtbWVudS5tb2R1bGVcIjtcblxuZXhwb3J0IHsgVGllcmVkTWVudUl0ZW1EYXRhIH0gZnJvbSBcIi4vbW9kZWxzXCI7Il19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aWVyZWQtbWVudS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gXCIuL3RpZXJlZC1tZW51LWl0ZW0tZGF0YVwiO1xuZXhwb3J0IHsgVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEgfSBmcm9tIFwiLi90aWVyZWQtbWVudS1pdGVtLWludGVybmFsLWRhdGFcIjtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtaXRlbS1kYXRhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvbW9kZWxzL3RpZXJlZC1tZW51LWl0ZW0tZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaWVyZWRNZW51SXRlbURhdGEge1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGljb25DbGFzcz86IHN0cmluZztcbiAgICBjb21tYW5kPzogVm9pZEZ1bmN0aW9uO1xuICAgIHN1Ym1lbnU/OiBUaWVyZWRNZW51SXRlbURhdGFbXTtcbiAgICBkaXZpZGVyPzogYm9vbGVhbjtcbn0iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvbW9kZWxzL3RpZXJlZC1tZW51LWl0ZW0taW50ZXJuYWwtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgaWNvbkNsYXNzPzogc3RyaW5nO1xuICAgIGlzT3Blbj86IGJvb2xlYW47XG4gICAgY29tbWFuZD86IFZvaWRGdW5jdGlvbjtcbiAgICBzdWJtZW51PzogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGFbXTtcbiAgICBkaXZpZGVyPzogYm9vbGVhbjtcbiAgICBwYXJlbnQ/OiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YTtcbn0iXX0=
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { AfterViewInit, ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EmbeddedViewRef, HostListener, Injector, Input, OnDestroy, OnInit, } from "@angular/core";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import { takeUntil } from "rxjs/operators";
|
|
5
|
+
import { TieredMenuNestedComponent } from "./components/tiered-menu-nested/tiered-menu-nested.component";
|
|
6
|
+
import { TieredMenuComponent } from "./components/tiered-menu/tiered-menu.component";
|
|
7
|
+
import { TieredMenuEventService } from "./tiered-menu.event.service";
|
|
8
|
+
import { TieredMenuService } from "./tiered-menu.service";
|
|
9
|
+
var TieredMenuDirective = /** @class */ (function () {
|
|
10
|
+
function TieredMenuDirective(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService) {
|
|
11
|
+
this._elementRef = _elementRef;
|
|
12
|
+
this._appRef = _appRef;
|
|
13
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
14
|
+
this._injector = _injector;
|
|
15
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
16
|
+
this._tieredMenuService = _tieredMenuService;
|
|
17
|
+
this._componentRef = null;
|
|
18
|
+
this._isNested = false;
|
|
19
|
+
this._isOpen = false;
|
|
20
|
+
this._unsubscribe$ = new Subject();
|
|
21
|
+
this.alwaysOpen = false;
|
|
22
|
+
this.triggerEvent = "click";
|
|
23
|
+
}
|
|
24
|
+
TieredMenuDirective.prototype.ngOnInit = function () {
|
|
25
|
+
this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
|
|
26
|
+
this._tieredMenuService.currentItems = this._tieredMenuService.items;
|
|
27
|
+
this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
|
|
28
|
+
this._subscribeEvents();
|
|
29
|
+
};
|
|
30
|
+
TieredMenuDirective.prototype.ngAfterViewInit = function () {
|
|
31
|
+
var _this = this;
|
|
32
|
+
// setTimeout to create the menu after creating the elements.
|
|
33
|
+
if (this.alwaysOpen) {
|
|
34
|
+
setTimeout(function () {
|
|
35
|
+
_this._createMenu();
|
|
36
|
+
}, 0);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
TieredMenuDirective.prototype.ngOnDestroy = function () {
|
|
40
|
+
this._unsubscribe$.next();
|
|
41
|
+
this._unsubscribe$.complete();
|
|
42
|
+
this._destroy();
|
|
43
|
+
};
|
|
44
|
+
TieredMenuDirective.prototype.onResize = function () {
|
|
45
|
+
if (!this.alwaysOpen) {
|
|
46
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
TieredMenuDirective.prototype.onKeydownHandler = function (event) {
|
|
50
|
+
if (!this._isOpen)
|
|
51
|
+
return;
|
|
52
|
+
switch (event.key) {
|
|
53
|
+
case "Escape":
|
|
54
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
55
|
+
break;
|
|
56
|
+
case " ":
|
|
57
|
+
case "Enter":
|
|
58
|
+
this._tieredMenuEventService.emitSelectItemEvent(this._tieredMenuService.currentItem);
|
|
59
|
+
break;
|
|
60
|
+
case "ArrowLeft":
|
|
61
|
+
// When nested I need a reference to the current item's parent item, otherwise just the current item.
|
|
62
|
+
this._tieredMenuEventService.emitCloseItemMenuEvent(this._isNested ? this._tieredMenuService.currentItem.parent : this._tieredMenuService.currentItem);
|
|
63
|
+
break;
|
|
64
|
+
case "ArrowRight":
|
|
65
|
+
this._tieredMenuEventService.emitOpenItemMenuEvent(this._tieredMenuService.currentItem);
|
|
66
|
+
break;
|
|
67
|
+
case "ArrowUp":
|
|
68
|
+
this._tieredMenuEventService.emitDecrementCurrentItemEvent();
|
|
69
|
+
break;
|
|
70
|
+
case "ArrowDown":
|
|
71
|
+
this._tieredMenuEventService.emitIncrementCurrentItemEvent();
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
TieredMenuDirective.prototype.onClick = function (event) {
|
|
76
|
+
if (this.triggerEvent === "click" && this.items && this.items && !this._isOpen) {
|
|
77
|
+
this._lastActiveElement = document.activeElement;
|
|
78
|
+
this._createMenu();
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
event.stopPropagation();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
TieredMenuDirective.prototype.onDocumentClick = function (event) {
|
|
84
|
+
// Closing menu when clicked outside.
|
|
85
|
+
var target = event.target;
|
|
86
|
+
var clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
|
|
87
|
+
if (!clickedInside) {
|
|
88
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
TieredMenuDirective.prototype._createMenu = function () {
|
|
92
|
+
var _a;
|
|
93
|
+
if (!this._componentRef && this.items) {
|
|
94
|
+
(_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.blur();
|
|
95
|
+
this._isOpen = true;
|
|
96
|
+
this._isNested = document.body.clientWidth < 600;
|
|
97
|
+
this._isNested ? this._createNestedMenu() : this._createTieredMenu();
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
TieredMenuDirective.prototype._createTieredMenu = function () {
|
|
101
|
+
var _this = this;
|
|
102
|
+
if (!this._componentRef && this.items) {
|
|
103
|
+
var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
|
|
104
|
+
this._componentRef = componentFactory.create(this._injector);
|
|
105
|
+
this._appRef.attachView(this._componentRef.hostView);
|
|
106
|
+
var domElem = this._componentRef.hostView.rootNodes[0];
|
|
107
|
+
document.body.appendChild(domElem);
|
|
108
|
+
this._setMenuComponentProperties();
|
|
109
|
+
this._componentRef.instance.destroyRequest
|
|
110
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
111
|
+
.subscribe(function () {
|
|
112
|
+
_this._destroy();
|
|
113
|
+
});
|
|
114
|
+
this._menuDivElement = domElem.querySelector(".menu");
|
|
115
|
+
this._setMenuPosition();
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
TieredMenuDirective.prototype._createNestedMenu = function () {
|
|
119
|
+
if (!this._componentRef && this.items) {
|
|
120
|
+
var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
|
|
121
|
+
this._componentRef = componentFactory.create(this._injector);
|
|
122
|
+
this._appRef.attachView(this._componentRef.hostView);
|
|
123
|
+
var domElem = this._componentRef.hostView.rootNodes[0];
|
|
124
|
+
document.body.appendChild(domElem);
|
|
125
|
+
this._setMenuComponentProperties();
|
|
126
|
+
this._menuDivElement = domElem.querySelector(".menu");
|
|
127
|
+
this._setMenuPosition();
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
TieredMenuDirective.prototype._destroy = function () {
|
|
131
|
+
var _a;
|
|
132
|
+
if (this._componentRef !== null && !this.alwaysOpen) {
|
|
133
|
+
this._isOpen = false;
|
|
134
|
+
window.clearTimeout(this._showTimeout);
|
|
135
|
+
this._appRef.detachView(this._componentRef.hostView);
|
|
136
|
+
this._componentRef.destroy();
|
|
137
|
+
this._componentRef = null;
|
|
138
|
+
this._menuDivElement = null;
|
|
139
|
+
(_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
140
|
+
this._tieredMenuService.currentItems = this._tieredMenuService.items;
|
|
141
|
+
this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
TieredMenuDirective.prototype._setMenuPosition = function () {
|
|
145
|
+
if (this._componentRef !== null) {
|
|
146
|
+
var _a = this._elementRef.nativeElement.getBoundingClientRect(), right = _a.right, bottom = _a.bottom, left = _a.left;
|
|
147
|
+
var menuWidth = this._menuDivElement.getBoundingClientRect().width;
|
|
148
|
+
var rightFreeSpace = document.body.clientWidth - right;
|
|
149
|
+
var topPosition = bottom + 2;
|
|
150
|
+
this._componentRef.instance.top = topPosition;
|
|
151
|
+
if (!this._isNested) {
|
|
152
|
+
if (rightFreeSpace > menuWidth) {
|
|
153
|
+
this._componentRef.instance.left = left;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
this._componentRef.instance.left = left - menuWidth;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// setting the maximum menu size to ensure its content is always visible. 10px margin.
|
|
161
|
+
this._componentRef.instance.maxHeight = window.innerHeight - topPosition - 10;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
TieredMenuDirective.prototype._setMenuComponentProperties = function () {
|
|
166
|
+
if (this._componentRef != null) {
|
|
167
|
+
this._componentRef.instance.items = this.items;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
TieredMenuDirective.prototype._subscribeEvents = function () {
|
|
171
|
+
var _this = this;
|
|
172
|
+
this._tieredMenuEventService.closeAllMenusEvent
|
|
173
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
174
|
+
.subscribe(function () {
|
|
175
|
+
_this.items = _this._tieredMenuService.markAllItemsAsClosed(_this.items);
|
|
176
|
+
_this._destroy();
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
TieredMenuDirective.ctorParameters = function () { return [
|
|
180
|
+
{ type: ElementRef },
|
|
181
|
+
{ type: ApplicationRef },
|
|
182
|
+
{ type: ComponentFactoryResolver },
|
|
183
|
+
{ type: Injector },
|
|
184
|
+
{ type: TieredMenuEventService },
|
|
185
|
+
{ type: TieredMenuService }
|
|
186
|
+
]; };
|
|
187
|
+
__decorate([
|
|
188
|
+
Input()
|
|
189
|
+
], TieredMenuDirective.prototype, "items", void 0);
|
|
190
|
+
__decorate([
|
|
191
|
+
Input()
|
|
192
|
+
], TieredMenuDirective.prototype, "alwaysOpen", void 0);
|
|
193
|
+
__decorate([
|
|
194
|
+
Input()
|
|
195
|
+
], TieredMenuDirective.prototype, "triggerEvent", void 0);
|
|
196
|
+
__decorate([
|
|
197
|
+
HostListener("window:resize")
|
|
198
|
+
], TieredMenuDirective.prototype, "onResize", null);
|
|
199
|
+
__decorate([
|
|
200
|
+
HostListener("document:keydown", ["$event"])
|
|
201
|
+
], TieredMenuDirective.prototype, "onKeydownHandler", null);
|
|
202
|
+
__decorate([
|
|
203
|
+
HostListener("click", ["$event"])
|
|
204
|
+
], TieredMenuDirective.prototype, "onClick", null);
|
|
205
|
+
__decorate([
|
|
206
|
+
HostListener("document:click", ["$event"])
|
|
207
|
+
], TieredMenuDirective.prototype, "onDocumentClick", null);
|
|
208
|
+
TieredMenuDirective = __decorate([
|
|
209
|
+
Directive({
|
|
210
|
+
selector: "[sTieredMenu]",
|
|
211
|
+
})
|
|
212
|
+
], TieredMenuDirective);
|
|
213
|
+
return TieredMenuDirective;
|
|
214
|
+
}());
|
|
215
|
+
export { TieredMenuDirective };
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLMUQ7SUFTSSw2QkFDcUIsV0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIseUJBQW1ELEVBQ25ELFNBQW1CLEVBQ25CLHVCQUErQyxFQUMvQyxrQkFBcUM7UUFMckMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNuRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDL0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQWRsRCxrQkFBYSxHQUFzQixJQUFJLENBQUM7UUFH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b0JBQW9CLENBQUMsS0FBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O2dCQTVMaUMsVUFBVTtnQkFDZCxjQUFjO2dCQUNJLHdCQUF3QjtnQkFDeEMsUUFBUTtnQkFDTSxzQkFBc0I7Z0JBQzNCLGlCQUFpQjs7SUFJMUQ7UUFEQyxLQUFLLEVBQUU7c0RBQzJCO0lBR25DO1FBREMsS0FBSyxFQUFFOzJEQUNrQjtJQUcxQjtRQURDLEtBQUssRUFBRTs2REFDeUM7SUEwQmpEO1FBREMsWUFBWSxDQUFDLGVBQWUsQ0FBQzt1REFLN0I7SUFHRDtRQURDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOytEQTRCNUM7SUFHRDtRQURDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztzREFRakM7SUFHRDtRQURDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzhEQVExQztJQXpHUSxtQkFBbUI7UUFIL0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGVBQWU7U0FDNUIsQ0FBQztPQUNXLG1CQUFtQixDQXVNL0I7SUFBRCwwQkFBQztDQUFBLEFBdk1ELElBdU1DO1NBdk1ZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS1uZXN0ZWQvdGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbURhdGEgfSBmcm9tIFwiLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4vdGllcmVkLW1lbnUuZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudVNlcnZpY2UgfSBmcm9tIFwiLi90aWVyZWQtbWVudS5zZXJ2aWNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGllcmVkTWVudV1cIixcbn0pXG5leHBvcnQgY2xhc3MgVGllcmVkTWVudURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gbnVsbDtcbiAgICBwcml2YXRlIF9zaG93VGltZW91dD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9tZW51RGl2RWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2lzTmVzdGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9sYXN0QWN0aXZlRWxlbWVudDogRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90aWVyZWRNZW51RXZlbnRTZXJ2aWNlOiBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90aWVyZWRNZW51U2VydmljZTogVGllcmVkTWVudVNlcnZpY2VcbiAgICApIHsgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWx3YXlzT3BlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHJpZ2dlckV2ZW50OiBcImNsaWNrXCIgfCBcImhvdmVyXCIgPSBcImNsaWNrXCI7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2Uubm9ybWFsaXplRGF0YSh0aGlzLml0ZW1zKTtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXNbMF07XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUV2ZW50cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIHNldFRpbWVvdXQgdG8gY3JlYXRlIHRoZSBtZW51IGFmdGVyIGNyZWF0aW5nIHRoZSBlbGVtZW50cy5cbiAgICAgICAgaWYgKHRoaXMuYWx3YXlzT3Blbikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlTWVudSgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgIHB1YmxpYyBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFsd2F5c09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZW1pdENsb3NlQWxsTWVudXNFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5faXNPcGVuKSByZXR1cm47XG5cbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgXCJFc2NhcGVcIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRDbG9zZUFsbE1lbnVzRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCIgXCI6XG4gICAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRTZWxlY3RJdGVtRXZlbnQodGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93TGVmdFwiOlxuICAgICAgICAgICAgICAgIC8vIFdoZW4gbmVzdGVkIEkgbmVlZCBhIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBpdGVtJ3MgcGFyZW50IGl0ZW0sIG90aGVyd2lzZSBqdXN0IHRoZSBjdXJyZW50IGl0ZW0uXG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5lbWl0Q2xvc2VJdGVtTWVudUV2ZW50KFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc05lc3RlZCA/IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLnBhcmVudCA6IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd1JpZ2h0XCI6XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5lbWl0T3Blbkl0ZW1NZW51RXZlbnQodGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXREZWNyZW1lbnRDdXJyZW50SXRlbUV2ZW50KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiQXJyb3dEb3duXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5lbWl0SW5jcmVtZW50Q3VycmVudEl0ZW1FdmVudCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgICBwdWJsaWMgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09IFwiY2xpY2tcIiAmJiB0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMgJiYgIXRoaXMuX2lzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlTWVudSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgICBwdWJsaWMgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIENsb3NpbmcgbWVudSB3aGVuIGNsaWNrZWQgb3V0c2lkZS5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0YXJnZXQuY2xvc2VzdChcInMtdGllcmVkLW1lbnUtaXRlbVwiKSB8fCB0YXJnZXQuY2xvc2VzdChcInMtdGllcmVkLW1lbnUtZGl2aWRlclwiKTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmVtaXRDbG9zZUFsbE1lbnVzRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgICh0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk/LmJsdXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2lzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9pc05lc3RlZCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggPCA2MDA7XG4gICAgICAgICAgICB0aGlzLl9pc05lc3RlZCA/IHRoaXMuX2NyZWF0ZU5lc3RlZE1lbnUoKSA6IHRoaXMuX2NyZWF0ZVRpZXJlZE1lbnUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVRpZXJlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudUNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpO1xuXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuZGVzdHJveVJlcXVlc3RcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IGRvbUVsZW0ucXVlcnlTZWxlY3RvcihcIi5tZW51XCIpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVOZXN0ZWRNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZiAmJiB0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudUNvbXBvbmVudFByb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIHRoaXMuX21lbnVEaXZFbGVtZW50ID0gZG9tRWxlbS5xdWVyeVNlbGVjdG9yKFwiLm1lbnVcIik7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgIT09IG51bGwgJiYgIXRoaXMuYWx3YXlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5faXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuX2FwcFJlZi5kZXRhY2hWaWV3KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX21lbnVEaXZFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgICAgICh0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk/LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXNbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRNZW51UG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcmlnaHQsIGJvdHRvbSwgbGVmdCB9ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgbWVudVdpZHRoID0gdGhpcy5fbWVudURpdkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICBjb25zdCByaWdodEZyZWVTcGFjZSA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggLSByaWdodDtcblxuICAgICAgICAgICAgY29uc3QgdG9wUG9zaXRpb24gPSBib3R0b20gKyAyO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IHRvcFBvc2l0aW9uO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzTmVzdGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJpZ2h0RnJlZVNwYWNlID4gbWVudVdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IGxlZnQgLSBtZW51V2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBzZXR0aW5nIHRoZSBtYXhpbXVtIG1lbnUgc2l6ZSB0byBlbnN1cmUgaXRzIGNvbnRlbnQgaXMgYWx3YXlzIHZpc2libGUuIDEwcHggbWFyZ2luLlxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5tYXhIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0b3BQb3NpdGlvbiAtIDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0TWVudUNvbXBvbmVudFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLm1hcmtBbGxJdGVtc0FzQ2xvc2VkKHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable, EventEmitter } from '@angular/core';
|
|
3
|
+
var TieredMenuEventService = /** @class */ (function () {
|
|
4
|
+
function TieredMenuEventService() {
|
|
5
|
+
this.incrementCurrentItemEvent = new EventEmitter();
|
|
6
|
+
this.decrementCurrentItemEvent = new EventEmitter();
|
|
7
|
+
this.closeAllMenusEvent = new EventEmitter();
|
|
8
|
+
this.selectItemEvent = new EventEmitter();
|
|
9
|
+
this.openItemMenuEvent = new EventEmitter();
|
|
10
|
+
this.closeItemMenuEvent = new EventEmitter();
|
|
11
|
+
this.createMenuEvent = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
TieredMenuEventService.prototype.emitIncrementCurrentItemEvent = function () {
|
|
14
|
+
this.incrementCurrentItemEvent.emit();
|
|
15
|
+
};
|
|
16
|
+
TieredMenuEventService.prototype.emitDecrementCurrentItemEvent = function () {
|
|
17
|
+
this.decrementCurrentItemEvent.emit();
|
|
18
|
+
};
|
|
19
|
+
TieredMenuEventService.prototype.emitCloseAllMenusEvent = function () {
|
|
20
|
+
this.closeAllMenusEvent.emit();
|
|
21
|
+
};
|
|
22
|
+
TieredMenuEventService.prototype.emitSelectItemEvent = function (item) {
|
|
23
|
+
this.selectItemEvent.emit(item);
|
|
24
|
+
};
|
|
25
|
+
TieredMenuEventService.prototype.emitOpenItemMenuEvent = function (item) {
|
|
26
|
+
this.openItemMenuEvent.emit(item);
|
|
27
|
+
};
|
|
28
|
+
TieredMenuEventService.prototype.emitCloseItemMenuEvent = function (item) {
|
|
29
|
+
this.closeItemMenuEvent.emit(item);
|
|
30
|
+
};
|
|
31
|
+
TieredMenuEventService.prototype.emitCreateMenuEvent = function (item) {
|
|
32
|
+
this.createMenuEvent.emit(item);
|
|
33
|
+
};
|
|
34
|
+
TieredMenuEventService = __decorate([
|
|
35
|
+
Injectable()
|
|
36
|
+
], TieredMenuEventService);
|
|
37
|
+
return TieredMenuEventService;
|
|
38
|
+
}());
|
|
39
|
+
export { TieredMenuEventService };
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpZXJlZC1tZW51L3RpZXJlZC1tZW51LmV2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3pEO0lBQUE7UUFDUyw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLDhCQUF5QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBQ2pFLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBQ25FLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBQ3BFLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7SUE2QjFFLENBQUM7SUEzQlEsOERBQTZCLEdBQXBDO1FBQ0UsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSw4REFBNkIsR0FBcEM7UUFDRSxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLHVEQUFzQixHQUE3QjtRQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sb0RBQW1CLEdBQTFCLFVBQTJCLElBQWdDO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxzREFBcUIsR0FBNUIsVUFBNkIsSUFBZ0M7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sdURBQXNCLEdBQTdCLFVBQThCLElBQWdDO1FBQzVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLG9EQUFtQixHQUExQixVQUEyQixJQUFnQztRQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBbkNVLHNCQUFzQjtRQURsQyxVQUFVLEVBQUU7T0FDQSxzQkFBc0IsQ0FvQ2xDO0lBQUQsNkJBQUM7Q0FBQSxBQXBDRCxJQW9DQztTQXBDWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEgfSBmcm9tICcuL21vZGVscy90aWVyZWQtbWVudS1pdGVtLWludGVybmFsLWRhdGEnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGllcmVkTWVudUV2ZW50U2VydmljZSB7XG4gIHB1YmxpYyBpbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwdWJsaWMgZGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHVibGljIGNsb3NlQWxsTWVudXNFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHVibGljIHNlbGVjdEl0ZW1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGE+KCk7XG4gIHB1YmxpYyBvcGVuSXRlbU1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGE+KCk7XG4gIHB1YmxpYyBjbG9zZUl0ZW1NZW51RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhPigpO1xuICBwdWJsaWMgY3JlYXRlTWVudUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YT4oKTtcblxuICBwdWJsaWMgZW1pdEluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5pbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0RGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmRlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVtaXRDbG9zZUFsbE1lbnVzRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVtaXRTZWxlY3RJdGVtRXZlbnQoaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEl0ZW1FdmVudC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIGVtaXRPcGVuSXRlbU1lbnVFdmVudChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSk6IHZvaWQge1xuICAgIHRoaXMub3Blbkl0ZW1NZW51RXZlbnQuZW1pdChpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Q2xvc2VJdGVtTWVudUV2ZW50KGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUl0ZW1NZW51RXZlbnQuZW1pdChpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Q3JlYXRlTWVudUV2ZW50KGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVNZW51RXZlbnQuZW1pdChpdGVtKTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { BrowserModule } from "@angular/platform-browser";
|
|
5
|
+
import { TieredMenuDirective } from "./tiered-menu.directive";
|
|
6
|
+
import { TieredMenuComponent } from "./components/tiered-menu/tiered-menu.component";
|
|
7
|
+
import { TieredMenuNestedComponent } from "./components/tiered-menu-nested/tiered-menu-nested.component";
|
|
8
|
+
import { TieredMenuItemComponent } from "./components/tiered-menu-item/tiered-menu-item.component";
|
|
9
|
+
import { TieredMenuDividerComponent } from "./components/tiered-menu-divider/tiered-menu-divider.component";
|
|
10
|
+
import { TieredMenuEventService } from "./tiered-menu.event.service";
|
|
11
|
+
import { TieredMenuService } from "./tiered-menu.service";
|
|
12
|
+
var TieredMenuModule = /** @class */ (function () {
|
|
13
|
+
function TieredMenuModule() {
|
|
14
|
+
}
|
|
15
|
+
TieredMenuModule = __decorate([
|
|
16
|
+
NgModule({
|
|
17
|
+
imports: [
|
|
18
|
+
CommonModule,
|
|
19
|
+
BrowserModule,
|
|
20
|
+
],
|
|
21
|
+
declarations: [
|
|
22
|
+
TieredMenuDirective,
|
|
23
|
+
TieredMenuComponent,
|
|
24
|
+
TieredMenuNestedComponent,
|
|
25
|
+
TieredMenuItemComponent,
|
|
26
|
+
TieredMenuDividerComponent,
|
|
27
|
+
],
|
|
28
|
+
exports: [TieredMenuDirective],
|
|
29
|
+
providers: [
|
|
30
|
+
TieredMenuEventService,
|
|
31
|
+
TieredMenuService,
|
|
32
|
+
],
|
|
33
|
+
})
|
|
34
|
+
], TieredMenuModule);
|
|
35
|
+
return TieredMenuModule;
|
|
36
|
+
}());
|
|
37
|
+
export { TieredMenuModule };
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFvQjFEO0lBQUE7SUFBZ0MsQ0FBQztJQUFwQixnQkFBZ0I7UUFsQjVCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLGFBQWE7YUFDaEI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1YsbUJBQW1CO2dCQUNuQixtQkFBbUI7Z0JBQ25CLHlCQUF5QjtnQkFDekIsdUJBQXVCO2dCQUN2QiwwQkFBMEI7YUFDN0I7WUFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixTQUFTLEVBQUU7Z0JBQ1Asc0JBQXNCO2dCQUN0QixpQkFBaUI7YUFDcEI7U0FDSixDQUFDO09BQ1csZ0JBQWdCLENBQUk7SUFBRCx1QkFBQztDQUFBLEFBQWpDLElBQWlDO1NBQXBCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51RGlyZWN0aXZlIH0gZnJvbSBcIi4vdGllcmVkLW1lbnUuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LW5lc3RlZC90aWVyZWQtbWVudS1uZXN0ZWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGllcmVkLW1lbnUtaXRlbS90aWVyZWQtbWVudS1pdGVtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGllcmVkTWVudURpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RpZXJlZC1tZW51LWRpdmlkZXIvdGllcmVkLW1lbnUtZGl2aWRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51U2VydmljZSB9IGZyb20gXCIuL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQnJvd3Nlck1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUaWVyZWRNZW51RGlyZWN0aXZlLFxuICAgICAgICBUaWVyZWRNZW51Q29tcG9uZW50LFxuICAgICAgICBUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50LFxuICAgICAgICBUaWVyZWRNZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgVGllcmVkTWVudURpdmlkZXJDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbVGllcmVkTWVudURpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgICAgIFRpZXJlZE1lbnVTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVNb2R1bGUgeyB9XG4iXX0=
|