@datarailsshared/datarailsshared 1.3.17 → 1.3.20
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/datarailsshared-datarailsshared.umd.js +76 -21
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.3.20.tgz +0 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +2 -1
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +1 -1
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +6 -4
- package/esm2015/lib/dr-popover/dr-popover.component.js +12 -2
- package/esm2015/lib/dr-popover/dr-popover.directive.js +3 -1
- package/esm2015/lib/dr-popover/dr-popover.service.js +31 -5
- package/esm2015/lib/dr-tags/dr-tag.component.js +2 -2
- package/esm2015/lib/models/constants.js +3 -3
- package/esm2015/lib/models/popover.js +15 -1
- package/esm2015/public-api.js +2 -2
- package/fesm2015/datarailsshared-datarailsshared.js +74 -22
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +2 -1
- package/lib/dr-popover/dr-popover.component.d.ts +6 -1
- package/lib/dr-popover/dr-popover.directive.d.ts +2 -1
- package/lib/dr-popover/dr-popover.service.d.ts +2 -1
- package/lib/models/popover.d.ts +7 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/datarailsshared-datarailsshared-1.3.17.tgz +0 -0
|
@@ -35,6 +35,7 @@ export class YearTagComponent extends AnyTagComponent {
|
|
|
35
35
|
initDate() {
|
|
36
36
|
if (this.defaultValue) {
|
|
37
37
|
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY");
|
|
38
|
+
this.date = new FormControl(moment(this.defaultValue * 1000));
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
41
|
this.dateObj.date = moment(new Date()).format("YYYY");
|
|
@@ -89,4 +90,4 @@ YearTagComponent.propDecorators = {
|
|
|
89
90
|
lockedDate: [{ type: Input }]
|
|
90
91
|
};
|
|
91
92
|
export { ɵ0 };
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3llYXItdGFnL3llYXItdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDcEcsYUFBYTtBQUNiLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQyxNQUFNLFlBQVksR0FBRztJQUNuQixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsTUFBTTtLQUNsQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO1dBVzBDLFlBQVk7QUFJeEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFLbkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUxELGVBQVUsR0FBVSxFQUFFLENBQUM7UUFFaEMsU0FBSSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFpRGpDLGVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElB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LEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7OztZQS9ERixTQUFTLFNBQUM7Z0JBQ1AsZ3JCQUFzQztnQkFDdEMsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsV0FBVzt3QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjt3QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3FCQUN6RDtvQkFDRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLElBQWMsRUFBQztpQkFDcEQ7YUFDSjs7Ozt5QkFHRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge01hdERhdGVwaWNrZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XHJcbmltcG9ydCB7TW9tZW50fSBmcm9tIFwibW9tZW50XCI7XHJcbmltcG9ydCB7SURhdGVUYWd9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmVyVGFnc1wiO1xyXG5pbXBvcnQge0FueVRhZ0NvbXBvbmVudH0gZnJvbSBcIi4uL2RhdGUtdGFnLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7TUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgTW9tZW50RGF0ZUFkYXB0ZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlclwiO1xyXG4vLyBAdHMtaWdub3JlXHJcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XHJcblxyXG5jb25zdCBZRUFSX0ZPUk1BVFMgPSB7XHJcbiAgcGFyc2U6IHtcclxuICAgIGRhdGVJbnB1dDogXCJZWVlZXCIsXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6IFwiWVlZWVwiLFxyXG4gICAgbW9udGhZZWFyTGFiZWw6IFwiTU1NTSBZWVlZXCIsXHJcbiAgICBkYXRlQTExeUxhYmVsOiBcIkxMXCIsXHJcbiAgICBtb250aFllYXJBMTF5TGFiZWw6IFwiTU1NTSBZWVlZXCJcclxuICB9LFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZVVybDogXCJ5ZWFyLXRhZy5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc2VsZWN0b3I6IFwieWVhci10YWdcIixcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXHJcbiAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxyXG4gICAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxyXG4gICAgICB9LFxyXG4gICAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IFlFQVJfRk9STUFUU30sXHJcbiAgICBdLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFllYXJUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGxvY2tlZERhdGU6IGFueVtdID0gW107XHJcblxyXG4gIGRhdGUgPSBuZXcgRm9ybUNvbnRyb2wobW9tZW50KCkpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBpbml0RGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLmRlZmF1bHRWYWx1ZSAqIDEwMDApKS51dGMoKS5mb3JtYXQoXCJZWVlZXCIpO1xyXG4gICAgICB0aGlzLmRhdGUgPSBuZXcgRm9ybUNvbnRyb2wobW9tZW50KHRoaXMuZGVmYXVsdFZhbHVlICogMTAwMCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KFwiWVlZWVwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXROYW1lKCkge1xyXG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhpcy5uYW1lID0gXCJZZWFyXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBjb25zdCB5ZWFyID0gbW9tZW50KHZhbHVlKS55ZWFyKCk7XHJcbiAgICAgIGRhdGUuc2V0VGltZSgwKTtcclxuICAgICAgZGF0ZS5zZXRGdWxsWWVhcih5ZWFyLCAwLCAxKTtcclxuICAgICAgY29uc3QgcmVzdWx0RGF0ZTogTW9tZW50ID0gbW9tZW50LnV0YyhkYXRlKTtcclxuICAgICAgcmVzdWx0RGF0ZS5ob3VyKDEyKTtcclxuICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgICAgIHZhbHVlOiBwYXJzZUludChyZXN1bHREYXRlLmZvcm1hdChcIlhcIiksIDEwKSxcclxuICAgICAgICAgIGxhYmVsOiByZXN1bHREYXRlLmZvcm1hdChcIllZWVlcIiksXHJcbiAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIodmFsdWUpXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnNvbGUubG9nKFwicmVzdWx0VGFnXCIsIHJlc3VsdFRhZyk7XHJcbiAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XHJcbiAgfVxyXG5cclxuICBjaG9zZW5ZZWFySGFuZGxlcihub3JtYWxpemVkWWVhcjogTW9tZW50LCBkYXRlcGlja2VyOiBNYXREYXRlcGlja2VyPE1vbWVudD4pIHtcclxuICAgIGNvbnN0IGN0cmxWYWx1ZSA9IHRoaXMuZGF0ZS52YWx1ZTtcclxuICAgIGN0cmxWYWx1ZS55ZWFyKG5vcm1hbGl6ZWRZZWFyLnllYXIoKSk7XHJcblxyXG4gICAgdGhpcy5kYXRlLnNldFZhbHVlKGN0cmxWYWx1ZSk7XHJcbiAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IHRoaXMuZGF0ZS52YWx1ZTtcclxuICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcih0aGlzLmRhdGUudmFsdWUpO1xyXG5cclxuICAgIGRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGRhdGVGaWx0ZXIgPSAoZGF0ZSkgPT4ge1xyXG4gICAgY29uc3QgY2FsZW5kYXJEYXRlWWVhciA9IG1vbWVudChkYXRlKS55ZWFyKCk7XHJcbiAgICBsZXQgc3RhdHVzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmxvY2tlZERhdGUuZm9yRWFjaCh0aW1lc3RhbXAgPT4ge1xyXG4gICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XHJcblxyXG4gICAgICByZXR1cm4gc3RhdHVzID0gIShsb2NrRGF0ZS55ZWFyKCkgPT09IGNhbGVuZGFyRGF0ZVllYXIpXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gc3RhdHVzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -86,7 +86,7 @@ DrDropdownComponent.decorators = [
|
|
|
86
86
|
selector: 'dr-dropdown',
|
|
87
87
|
template: "<div #menuContainer\r\n (clickOutside)=\"onClickedOutside()\"\r\n [drDropdownPosition]=\"option\"\r\n [position]=\"position\"\r\n class=\"dr-dropdown\">\r\n <div class=\"dr-dropdown__container\">\r\n <div *ngFor=\"let act of list | drDropdownItemShowPipe\"\r\n (click)=\"action(act)\"\r\n [drTooltip]=\"tooltipToShow(act)\"\r\n [drTooltipPosition]=\"'top'\"\r\n [drTooltipOptions]=\"{ withoutArrow: true }\"\r\n class=\"dr-dropdown__container__item\"\r\n [class.item-disabled]=\"disabled(act)\"\r\n [class.item-selected]=\"selected(act)\">\r\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\r\n <span class=\"dr-dropdown__container__item__text\">{{act.title}}</span>\r\n <i *ngFor=\"let actionIcon of act.actionIcons\"\r\n [class]=\"actionIcon.icon\"\r\n [class.showOnHover]=\"actionIcon.showOnHover\"\r\n (click)=\"onActionIconClick($event, actionIcon, act.data)\"></i>\r\n <i *ngIf=\"act.children?.length\" class=\"dr-icon-arrow-right\"></i>\r\n <dr-dropdown *ngIf=\"act.children?.length\" [options]=\"act.childOptions\"></dr-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
88
88
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
89
|
-
styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden}::ng-deep .dr-dropdown__container__item:hover .dr-dropdown{visibility:visible}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item:hover{background-color:#f6f7f8}.dr-dropdown__container__item:hover .showOnHover{visibility:visible}.dr-dropdown__container__item.item-selected{background:#F3F7FF}.dr-dropdown__container__item.item-disabled{color:#bcbcbc;pointer-events:none}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown__container__item .showOnHover{visibility:hidden}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"]
|
|
89
|
+
styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden}::ng-deep .dr-dropdown__container__item:hover .dr-dropdown{visibility:visible}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item:hover{background-color:#f6f7f8}.dr-dropdown__container__item:hover .showOnHover{visibility:visible}.dr-dropdown__container__item.item-selected{background:#F3F7FF}.dr-dropdown__container__item.item-disabled{color:#bcbcbc;pointer-events:none}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown__container__item .showOnHover{visibility:hidden}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"]
|
|
90
90
|
},] }
|
|
91
91
|
];
|
|
92
92
|
DrDropdownComponent.ctorParameters = () => [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ContentChild, Input } from '@angular/core';
|
|
1
|
+
import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
export class DrSelectComponent {
|
|
4
4
|
constructor() {
|
|
@@ -6,6 +6,7 @@ export class DrSelectComponent {
|
|
|
6
6
|
this.appendTo = 'body';
|
|
7
7
|
this.disabled = false;
|
|
8
8
|
this.keyDownFn = () => true;
|
|
9
|
+
this.change = new EventEmitter();
|
|
9
10
|
this.onChange = () => { };
|
|
10
11
|
this.onTouched = () => { };
|
|
11
12
|
}
|
|
@@ -29,13 +30,13 @@ export class DrSelectComponent {
|
|
|
29
30
|
DrSelectComponent.decorators = [
|
|
30
31
|
{ type: Component, args: [{
|
|
31
32
|
selector: 'dr-select',
|
|
32
|
-
template: " <ng-select [(ngModel)]=\"selectedItem\"\r\n [items]=\"items\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [multiple]=\"multiple\"\r\n [addTag]=\"addTag\"\r\n [appendTo]=\"appendTo\"\r\n [clearable]=\"clearable\"\r\n [searchable]=\"searchable\"\r\n [hideSelected]=\"hideSelected\"\r\n [placeholder]=\"placeholder\"\r\n [loading]=\"loading\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [keyDownFn]=\"keyDownFn\"\r\n [searchFn]=\"searchFn\"\r\n (change)=\"onChange(selectedItem)\"\r\n class=\"dr-select\">\r\n <ng-template *ngIf=\"optionHeaderTemplate\" ng-header-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionHeaderTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"labelTemplate\" ng-label-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"optionTemplate\" ng-option-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n </ng-select>\r\n",
|
|
33
|
+
template: " <ng-select [(ngModel)]=\"selectedItem\"\r\n [items]=\"items\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [multiple]=\"multiple\"\r\n [addTag]=\"addTag\"\r\n [appendTo]=\"appendTo\"\r\n [clearable]=\"clearable\"\r\n [searchable]=\"searchable\"\r\n [hideSelected]=\"hideSelected\"\r\n [placeholder]=\"placeholder\"\r\n [loading]=\"loading\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [keyDownFn]=\"keyDownFn\"\r\n [searchFn]=\"searchFn\"\r\n (change)=\"change.emit(selectedItem); onChange(selectedItem)\"\r\n class=\"dr-select\">\r\n <ng-template *ngIf=\"optionHeaderTemplate\" ng-header-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionHeaderTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"labelTemplate\" ng-label-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"optionTemplate\" ng-option-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n </ng-select>\r\n",
|
|
33
34
|
providers: [{
|
|
34
35
|
provide: NG_VALUE_ACCESSOR,
|
|
35
36
|
useExisting: DrSelectComponent,
|
|
36
37
|
multi: true
|
|
37
38
|
}],
|
|
38
|
-
styles: [":host{width:100%;height:32px}:host ::ng-deep ng-select.ng-select .ng-select-container{min-height:32px;height:32px;width:100%;border-radius:6px!important;border:1px solid #C3C4CE;box-shadow:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container:hover{border-color:#85889c}:host ::ng-deep ng-select.ng-select .ng-select-container:focus-within{border-color:#21b8f1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input{top:0!important;line-height:30px;padding:0 50px 0 8px!important;color:#151b3f;font-size:14px;font-weight:400}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0 0 0 8px;height:100%;overflow:auto}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-value{line-height:1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-input{padding:0 0 0 3px!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container{max-height:58px;height:100%}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:58px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{color:#151a41;height:24px;padding:2px 8px;font-size:12px;margin:2px 2px 2px 0;background:#E5E6EA;display:flex;flex-direction:row-reverse;align-items:center;border-radius:12px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-label{line-height:20px;padding:0!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon{border:none!important;padding:0 0 0 9px!important;color:#51566f;font-size:16px;font-weight:bold}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon,:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:hover{background:transparent!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#E5E6EA!important;border:1px solid #E5E6EA!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#bcbcbc!important}:host ::ng-deep ng-select.ng-select.ng-select-single.ng-invalid.ng-touched .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-multiple.ng-invalid.ng-touched .ng-select-container{border-color:#de2833}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select{border:1px solid #DBDEE3;border-radius:6px!important;margin-top:8px!important;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:empty{display:none}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option{display:flex;align-items:center;min-height:36px;padding:10px 12px}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background:#F3F7FF;color:#151b3f}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected span,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked span{font-weight:normal!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked:hover{background:#F6F7F8}\n"]
|
|
39
|
+
styles: [":host{width:100%;height:32px}:host ::ng-deep ng-select.ng-select .ng-select-container{min-height:32px;height:32px;width:100%;border-radius:6px!important;border:1px solid #C3C4CE;box-shadow:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container:hover{border-color:#85889c}:host ::ng-deep ng-select.ng-select .ng-select-container:focus-within{border-color:#21b8f1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input{top:0!important;line-height:30px;padding:0 50px 0 8px!important;color:#151b3f;font-size:14px;font-weight:400}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0 0 0 8px;height:100%;overflow:auto}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-value{line-height:1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-input{padding:0 0 0 3px!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container{max-height:58px;height:100%}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:58px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{color:#151a41;height:24px;padding:2px 8px;font-size:12px;margin:2px 2px 2px 0;background:#E5E6EA;display:flex;flex-direction:row-reverse;align-items:center;border-radius:12px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-label{line-height:20px;padding:0!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon{border:none!important;padding:0 0 0 9px!important;color:#51566f;font-size:16px;font-weight:bold}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon,:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:hover{background:transparent!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#E5E6EA!important;border:1px solid #E5E6EA!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#bcbcbc!important}:host ::ng-deep ng-select.ng-select.ng-select-single.ng-invalid.ng-touched .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-multiple.ng-invalid.ng-touched .ng-select-container{border-color:#de2833}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select{border:1px solid #DBDEE3;border-radius:6px!important;margin-top:8px!important;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:empty{display:none}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option{display:flex;align-items:center;min-height:36px;padding:10px 12px}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option>.ng-option-label{text-overflow:ellipsis;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background:#F3F7FF;color:#151b3f}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected span,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked span{font-weight:normal!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked:hover{background:#F6F7F8}\n"]
|
|
39
40
|
},] }
|
|
40
41
|
];
|
|
41
42
|
DrSelectComponent.propDecorators = {
|
|
@@ -57,8 +58,9 @@ DrSelectComponent.propDecorators = {
|
|
|
57
58
|
id: [{ type: Input }],
|
|
58
59
|
keyDownFn: [{ type: Input }],
|
|
59
60
|
selectedItem: [{ type: Input }],
|
|
61
|
+
change: [{ type: Output }],
|
|
60
62
|
labelTemplate: [{ type: ContentChild, args: ['labelTemplate',] }],
|
|
61
63
|
optionTemplate: [{ type: ContentChild, args: ['optionTemplate',] }],
|
|
62
64
|
optionHeaderTemplate: [{ type: ContentChild, args: ['optionHeaderTemplate',] }]
|
|
63
65
|
};
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZekUsTUFBTSxPQUFPLGlCQUFpQjtJQVY5QjtRQWFhLFVBQUssR0FBZSxFQUFFLENBQUM7UUFFdkIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQVdsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQVMsR0FBdUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRTFELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU05RCxhQUFRLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBc0JyQyxDQUFDO0lBcEJHLFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQzs7O1lBMURKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsV0FBVztnQkFDckIsczlDQUF5QztnQkFFekMsU0FBUyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLGlCQUFpQjt3QkFDOUIsS0FBSyxFQUFFLElBQUk7cUJBQ2QsQ0FBQzs7YUFDTDs7O3dCQUdJLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO2lCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3FCQUNMLE1BQU07NEJBRU4sWUFBWSxTQUFDLGVBQWU7NkJBQzVCLFlBQVksU0FBQyxnQkFBZ0I7bUNBQzdCLFlBQVksU0FBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHItc2VsZWN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IERyU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KCkgYWRkVGFnOiBib29sZWFuIHwgKCh0ZXJtOiBzdHJpbmcpID0+IGFueSB8IFByb21pc2U8YW55Pik7XHJcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcclxuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2VhcmNoRm46ICh0ZXJtOiBzdHJpbmcsIGl0ZW06IGFueSkgPT4gYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVNlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkga2V5RG93bkZuOiAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gICAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvblRlbXBsYXRlJykgb3B0aW9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG5cclxuICAgICAgICBpZiAoZm4gJiYgdGhpcy5zZWxlY3RlZEl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, HostListener, Input, TemplateRef, ViewChild, ViewContainerRef, ChangeDetectionStrategy } from '@angular/core';
|
|
1
|
+
import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, HostListener, Input, TemplateRef, ViewChild, ViewContainerRef, ChangeDetectionStrategy, HostBinding, } from '@angular/core';
|
|
2
2
|
import { trigger } from '@angular/animations';
|
|
3
3
|
import { POPUP_ANIMATION } from '../models/constants';
|
|
4
4
|
import { DrPopoverRef } from './dr-popover-ref';
|
|
5
|
+
import { getAlignmentDimension } from '../models/popover';
|
|
5
6
|
export class DrPopoverComponent {
|
|
6
7
|
constructor(cdr, componentFactoryResolver, viewContainerRef, elementRef, popoverRef) {
|
|
7
8
|
this.cdr = cdr;
|
|
@@ -11,6 +12,7 @@ export class DrPopoverComponent {
|
|
|
11
12
|
this.popoverRef = popoverRef;
|
|
12
13
|
this.class = '';
|
|
13
14
|
this.isContentTemplate = false;
|
|
15
|
+
this.popover = true;
|
|
14
16
|
}
|
|
15
17
|
clickOutside(e) {
|
|
16
18
|
const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
|
|
@@ -34,6 +36,9 @@ export class DrPopoverComponent {
|
|
|
34
36
|
Object.assign(this.componentRef.instance, this.contentContext);
|
|
35
37
|
this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);
|
|
36
38
|
}
|
|
39
|
+
if (this.alignment === 'host') {
|
|
40
|
+
this[getAlignmentDimension(this.position)] = '100%';
|
|
41
|
+
}
|
|
37
42
|
this.cdr.detectChanges();
|
|
38
43
|
}
|
|
39
44
|
}
|
|
@@ -61,7 +66,12 @@ DrPopoverComponent.propDecorators = {
|
|
|
61
66
|
class: [{ type: Input }],
|
|
62
67
|
hostRef: [{ type: Input }],
|
|
63
68
|
manualClosing: [{ type: Input }],
|
|
69
|
+
alignment: [{ type: Input }],
|
|
70
|
+
position: [{ type: Input }],
|
|
64
71
|
popoverContainer: [{ type: ViewChild, args: ['popoverContainer', { read: ElementRef, static: true },] }],
|
|
72
|
+
width: [{ type: HostBinding, args: ['style.width',] }],
|
|
73
|
+
height: [{ type: HostBinding, args: ['style.height',] }],
|
|
74
|
+
popover: [{ type: HostBinding, args: ['@popover',] }],
|
|
65
75
|
clickOutside: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
|
|
66
76
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxXQUFXLEVBRVgsU0FBUyxFQUNULGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBb0QscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVc1RyxNQUFNLE9BQU8sa0JBQWtCO0lBc0M3QixZQUNVLEdBQXNCLEVBQ3RCLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsVUFBMkI7UUFKM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUF2QzVCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFPcEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTU0sWUFBTyxHQUFHLElBQUksQ0FBQztJQTJCM0MsQ0FBQztJQXhCTCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQTZCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZLLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsWUFBWTtlQUNWLENBQUMsaUJBQWlCO2VBQ2xCLENBQUMsb0JBQW9CO2VBQ3JCLENBQUMsZ0JBQWdCO2VBQ2pCLENBQUMsMkJBQTJCO2VBQzVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQzlCO1lBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFVRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO1FBRTdELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDckQ7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQXBFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGlRQUEwQztnQkFFMUMsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO2lCQUNwQztnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTVCQyxpQkFBaUI7WUFFakIsd0JBQXdCO1lBUXhCLGdCQUFnQjtZQU5oQixVQUFVO1lBYUgsWUFBWTs7O3NCQWNsQixLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLOzRCQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOytCQUVMLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtvQkFJaEUsV0FBVyxTQUFDLGFBQWE7cUJBQ3pCLFdBQVcsU0FBQyxjQUFjO3NCQUUxQixXQUFXLFNBQUMsVUFBVTsyQkFFdEIsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIE9uSW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBIb3N0QmluZGluZyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBQT1BVUF9BTklNQVRJT04gfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XHJcbmltcG9ydCB7IElQb3BvdmVyTWFudWFsQ2xvc2luZywgUG9pbnQsIERyUG9wb3ZlckFsaWdubWVudCwgZ2V0QWxpZ25tZW50RGltZW5zaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1wb3BvdmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHItcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3BvcG92ZXInLCBQT1BVUF9BTklNQVRJT04pLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcclxuICBASW5wdXQoKSBjb250ZW50Q29udGV4dDogYW55O1xyXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgaG9zdFJlZjogRWxlbWVudFJlZjx1bmtub3duPiB8IEhUTUxFbGVtZW50IHwgUG9pbnQ7XHJcbiAgQElucHV0KCkgbWFudWFsQ2xvc2luZzogSVBvcG92ZXJNYW51YWxDbG9zaW5nO1xyXG4gIEBJbnB1dCgpIGFsaWdubWVudDogRHJQb3BvdmVyQWxpZ25tZW50O1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwb3BvdmVyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBpc0NvbnRlbnRUZW1wbGF0ZSA9IGZhbHNlO1xyXG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+O1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgd2lkdGg6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDogc3RyaW5nO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ0Bwb3BvdmVyJykgcHVibGljIHBvcG92ZXIgPSB0cnVlO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBjbGlja091dHNpZGUoZSk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNUYXJnZXRIb3N0ID0gdGhpcy5ob3N0UmVmIGluc3RhbmNlb2YgRWxlbWVudFJlZiAmJiAodGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQgPT09IGUudGFyZ2V0IHx8ICh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZS50YXJnZXQpKTtcclxuICAgIGNvbnN0IGlzVGFyZ2V0SW5Qb3BvdmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJbkRhdGVwaWNrZXIgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1wb3B1cCcpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJblNlbGVjdCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XHJcbiAgICBjb25zdCBpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnQgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1jb250ZW50Jyk7XHJcblxyXG4gICAgaWYgKCFpc1RhcmdldEhvc3RcclxuICAgICAgICAmJiAhaXNUYXJnZXRJblBvcG92ZXJcclxuICAgICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJcclxuICAgICAgICAmJiAhaXNUYXJnZXRJblNlbGVjdFxyXG4gICAgICAgICYmICFpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnRcclxuICAgICAgICAmJiAhdGhpcy5tYW51YWxDbG9zaW5nLmVuYWJsZWRcclxuICAgICAgKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQ29udGVudFRlbXBsYXRlID0gdGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbnRlbnQgYXMgVHlwZTxUPikpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLmNvbnRlbnRDb250ZXh0KTtcclxuICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hbGlnbm1lbnQgPT09ICdob3N0Jykge1xyXG4gICAgICB0aGlzW2dldEFsaWdubWVudERpbWVuc2lvbih0aGlzLnBvc2l0aW9uKV0gPSAnMTAwJSc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -36,6 +36,7 @@ export class DrPopoverDirective {
|
|
|
36
36
|
manualClosing: this.manualClosing,
|
|
37
37
|
position: this.position,
|
|
38
38
|
contentContext: this.contentContext,
|
|
39
|
+
alignment: this.alignment,
|
|
39
40
|
});
|
|
40
41
|
popoverRef.onClose.pipe(first()).subscribe((res) => {
|
|
41
42
|
this.closePopover();
|
|
@@ -63,8 +64,9 @@ DrPopoverDirective.propDecorators = {
|
|
|
63
64
|
class: [{ type: Input, args: ['drPopoverClass',] }],
|
|
64
65
|
overlayConfig: [{ type: Input, args: ['drPopoverOverlayConfig',] }],
|
|
65
66
|
manualClosing: [{ type: Input, args: ['drPopoverManualClosing',] }],
|
|
67
|
+
alignment: [{ type: Input, args: ['drPopoverAlignment',] }],
|
|
66
68
|
popoverClose: [{ type: Output, args: ['drPopoverClose',] }],
|
|
67
69
|
showStateChange: [{ type: Output, args: ['drPopoverShowStateChange',] }],
|
|
68
70
|
togglePopover: [{ type: HostListener, args: ['click',] }]
|
|
69
71
|
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFBb0IsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5CM0IsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFlLFFBQVEsQ0FBQztRQUVuQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRVgsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBRWxDLGtCQUFhLEdBQTBCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBSWpFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBTTNGLENBQUM7SUFHTCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsR0FBUztRQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTthQUN4Qjs7O1lBbEJDLFVBQVU7WUFhSCxnQkFBZ0I7OztzQkFRdEIsS0FBSyxTQUFDLFdBQVc7NkJBRWpCLEtBQUssU0FBQyxrQkFBa0I7dUJBRXhCLEtBQUssU0FBQyxtQkFBbUI7b0JBRXpCLEtBQUssU0FBQyxnQkFBZ0I7NEJBRXRCLEtBQUssU0FBQyx3QkFBd0I7NEJBRTlCLEtBQUssU0FBQyx3QkFBd0I7d0JBRTlCLEtBQUssU0FBQyxvQkFBb0I7MkJBRTFCLE1BQU0sU0FBQyxnQkFBZ0I7OEJBRXZCLE1BQU0sU0FBQywwQkFBMEI7NEJBUWpDLFlBQVksU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVsUG9zaXRpb24gfSBmcm9tICcuLy4uL21vZGVscy9kcm9wZG93bic7XHJcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4vZHItcG9wb3Zlci1yZWYnO1xyXG5pbXBvcnQgeyBEclBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi9kci1wb3BvdmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJUG9wb3Zlck1hbnVhbENsb3NpbmcsIERyUG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RyUG9wb3Zlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kgIHtcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXInKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJDb250ZXh0JykgY29udGVudENvbnRleHQ6IE9iamVjdCA9IHt9O1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlclBvc2l0aW9uJykgcG9zaXRpb246IEVsUG9zaXRpb24gPSAnYm90dG9tJztcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJDbGFzcycpIGNsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJPdmVybGF5Q29uZmlnJykgb3ZlcmxheUNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHt9O1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3Zlck1hbnVhbENsb3NpbmcnKSBtYW51YWxDbG9zaW5nOiBJUG9wb3Zlck1hbnVhbENsb3NpbmcgPSB7IGVuYWJsZWQ6IGZhbHNlIH07XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyQWxpZ25tZW50JykgYWxpZ25tZW50OiBEclBvcG92ZXJBbGlnbm1lbnQ7XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlckNsb3NlJykgcG9wb3ZlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlclNob3dTdGF0ZUNoYW5nZScpIHNob3dTdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpc1Nob3duOiBib29sZWFuIH0+KCk7XHJcblxyXG4gIHByaXZhdGUgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkclBvcG92ZXJTZXJ2aWNlOiBEclBvcG92ZXJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICB0b2dnbGVQb3BvdmVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJQb3BvdmVyKCk7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXRlQ2hhbmdlLmVtaXQoeyBpc1Nob3duOiAhIXRoaXMucG9wb3ZlclJlZiB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlUG9wb3ZlcihyZXM/OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcclxuICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKHJlcyk7XHJcbiAgICAgIHRoaXMucG9wb3ZlclJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlclBvcG92ZXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5kclBvcG92ZXJTZXJ2aWNlLm9wZW4odGhpcy5jb250ZW50LCB7XHJcbiAgICAgIGhvc3RSZWY6IHRoaXMuZWxlbWVudFJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzogdGhpcy5vdmVybGF5Q29uZmlnLFxyXG4gICAgICBjbGFzczogdGhpcy5jbGFzcyxcclxuICAgICAgbWFudWFsQ2xvc2luZzogdGhpcy5tYW51YWxDbG9zaW5nLFxyXG4gICAgICBwb3NpdGlvbjogdGhpcy5wb3NpdGlvbixcclxuICAgICAgY29udGVudENvbnRleHQ6IHRoaXMuY29udGVudENvbnRleHQsXHJcbiAgICAgIGFsaWdubWVudDogdGhpcy5hbGlnbm1lbnQsXHJcbiAgICB9KTtcclxuXHJcbiAgICBwb3BvdmVyUmVmLm9uQ2xvc2UucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgICB0aGlzLnBvcG92ZXJDbG9zZS5lbWl0KHJlcyk7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXRlQ2hhbmdlLmVtaXQoeyBpc1Nob3duOiAhIXRoaXMucG9wb3ZlclJlZiB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { first } from 'rxjs/operators';
|
|
1
2
|
import { DrPopoverRef } from './dr-popover-ref';
|
|
2
3
|
import { DrPopoverComponent } from './dr-popover.component';
|
|
3
4
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
5
|
import { Injectable, Injector } from '@angular/core';
|
|
5
6
|
import { Overlay, OverlayConfig, OverlayPositionBuilder } from '@angular/cdk/overlay';
|
|
6
7
|
import { POPUP_POSITIONS } from '../models/constants';
|
|
7
|
-
import { DEFAULT_CONFIG, DEFAULT_MODEL } from '../models/popover';
|
|
8
|
+
import { DEFAULT_CONFIG, DEFAULT_MODEL, getAlignmentDimension } from '../models/popover';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@angular/cdk/overlay";
|
|
10
11
|
export class DrPopoverService {
|
|
@@ -20,10 +21,10 @@ export class DrPopoverService {
|
|
|
20
21
|
const overlayRef = this.createOverlay(model);
|
|
21
22
|
const popoverRef = new DrPopoverRef(overlayRef);
|
|
22
23
|
this.attachOverlayContainer(content, model, overlayRef, popoverRef);
|
|
23
|
-
this.
|
|
24
|
+
this.registerListeners(model, overlayRef, popoverRef);
|
|
24
25
|
return popoverRef;
|
|
25
26
|
}
|
|
26
|
-
attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef }, overlayRef, popoverRef) {
|
|
27
|
+
attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef, alignment }, overlayRef, popoverRef) {
|
|
27
28
|
const componentPortal = new ComponentPortal(DrPopoverComponent, null, this.createInjector(popoverRef));
|
|
28
29
|
const contentRef = overlayRef.attach(componentPortal);
|
|
29
30
|
popoverRef.componentRef = contentRef;
|
|
@@ -32,17 +33,26 @@ export class DrPopoverService {
|
|
|
32
33
|
contentRef.instance.class = elementClass + ' ' + position;
|
|
33
34
|
contentRef.instance.manualClosing = manualClosing;
|
|
34
35
|
contentRef.instance.hostRef = hostRef;
|
|
36
|
+
contentRef.instance.alignment = alignment;
|
|
37
|
+
contentRef.instance.position = position;
|
|
35
38
|
}
|
|
36
39
|
createOverlay(popoverModel) {
|
|
37
40
|
const overlayConfig = this.getOverlayConfig(popoverModel);
|
|
38
41
|
return this.overlay.create(overlayConfig);
|
|
39
42
|
}
|
|
40
43
|
getOverlayConfig(popoverModel) {
|
|
44
|
+
if (!POPUP_POSITIONS[popoverModel.position])
|
|
45
|
+
throw new Error(`DrPopover does not support the '${popoverModel === null || popoverModel === void 0 ? void 0 : popoverModel.position}' position!`);
|
|
41
46
|
const config = Object.assign(Object.assign({}, DEFAULT_CONFIG), popoverModel.overlayConfig || {});
|
|
47
|
+
const hostElement = this.getHostElement(popoverModel.hostRef);
|
|
42
48
|
const positionStrategy = this.overlayPositionBuilder
|
|
43
49
|
.flexibleConnectedTo(popoverModel.hostRef)
|
|
44
50
|
.withPositions([POPUP_POSITIONS[popoverModel.position]]);
|
|
45
51
|
const overlayConfig = new OverlayConfig(Object.assign({ scrollStrategy: this.overlay.scrollStrategies.noop(), positionStrategy }, config));
|
|
52
|
+
if (popoverModel.alignment === 'host' && hostElement) {
|
|
53
|
+
const alignmentDimension = getAlignmentDimension(popoverModel.position);
|
|
54
|
+
overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];
|
|
55
|
+
}
|
|
46
56
|
return overlayConfig;
|
|
47
57
|
}
|
|
48
58
|
createInjector(popoverRef) {
|
|
@@ -51,15 +61,31 @@ export class DrPopoverService {
|
|
|
51
61
|
];
|
|
52
62
|
return Injector.create({ providers: injectionTokens, parent: this.injector });
|
|
53
63
|
}
|
|
54
|
-
|
|
64
|
+
registerListeners(popoverModel, overlayRef, popoverRef) {
|
|
55
65
|
const config = popoverModel.overlayConfig || {};
|
|
56
66
|
const targetElement = popoverModel.targetElement;
|
|
67
|
+
const hostElement = this.getHostElement(popoverModel.hostRef);
|
|
57
68
|
if ((config === null || config === void 0 ? void 0 : config.closeOnBackdropClick) && (config === null || config === void 0 ? void 0 : config.hasBackdrop)) {
|
|
58
69
|
overlayRef.backdropClick().subscribe(() => popoverRef.close());
|
|
59
70
|
}
|
|
60
71
|
if (targetElement) {
|
|
61
72
|
targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });
|
|
62
73
|
}
|
|
74
|
+
if (popoverModel.alignment === 'host' && hostElement) {
|
|
75
|
+
const alignmentDimension = getAlignmentDimension(popoverModel.position);
|
|
76
|
+
const resizeObserver = new ResizeObserver(entries => {
|
|
77
|
+
entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));
|
|
78
|
+
});
|
|
79
|
+
resizeObserver.observe(hostElement);
|
|
80
|
+
popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
getHostElement(hostRef) {
|
|
84
|
+
if (!hostRef || hostRef.x)
|
|
85
|
+
return null;
|
|
86
|
+
if (hostRef.nativeElement)
|
|
87
|
+
return hostRef.nativeElement;
|
|
88
|
+
return hostRef;
|
|
63
89
|
}
|
|
64
90
|
}
|
|
65
91
|
DrPopoverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DrPopoverService_Factory() { return new DrPopoverService(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i1.OverlayPositionBuilder), i0.ɵɵinject(i0.INJECTOR)); }, token: DrPopoverService, providedIn: "root" });
|
|
@@ -73,4 +99,4 @@ DrPopoverService.ctorParameters = () => [
|
|
|
73
99
|
{ type: OverlayPositionBuilder },
|
|
74
100
|
{ type: Injector }
|
|
75
101
|
];
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQTRCLE1BQU0sbUJBQW1CLENBQUM7OztBQUs1RixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQ1ksT0FBZ0IsRUFDaEIsc0JBQThDLEVBQzlDLFFBQWtCO1FBRmxCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzFCLENBQUM7SUFFTCxJQUFJLENBQUksT0FBMkMsRUFBRSxZQUFzQztRQUN2RixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsTUFBTSxLQUFLLG1DQUFRLGFBQWEsR0FBSyxZQUFZLENBQUUsQ0FBQztRQUVwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE1BQU0sVUFBVSxHQUFHLElBQUksWUFBWSxDQUFJLFVBQVUsQ0FBQyxDQUFD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LENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxhQUFhLEVBQUU7WUFDZixhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0wsQ0FBQzs7OztZQXJGSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQU5RLE9BQU87WUFBaUIsc0JBQXNCO1lBRGxDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFBPUFVQX1BPU0lUSU9OUyB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJRywgREVGQVVMVF9NT0RFTCwgSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICkgeyB9XHJcblxyXG4gICAgb3BlbjxUPihjb250ZW50OiBUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LCBwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IERyUG9wb3ZlclJlZjxUPiB7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IG1vZGVsID0geyAuLi5ERUZBVUxUX01PREVMLCAuLi5wb3BvdmVyTW9kZWwgfTtcclxuXHJcbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShtb2RlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBuZXcgRHJQb3BvdmVyUmVmPFQ+KG92ZXJsYXlSZWYpO1xyXG5cclxuICAgICAgICB0aGlzLmF0dGFjaE92ZXJsYXlDb250YWluZXIoY29udGVudCwgbW9kZWwsIG92ZXJsYXlSZWYsIHBvcG92ZXJSZWYpO1xyXG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyQ2xvc2VMaXN0ZW5lcnMobW9kZWwsIG92ZXJsYXlSZWYsIHBvcG92ZXJSZWYpO1xyXG5cclxuICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGF0dGFjaE92ZXJsYXlDb250YWluZXI8VD4oXHJcbiAgICAgICAgY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICB7IGNvbnRlbnRDb250ZXh0LCBwb3NpdGlvbiwgY2xhc3M6IGVsZW1lbnRDbGFzcywgbWFudWFsQ2xvc2luZywgaG9zdFJlZiB9OiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXHJcbiAgICAgICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcclxuICAgICAgICBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD5cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8RHJQb3BvdmVyQ29tcG9uZW50PFQ+PihEclBvcG92ZXJDb21wb25lbnQsIG51bGwsIHRoaXMuY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZikpO1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBvdmVybGF5UmVmLmF0dGFjaDxEclBvcG92ZXJDb21wb25lbnQ8VD4+KGNvbXBvbmVudFBvcnRhbCk7XHJcblxyXG4gICAgICAgIHBvcG92ZXJSZWYuY29tcG9uZW50UmVmID0gY29udGVudFJlZjtcclxuXHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50ID0gY29udGVudDtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0geyAuLi5jb250ZW50Q29udGV4dCwgY2xvc2VQb3BvdmVyOiBwb3BvdmVyUmVmLmNsb3NlLmJpbmQocG9wb3ZlclJlZikgfTtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNsYXNzID0gZWxlbWVudENsYXNzICsgJyAnICsgcG9zaXRpb247XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5tYW51YWxDbG9zaW5nID0gbWFudWFsQ2xvc2luZztcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmhvc3RSZWYgPSBob3N0UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheShwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IE92ZXJsYXlSZWYge1xyXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcocG9wb3Zlck1vZGVsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBPdmVybGF5Q29uZmlnIHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7IC4uLkRFRkFVTFRfQ09ORklHLCAuLi5wb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZyB8fCB7fX07XHJcblxyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9wb3Zlck1vZGVsLmhvc3RSZWYpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtQT1BVUF9QT1NJVElPTlNbcG9wb3Zlck1vZGVsLnBvc2l0aW9uXV0pO1xyXG5cclxuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxyXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8VD4ocG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+KTogSW5qZWN0b3Ige1xyXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcclxuICAgICAgICAgICAgeyBwcm92aWRlOiBEclBvcG92ZXJSZWYsIHVzZVZhbHVlOiBwb3BvdmVyUmVmIH0sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWdpc3RlckNsb3NlTGlzdGVuZXJzPFQ+KHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLCBvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSBwb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZyB8fCB7fTtcclxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gcG9wb3Zlck1vZGVsLnRhcmdldEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIGlmIChjb25maWc/LmNsb3NlT25CYWNrZHJvcENsaWNrICYmIGNvbmZpZz8uaGFzQmFja2Ryb3ApIHtcclxuICAgICAgICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHBvcG92ZXJSZWYuY2xvc2UoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xyXG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCAoKSA9PiBwb3BvdmVyUmVmLmNsb3NlKCksIHsgb25jZTogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWlELE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFtQyxNQUFNLG1CQUFtQixDQUFDOzs7QUFLMUgsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUNZLE9BQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxRQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMxQixDQUFDO0lBRUwsSUFBSSxDQUFJLE9BQTJDLEVBQUUsWUFBc0M7UUFDdkYsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sS0FBSyxtQ0FBUSxhQUFhLEdBQUssWUFBWSxDQUFFLENBQUM7UUFFcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMs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QUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RSxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEksQ0FBQyxDQUFDLENBQUM7WUFDSCxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFTyxjQUFjLENBQUksT0FBNEM7UUFDbEUsSUFBSSxDQUFDLE9BQU8sSUFBWSxPQUFRLENBQUMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2hELElBQWlCLE9BQVEsQ0FBQyxhQUFhO1lBQUUsT0FBb0IsT0FBUSxDQUFDLGFBQWEsQ0FBQztRQUNwRixPQUFvQixPQUFPLENBQUM7SUFDaEMsQ0FBQzs7OztZQS9HSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQU5RLE9BQU87WUFBaUIsc0JBQXNCO1lBRGxDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XHJcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBQT1BVUF9QT1NJVElPTlMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgREVGQVVMVF9DT05GSUcsIERFRkFVTFRfTU9ERUwsIGdldEFsaWdubWVudERpbWVuc2lvbiwgSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLCBQb2ludCB9IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyUG9wb3ZlclNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgICAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG9wZW48VD4oY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiwgcG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBEclBvcG92ZXJSZWY8VD4ge1xyXG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uREVGQVVMVF9NT0RFTCwgLi4ucG9wb3Zlck1vZGVsIH07XHJcblxyXG4gICAgICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkobW9kZWwpO1xyXG5cclxuICAgICAgICBjb25zdCBwb3BvdmVyUmVmID0gbmV3IERyUG9wb3ZlclJlZjxUPihvdmVybGF5UmVmKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdHRhY2hPdmVybGF5Q29udGFpbmVyKGNvbnRlbnQsIG1vZGVsLCBvdmVybGF5UmVmLCBwb3BvdmVyUmVmKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3Rlckxpc3RlbmVycyhtb2RlbCwgb3ZlcmxheVJlZiwgcG9wb3ZlclJlZik7XHJcblxyXG4gICAgICAgIHJldHVybiBwb3BvdmVyUmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXR0YWNoT3ZlcmxheUNvbnRhaW5lcjxUPihcclxuICAgICAgICBjb250ZW50OiBUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIHsgY29udGVudENvbnRleHQsIHBvc2l0aW9uLCBjbGFzczogZWxlbWVudENsYXNzLCBtYW51YWxDbG9zaW5nLCBob3N0UmVmLCBhbGlnbm1lbnQgfTogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLFxyXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXHJcbiAgICAgICAgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+XHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPERyUG9wb3ZlckNvbXBvbmVudDxUPj4oRHJQb3BvdmVyQ29tcG9uZW50LCBudWxsLCB0aGlzLmNyZWF0ZUluamVjdG9yKHBvcG92ZXJSZWYpKTtcclxuICAgICAgICBjb25zdCBjb250ZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2g8RHJQb3BvdmVyQ29tcG9uZW50PFQ+Pihjb21wb25lbnRQb3J0YWwpO1xyXG5cclxuICAgICAgICBwb3BvdmVyUmVmLmNvbXBvbmVudFJlZiA9IGNvbnRlbnRSZWY7XHJcblxyXG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGNvbnRlbnQ7XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50Q29udGV4dCA9IHsgLi4uY29udGVudENvbnRleHQsIGNsb3NlUG9wb3ZlcjogcG9wb3ZlclJlZi5jbG9zZS5iaW5kKHBvcG92ZXJSZWYpIH07XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jbGFzcyA9IGVsZW1lbnRDbGFzcyArICcgJyArIHBvc2l0aW9uO1xyXG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UubWFudWFsQ2xvc2luZyA9IG1hbnVhbENsb3Npbmc7XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5ob3N0UmVmID0gaG9zdFJlZjtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmFsaWdubWVudCA9IGFsaWdubWVudDtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsKTogT3ZlcmxheVJlZiB7XHJcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhwb3BvdmVyTW9kZWwpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyhwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IE92ZXJsYXlDb25maWcge1xyXG4gICAgICAgIGlmICghUE9QVVBfUE9TSVRJT05TW3BvcG92ZXJNb2RlbC5wb3NpdGlvbl0pIHRocm93IG5ldyBFcnJvcihgRHJQb3BvdmVyIGRvZXMgbm90IHN1cHBvcnQgdGhlICcke3BvcG92ZXJNb2RlbD8ucG9zaXRpb259JyBwb3NpdGlvbiFgKTtcclxuXHJcbiAgICAgICAgY29uc3QgY29uZmlnID0geyAuLi5ERUZBVUxUX0NPTkZJRywgLi4ucG9wb3Zlck1vZGVsLm92ZXJsYXlDb25maWcgfHwge319O1xyXG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudChwb3BvdmVyTW9kZWwuaG9zdFJlZik7XHJcblxyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9wb3Zlck1vZGVsLmhvc3RSZWYpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtQT1BVUF9QT1NJVElPTlNbcG9wb3Zlck1vZGVsLnBvc2l0aW9uXV0pO1xyXG5cclxuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxyXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChwb3BvdmVyTW9kZWwuYWxpZ25tZW50ID09PSAnaG9zdCcgJiYgaG9zdEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgYWxpZ25tZW50RGltZW5zaW9uID0gZ2V0QWxpZ25tZW50RGltZW5zaW9uKHBvcG92ZXJNb2RlbC5wb3NpdGlvbik7XHJcbiAgICAgICAgICAgIG92ZXJsYXlDb25maWdbYWxpZ25tZW50RGltZW5zaW9uXSA9IGhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2FsaWdubWVudERpbWVuc2lvbl07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gb3ZlcmxheUNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yPFQ+KHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPik6IEluamVjdG9yIHtcclxuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXHJcbiAgICAgICAgICAgIHsgcHJvdmlkZTogRHJQb3BvdmVyUmVmLCB1c2VWYWx1ZTogcG9wb3ZlclJlZiB9LFxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IGluamVjdGlvblRva2VucywgcGFyZW50OiB0aGlzLmluamVjdG9yIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVnaXN0ZXJMaXN0ZW5lcnM8VD4ocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHBvcG92ZXJNb2RlbC5vdmVybGF5Q29uZmlnIHx8IHt9O1xyXG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBwb3BvdmVyTW9kZWwudGFyZ2V0RWxlbWVudDtcclxuICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQocG9wb3Zlck1vZGVsLmhvc3RSZWYpO1xyXG5cclxuICAgICAgICBpZiAoY29uZmlnPy5jbG9zZU9uQmFja2Ryb3BDbGljayAmJiBjb25maWc/Lmhhc0JhY2tkcm9wKSB7XHJcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiBwb3BvdmVyUmVmLmNsb3NlKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKCkgPT4gcG9wb3ZlclJlZi5jbG9zZSgpLCB7IG9uY2U6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocG9wb3Zlck1vZGVsLmFsaWdubWVudCA9PT0gJ2hvc3QnICYmIGhvc3RFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFsaWdubWVudERpbWVuc2lvbiA9IGdldEFsaWdubWVudERpbWVuc2lvbihwb3BvdmVyTW9kZWwucG9zaXRpb24pO1xyXG4gICAgICAgICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICAgICAgICAgIGVudHJpZXMuZm9yRWFjaChob3N0ID0+IG92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IFthbGlnbm1lbnREaW1lbnNpb25dOiBob3N0LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVthbGlnbm1lbnREaW1lbnNpb25dIH0pKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoaG9zdEVsZW1lbnQpO1xyXG4gICAgICAgICAgICBwb3BvdmVyUmVmLm9uQ2xvc2UucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4gcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGhvc3RFbGVtZW50KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQ8VD4oaG9zdFJlZjogUG9pbnQgfCBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8VD4pOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgaWYgKCFob3N0UmVmIHx8ICg8UG9pbnQ+aG9zdFJlZikueCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgaWYgKCg8RWxlbWVudFJlZj5ob3N0UmVmKS5uYXRpdmVFbGVtZW50KSByZXR1cm4gKDxFbGVtZW50UmVmPmhvc3RSZWYpLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgcmV0dXJuIDxIVE1MRWxlbWVudD5ob3N0UmVmO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|