@acorex/components 16.18.11 → 16.18.13
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +1 -1
- package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +1 -1
- package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +1 -1
- package/esm2022/lib/data-list/list/list.component.mjs +1 -1
- package/esm2022/lib/menu/menu.component.mjs +3 -3
- package/esm2022/lib/number-box/number-box.component.mjs +147 -60
- package/esm2022/lib/popup/popup.component.mjs +1 -1
- package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +1 -1
- package/fesm2022/acorex-components.mjs +153 -66
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/lib/number-box/number-box.component.d.ts +2 -2
- package/package.json +1 -1
@@ -40,7 +40,7 @@ export class AXSchedulerAgendaViewComponent extends AXSchedulerBaseViewComponent
|
|
40
40
|
this.navigate(this.navigatorDate.addDay(-this.interval));
|
41
41
|
}
|
42
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXSchedulerAgendaViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXSchedulerAgendaViewComponent, selector: "ng-component", providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerAgendaViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-scheduler-agenda-view\">\n <table class=\"body\" cdkDropListGroup>\n <tbody *ngIf=\"slots.length; else elseTemplate\">\n <tr *ngFor=\"let slot of slots\" cdkDropList [cdkDropListData]=\"slot\" [attr.data-uid]=\"slot.uid\"\n (cdkDropListDropped)=\"onDragDropOnDay($event)\">\n <td class=\"day-column\">\n <div class=\"day-num\">{{slot.range.startTime | dt:\"DD\"}}</div>\n <div class=\"day-name\">{{slot.range.startTime | dt:\"ddd\"}}</div>\n </td>\n <td class=\"day-border\">\n <ul *ngIf=\"slot.events.length\">\n <li *ngFor=\"let e of slot.events\" [style.border-color]=\"e.color\" cdkDrag [cdkDragData]=\"e\"\n [attr.data-uid]=\"e.uid\">\n <div class=\"event-title\">{{e.title}}</div>\n <div class=\"event-time\">{{e.range.startTime | dt:\"HH:mm\"}} - <span\n *ngIf=\"e.range.duration('days')!=0 then a else b\"></span></div>\n <ng-template #a>\n {{e.range.endTime | dt:\"HH:mm\"}}\n </ng-template>\n <ng-template #b>\n {{e.range.endTime | dt:\"YYYY-MM-DD HH:mm\"}}\n </ng-template>\n\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\n {{e.title}}\n </div>\n </li>\n </ul>\n <div *ngIf=\"!slot.events.length\" class=\"event-empty\">No events</div>\n </td>\n </tr>\n </tbody>\n <ng-template #elseTemplate>\n <tbody>\n <tr>\n <td colspan=\"2\">\n <div class=\"event-empty\">No events</div>\n </td>\n </tr>\n </tbody>\n </ng-template>\n </table>\n</div>", styles: [".ax-scheduler-agenda-view{height:100%;overflow-y:auto}.ax-scheduler-agenda-view table{border-top:1px solid var(--border-color)}.ax-scheduler-agenda-view .event-title{color:var(--gray-fore-color)}.ax-scheduler-agenda-view td{padding-top:5px;text-overflow:ellipsis;white-space:nowrap;vertical-align:top;border:none}.ax-scheduler-agenda-view td.day-border{border-bottom:1px solid var(--border-color);padding:5px;vertical-align:middle}.ax-scheduler-agenda-view .day-column{width:80px;text-align:center}.ax-scheduler-agenda-view .day-column .day-num{font-weight:600}.ax-scheduler-agenda-view .day-column .day-name{font-size:smaller}.ax-scheduler-agenda-view ul{list-style:none;padding:0;margin:0}.ax-scheduler-agenda-view ul li{border-left:4px solid var(--primary-color);margin-bottom:var(--sp-sm-size);padding:0 8px}.ax-scheduler-agenda-view ul li:hover{background-color:var(--primary-lighter-color);cursor:pointer}.ax-scheduler-agenda-view ul li .event-time,.ax-scheduler-agenda-view ul li .event-empty{color:var(--gray-fore-color);font-size:smaller}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXSchedulerAgendaViewComponent, selector: "ng-component", providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerAgendaViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-scheduler-agenda-view\">\n <table class=\"body\" cdkDropListGroup>\n <tbody *ngIf=\"slots.length; else elseTemplate\">\n <tr *ngFor=\"let slot of slots\" cdkDropList [cdkDropListData]=\"slot\" [attr.data-uid]=\"slot.uid\"\n (cdkDropListDropped)=\"onDragDropOnDay($event)\">\n <td class=\"day-column\">\n <div class=\"day-num\">{{slot.range.startTime | dt:\"DD\"}}</div>\n <div class=\"day-name\">{{slot.range.startTime | dt:\"ddd\"}}</div>\n </td>\n <td class=\"day-border\">\n <ul *ngIf=\"slot.events.length\">\n <li *ngFor=\"let e of slot.events\" [style.border-color]=\"e.color\" cdkDrag [cdkDragData]=\"e\"\n [attr.data-uid]=\"e.uid\">\n <div class=\"event-title\">{{e.title}}</div>\n <div class=\"event-time\">{{e.range.startTime | dt:\"HH:mm\"}} - <span\n *ngIf=\"e.range.duration('days')!=0 then a else b\"></span></div>\n <ng-template #a>\n {{e.range.endTime | dt:\"HH:mm\"}}\n </ng-template>\n <ng-template #b>\n {{e.range.endTime | dt:\"YYYY-MM-DD HH:mm\"}}\n </ng-template>\n\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\n {{e.title}}\n </div>\n </li>\n </ul>\n <div *ngIf=\"!slot.events.length\" class=\"event-empty\">No events</div>\n </td>\n </tr>\n </tbody>\n <ng-template #elseTemplate>\n <tbody>\n <tr>\n <td colspan=\"2\">\n <div class=\"event-empty\">No events</div>\n </td>\n </tr>\n </tbody>\n </ng-template>\n </table>\n</div>", styles: [".ax-scheduler-agenda-view{height:100%;overflow-y:auto}.ax-scheduler-agenda-view table{border-top:1px solid var(--border-color)}.ax-scheduler-agenda-view .event-title{color:var(--gray-fore-color)}.ax-scheduler-agenda-view td{padding-top:5px;text-overflow:ellipsis;white-space:nowrap;vertical-align:top;border:none}.ax-scheduler-agenda-view td.day-border{border-bottom:1px solid var(--border-color);padding:5px;vertical-align:middle}.ax-scheduler-agenda-view .day-column{width:80px;text-align:center}.ax-scheduler-agenda-view .day-column .day-num{font-weight:600}.ax-scheduler-agenda-view .day-column .day-name{font-size:smaller}.ax-scheduler-agenda-view ul{list-style:none;padding:0;margin:0}.ax-scheduler-agenda-view ul li{border-left:4px solid var(--primary-color);margin-bottom:var(--sp-sm-size);padding:0 8px}.ax-scheduler-agenda-view ul li:hover{background-color:var(--primary-lighter-color);cursor:pointer}.ax-scheduler-agenda-view ul li .event-time,.ax-scheduler-agenda-view ul li .event-empty{color:var(--gray-fore-color);font-size:smaller}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
|
44
44
|
}
|
45
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXSchedulerAgendaViewComponent, decorators: [{
|
46
46
|
type: Component,
|
@@ -93,7 +93,7 @@ export class AXSchedulerDayTimeViewComponent extends AXSchedulerBaseViewComponen
|
|
93
93
|
return a.indexOf(event);
|
94
94
|
}
|
95
95
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXSchedulerDayTimeViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
96
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXSchedulerDayTimeViewComponent, selector: "ng-component", providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerDayTimeViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-scheduler-day-time-view\">\n <table class=\"header\">\n <thead>\n <th class=\"time-column\"></th>\n <th *ngFor=\"let d of slots\" class=\"header-cell\">\n <div [class.same-week-day]=\"d.range.startTime.equal(today)\">\n {{d.range.startTime | dt: 'ddd'}}<br>\n {{d.range.startTime | dt: 'DD'}}\n </div>\n </th>\n </thead>\n </table>\n <div class=\"v-scroll\">\n <table class=\"body\" cdkDropListGroup>\n <tbody>\n <tr *ngFor=\"let t of times\">\n <td>\n {{t.display}}\n </td>\n <td *ngFor=\"let d of slots\" class=\"slot-cell\" cdkDropList [cdkDropListData]=\"d\"\n (cdkDropListDropped)=\"onDragDropOnDay($event,t.value)\" [attr.data-uid]=\"d.uid\">\n <div class=\"event-wrapper\">\n <ng-container *ngFor=\"let e of d.events\">\n <div *ngIf=\"e.range.startTime.hour==t.value\" class=\"event\"\n role=\"button\" aria-readonly=\"false\" aria-selected=\"true\" aria-grabbed=\"false\"\n cdkDrag [cdkDragData]=\"e\" \n [attr.data-uid]=\"e.uid\" [style.background-color]=\"e.color\" [title]=\"e.title\">\n <div class=\"event-title\">{{e.title}}</div>\n <div>\n <span>{{e.range.startTime | dt: 'HH:mm'}}</span> -\n <span>{{e.range.endTime | dt: 'HH:mm'}}</span>\n </div>\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\n {{e.title}}\n </div>\n <div class=\"event-drag-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>", styles: [".ax-scheduler-day-time-view .event-wrapper{position:absolute;top:0;left:0;display:inline-flex;flex:auto;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;width:100%}.ax-scheduler-day-time-view .event-wrapper .event{display:block;position:relative;flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
|
96
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXSchedulerDayTimeViewComponent, selector: "ng-component", providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerDayTimeViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-scheduler-day-time-view\">\n <table class=\"header\">\n <thead>\n <th class=\"time-column\"></th>\n <th *ngFor=\"let d of slots\" class=\"header-cell\">\n <div [class.same-week-day]=\"d.range.startTime.equal(today)\">\n {{d.range.startTime | dt: 'ddd'}}<br>\n {{d.range.startTime | dt: 'DD'}}\n </div>\n </th>\n </thead>\n </table>\n <div class=\"v-scroll\">\n <table class=\"body\" cdkDropListGroup>\n <tbody>\n <tr *ngFor=\"let t of times\">\n <td>\n {{t.display}}\n </td>\n <td *ngFor=\"let d of slots\" class=\"slot-cell\" cdkDropList [cdkDropListData]=\"d\"\n (cdkDropListDropped)=\"onDragDropOnDay($event,t.value)\" [attr.data-uid]=\"d.uid\">\n <div class=\"event-wrapper\">\n <ng-container *ngFor=\"let e of d.events\">\n <div *ngIf=\"e.range.startTime.hour==t.value\" class=\"event\"\n role=\"button\" aria-readonly=\"false\" aria-selected=\"true\" aria-grabbed=\"false\"\n cdkDrag [cdkDragData]=\"e\" \n [attr.data-uid]=\"e.uid\" [style.background-color]=\"e.color\" [title]=\"e.title\">\n <div class=\"event-title\">{{e.title}}</div>\n <div>\n <span>{{e.range.startTime | dt: 'HH:mm'}}</span> -\n <span>{{e.range.endTime | dt: 'HH:mm'}}</span>\n </div>\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\n {{e.title}}\n </div>\n <div class=\"event-drag-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>", styles: [".ax-scheduler-day-time-view .event-wrapper{position:absolute;top:0;left:0;display:inline-flex;flex:auto;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;width:100%}.ax-scheduler-day-time-view .event-wrapper .event{display:block;position:relative;flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
|
97
97
|
}
|
98
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXSchedulerDayTimeViewComponent, decorators: [{
|
99
99
|
type: Component,
|
@@ -202,7 +202,7 @@ export class AXSchedulerMonthViewComponent extends AXSchedulerBaseViewComponent
|
|
202
202
|
}
|
203
203
|
}
|
204
204
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXSchedulerMonthViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
205
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXSchedulerMonthViewComponent, selector: "ng-component", host: { listeners: { "wheel": "onKeydownHandler($event)" } }, providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerMonthViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-sheduler-month-view\">\n <table class=\"header\">\n <thead>\n <th *ngFor=\"let d of weekDays\" class=\"header-cell\">\n <span [class.same-week-day]=\"d.index==today.dayInWeek\"> {{d.title}}</span>\n </th>\n </thead>\n </table>\n <table class=\"body\" cdkDropListGroup>\n <tbody>\n <tr *ngFor=\"let r of matrixSlots\">\n <td *ngFor=\"let d of r\" class=\"cell-slot\" cdkDropList [cdkDropListData]=\"d\"\n (cdkDropListDropped)=\"onDragDropOnDay($event)\" \n [attr.data-uid]=\"d.uid\">\n <div class=\"day-num\" [class.first-day-month]=\"d.range.startTime.dayInMonth==1\"\n [class.today]=\"d.range.startTime.equal(today)\">\n <ng-container *ngIf=\"d.range.startTime.dayInMonth==1\">\n {{d.range.startTime | dt: 'MMM'}}\n </ng-container>\n {{d.range.startTime | dt: 'DD'}}\n </div>\n <div class=\"event-wrapper\">\n <ng-container *ngFor=\"let e of d.events\">\n <div class=\"event ax-scheduler-event\" cdkDrag [cdkDragData]=\"e\" [attr.data-uid]=\"e.uid\"\n [style.background-color]=\"e.color\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragEntered)=\"onDragEntered($event)\">\n <span class=\"ax-sch-str\">{{e.range.startTime | dt: 'HH:mm'}}</span><span\n class=\"event-title\">{{e.title}}</span><span>{{e.range.endTime | dt: 'HH:mm'}}</span>\n </div>\n </ng-container>\n </div>\n <div class=\"view-more\"></div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>", styles: [".ax-sheduler-month-view .day-num{position:absolute;left:5px;top:5px;font-size:smaller;padding:1px 5px;display:flex;border-radius:10%;align-items:center;justify-content:center}.ax-sheduler-month-view .day-num.first-day-month{color:var(--primary-color);font-weight:700}.ax-sheduler-month-view .day-num:hover{text-decoration:underline;cursor:pointer}.ax-sheduler-month-view .day-num.today{background-color:var(--primary-light-color);color:var(--danger-fore-color)}.ax-sheduler-month-view .view-more{position:absolute;bottom:0;font-size:x-small;right:0;padding:0 5px;width:100%;cursor:pointer;text-align:center;background-color:var(--gray-dark-color)}.ax-sheduler-month-view .view-more:hover{box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-sheduler-month-view .event-wrapper{position:absolute;top:30px;left:0}.ax-sheduler-month-view .event-wrapper .event{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
|
205
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXSchedulerMonthViewComponent, selector: "ng-component", host: { listeners: { "wheel": "onKeydownHandler($event)" } }, providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerMonthViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-sheduler-month-view\">\n <table class=\"header\">\n <thead>\n <th *ngFor=\"let d of weekDays\" class=\"header-cell\">\n <span [class.same-week-day]=\"d.index==today.dayInWeek\"> {{d.title}}</span>\n </th>\n </thead>\n </table>\n <table class=\"body\" cdkDropListGroup>\n <tbody>\n <tr *ngFor=\"let r of matrixSlots\">\n <td *ngFor=\"let d of r\" class=\"cell-slot\" cdkDropList [cdkDropListData]=\"d\"\n (cdkDropListDropped)=\"onDragDropOnDay($event)\" \n [attr.data-uid]=\"d.uid\">\n <div class=\"day-num\" [class.first-day-month]=\"d.range.startTime.dayInMonth==1\"\n [class.today]=\"d.range.startTime.equal(today)\">\n <ng-container *ngIf=\"d.range.startTime.dayInMonth==1\">\n {{d.range.startTime | dt: 'MMM'}}\n </ng-container>\n {{d.range.startTime | dt: 'DD'}}\n </div>\n <div class=\"event-wrapper\">\n <ng-container *ngFor=\"let e of d.events\">\n <div class=\"event ax-scheduler-event\" cdkDrag [cdkDragData]=\"e\" [attr.data-uid]=\"e.uid\"\n [style.background-color]=\"e.color\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragEntered)=\"onDragEntered($event)\">\n <span class=\"ax-sch-str\">{{e.range.startTime | dt: 'HH:mm'}}</span><span\n class=\"event-title\">{{e.title}}</span><span>{{e.range.endTime | dt: 'HH:mm'}}</span>\n </div>\n </ng-container>\n </div>\n <div class=\"view-more\"></div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>", styles: [".ax-sheduler-month-view .day-num{position:absolute;left:5px;top:5px;font-size:smaller;padding:1px 5px;display:flex;border-radius:10%;align-items:center;justify-content:center}.ax-sheduler-month-view .day-num.first-day-month{color:var(--primary-color);font-weight:700}.ax-sheduler-month-view .day-num:hover{text-decoration:underline;cursor:pointer}.ax-sheduler-month-view .day-num.today{background-color:var(--primary-light-color);color:var(--danger-fore-color)}.ax-sheduler-month-view .view-more{position:absolute;bottom:0;font-size:x-small;right:0;padding:0 5px;width:100%;cursor:pointer;text-align:center;background-color:var(--gray-dark-color)}.ax-sheduler-month-view .view-more:hover{box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-sheduler-month-view .event-wrapper{position:absolute;top:30px;left:0}.ax-sheduler-month-view .event-wrapper .event{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
|
206
206
|
}
|
207
207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXSchedulerMonthViewComponent, decorators: [{
|
208
208
|
type: Component,
|
@@ -85,7 +85,7 @@ export class AXListComponent extends AXDataListComponent {
|
|
85
85
|
dragDrop(event) {
|
86
86
|
}
|
87
87
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
88
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXListComponent, selector: "ax-list", inputs: { width: "width", height: "height", dropId: "dropId", connectedList: "connectedList", allowMoveItem: "allowMoveItem", dataSource: "dataSource", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", direction: "direction" }, outputs: { onDirectionChanged: "onDirectionChanged" }, queries: [{ propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true, static: true }, { propertyName: "searchToolbar", first: true, predicate: AXToolbarSearchComponent, descendants: true, static: true }, { propertyName: "viewToolbar", first: true, predicate: AXToolbarListViewComponent, descendants: true, static: true }, { propertyName: "toolbar", first: true, predicate: AXToolbarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"ax-list-toolbar\" *ngIf=\"toolbar\">\n <ng-content select=\"ax-toolbar\"></ng-content>\n </div>\n <div class=\"ax-list-container\" cdkDropList [id]=\"dropId\" [cdkDropListConnectedTo]=\"connectedList\"\n (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"items\"\n [ngClass]=\"{'overflow-y': direction=='vertical' || direction=='horizontal-wrap','overflow-x': direction=='horizontal' || direction=='vertical-wrap'}\">\n <div class=\"item-wrapper\" [ngClass]=\"direction\">\n <!-- <ng-container *ngIf=\"items && items.length; else emptyTemplate\"> -->\n <ng-container *ngIf=\"allowMoveItem; else elseTemplate\">\n <div class=\"ax-list-item\" *ngFor=\"let item of items\" cdkDrag [cdkDragData]=\"item\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\n </ng-container>\n <div class=\"drop-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <div class=\"ax-list-item\" *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction }\">\n </ng-container>\n </div>\n </ng-template>\n <!-- </ng-container> -->\n\n </div>\n <ng-container *ngIf=\"items==null || items.length==0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\n </ng-container>\n </ng-container>\n\n </div>\n</div>", styles: [".ax-list-container{height:calc(100% - 45px);min-height:50px}.ax-list-container.overflow-x{overflow-x:auto;overflow-y:hidden}.ax-list-container.overflow-y{overflow-y:auto;overflow-x:hidden}.ax-list-container .item-wrapper{height:auto;display:flex}.ax-list-container .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-list-container .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}.ax-list-container .drop-placeholder{background:var(--gray-light-color);border:dotted 2px var(--border-color);min-height:60px;margin-bottom:5px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-list-container .vertical{flex-direction:column}.ax-list-container .vertical-wrap{flex-direction:column;flex-wrap:wrap}.ax-list-container .horizontal-wrap{flex-direction:row;flex-wrap:wrap}.ax-list-container .horizontal{flex-direction:row}.ax-list-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-radius:4px;margin-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }], encapsulation: i0.ViewEncapsulation.None });
|
88
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXListComponent, selector: "ax-list", inputs: { width: "width", height: "height", dropId: "dropId", connectedList: "connectedList", allowMoveItem: "allowMoveItem", dataSource: "dataSource", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", direction: "direction" }, outputs: { onDirectionChanged: "onDirectionChanged" }, queries: [{ propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true, static: true }, { propertyName: "searchToolbar", first: true, predicate: AXToolbarSearchComponent, descendants: true, static: true }, { propertyName: "viewToolbar", first: true, predicate: AXToolbarListViewComponent, descendants: true, static: true }, { propertyName: "toolbar", first: true, predicate: AXToolbarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"ax-list-toolbar\" *ngIf=\"toolbar\">\n <ng-content select=\"ax-toolbar\"></ng-content>\n </div>\n <div class=\"ax-list-container\" cdkDropList [id]=\"dropId\" [cdkDropListConnectedTo]=\"connectedList\"\n (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"items\"\n [ngClass]=\"{'overflow-y': direction=='vertical' || direction=='horizontal-wrap','overflow-x': direction=='horizontal' || direction=='vertical-wrap'}\">\n <div class=\"item-wrapper\" [ngClass]=\"direction\">\n <!-- <ng-container *ngIf=\"items && items.length; else emptyTemplate\"> -->\n <ng-container *ngIf=\"allowMoveItem; else elseTemplate\">\n <div class=\"ax-list-item\" *ngFor=\"let item of items\" cdkDrag [cdkDragData]=\"item\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\n </ng-container>\n <div class=\"drop-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <div class=\"ax-list-item\" *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction }\">\n </ng-container>\n </div>\n </ng-template>\n <!-- </ng-container> -->\n\n </div>\n <ng-container *ngIf=\"items==null || items.length==0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\n </ng-container>\n </ng-container>\n\n </div>\n</div>", styles: [".ax-list-container{height:calc(100% - 45px);min-height:50px}.ax-list-container.overflow-x{overflow-x:auto;overflow-y:hidden}.ax-list-container.overflow-y{overflow-y:auto;overflow-x:hidden}.ax-list-container .item-wrapper{height:auto;display:flex}.ax-list-container .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-list-container .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}.ax-list-container .drop-placeholder{background:var(--gray-light-color);border:dotted 2px var(--border-color);min-height:60px;margin-bottom:5px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-list-container .vertical{flex-direction:column}.ax-list-container .vertical-wrap{flex-direction:column;flex-wrap:wrap}.ax-list-container .horizontal-wrap{flex-direction:row;flex-wrap:wrap}.ax-list-container .horizontal{flex-direction:row}.ax-list-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-radius:4px;margin-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }], encapsulation: i0.ViewEncapsulation.None });
|
89
89
|
}
|
90
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXListComponent, decorators: [{
|
91
91
|
type: Component,
|
@@ -80,11 +80,11 @@ export class AXMenuComponent {
|
|
80
80
|
}
|
81
81
|
}
|
82
82
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
83
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
83
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.7", type: AXMenuComponent, selector: "ax-menu", inputs: { menuTemplate: "menuTemplate", rtl: "rtl", size: "size", selection: "selection", mode: "mode", target: "target", floatAlignment: "floatAlignment", floatPlacemnet: "floatPlacemnet", direction: "direction", items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\n [attr.data-uid]=\"item.uid\"\n [class.split]=\"item.split\">\n <div class=\"content-side\">\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\n </ng-container>\n </ng-container>\n <ng-template #menuBody>\n <span class=\"ax-toolbar-menu-item-text\">\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\n <span *ngIf=\"item.text\">{{ item.text }}</span>\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\n </span>\n </ng-template>\n </div>\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\n </div>\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\n <ng-container *ngTemplateOutlet=\"\n recursiveList;\n context: { $implicit: item.items }\n \"></ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\n <i class=\"far fa-bars\"></i>\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\n </li>\n </ul>\n</div> -->\n\n<nav>\n <ul\n class=\"ax nav-menu\"\n [class.rtl]=\"rtl\"\n [class.nav-center]=\"direction == 'horizontal'\"\n [class.nav-vertical]=\"direction == 'vertical'\"\n >\n <ng-container\n *ngTemplateOutlet=\"recursiveMenu; context: { $implicit: items }\"\n ></ng-container>\n </ul>\n</nav>\n\n<ng-template #recursiveMenu let-items>\n <ng-container *ngFor=\"let item of items\">\n @if (item?.visible != false) {\n <li\n class=\"ax {{ item.style }}\"\n [ngClass]=\"{ disabled: item.disable }\"\n (click)=\"handleItemClick($event, item)\"\n axTooltip\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\n [tooltip]=\"item.tooltip ? item.tooltip : ''\"\n >\n <div class=\"ax-menu-item\">\n <span class=\"menu-item-start-side\">\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{\n item.text\n }}</span>\n </span>\n <span class=\"menu-item-end-side\">\n <i\n class=\"far fa-angle-down drop-icon\"\n *ngIf=\"item.items && item.text\"\n ></i>\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\n </span>\n </div>\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu {{ placementClass }}\">\n <ng-container\n *ngTemplateOutlet=\"recursiveMenu; context: { $implicit: item.items }\"\n >\n </ng-container>\n </ul>\n </li>\n }\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.AXTooltipDirective, selector: "[axTooltip]", inputs: ["tooltip", "placement", "delay"] }], encapsulation: i0.ViewEncapsulation.None });
|
84
84
|
}
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXMenuComponent, decorators: [{
|
86
86
|
type: Component,
|
87
|
-
args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\n [attr.data-uid]=\"item.uid\"\n [class.split]=\"item.split\">\n <div class=\"content-side\">\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\n </ng-container>\n </ng-container>\n <ng-template #menuBody>\n <span class=\"ax-toolbar-menu-item-text\">\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\n <span *ngIf=\"item.text\">{{ item.text }}</span>\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\n </span>\n </ng-template>\n </div>\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\n </div>\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\n <ng-container *ngTemplateOutlet=\"\n recursiveList;\n context: { $implicit: item.items }\n \"></ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\n <i class=\"far fa-bars\"></i>\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\n </li>\n </ul>\n</div> -->\n\n<nav>\n <ul\n class=\"ax nav-menu\"\n [class.rtl]=\"rtl\"\n [class.nav-center]=\"direction == 'horizontal'\"\n [class.nav-vertical]=\"direction == 'vertical'\"\n >\n <ng-container\n *ngTemplateOutlet=\"recursiveMenu; context: { $implicit: items }\"\n ></ng-container>\n </ul>\n</nav>\n\n<ng-template #recursiveMenu let-items>\n <ng-container *ngFor=\"let item of items\">\n <li\n class=\"ax {{ item.style }}\"\n [ngClass]=\"{ disabled: item.disable }\"\n
|
87
|
+
args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\n [attr.data-uid]=\"item.uid\"\n [class.split]=\"item.split\">\n <div class=\"content-side\">\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\n </ng-container>\n </ng-container>\n <ng-template #menuBody>\n <span class=\"ax-toolbar-menu-item-text\">\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\n <span *ngIf=\"item.text\">{{ item.text }}</span>\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\n </span>\n </ng-template>\n </div>\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\n </div>\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\n <ng-container *ngTemplateOutlet=\"\n recursiveList;\n context: { $implicit: item.items }\n \"></ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\n <i class=\"far fa-bars\"></i>\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\n </li>\n </ul>\n</div> -->\n\n<nav>\n <ul\n class=\"ax nav-menu\"\n [class.rtl]=\"rtl\"\n [class.nav-center]=\"direction == 'horizontal'\"\n [class.nav-vertical]=\"direction == 'vertical'\"\n >\n <ng-container\n *ngTemplateOutlet=\"recursiveMenu; context: { $implicit: items }\"\n ></ng-container>\n </ul>\n</nav>\n\n<ng-template #recursiveMenu let-items>\n <ng-container *ngFor=\"let item of items\">\n @if (item?.visible != false) {\n <li\n class=\"ax {{ item.style }}\"\n [ngClass]=\"{ disabled: item.disable }\"\n (click)=\"handleItemClick($event, item)\"\n axTooltip\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\n [tooltip]=\"item.tooltip ? item.tooltip : ''\"\n >\n <div class=\"ax-menu-item\">\n <span class=\"menu-item-start-side\">\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{\n item.text\n }}</span>\n </span>\n <span class=\"menu-item-end-side\">\n <i\n class=\"far fa-angle-down drop-icon\"\n *ngIf=\"item.items && item.text\"\n ></i>\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\n </span>\n </div>\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu {{ placementClass }}\">\n <ng-container\n *ngTemplateOutlet=\"recursiveMenu; context: { $implicit: item.items }\"\n >\n </ng-container>\n </ul>\n </li>\n }\n </ng-container>\n</ng-template>\n" }]
|
88
88
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { _contentMenuTemplate: [{
|
89
89
|
type: ContentChild,
|
90
90
|
args: [TemplateRef, { static: true }]
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImpor
|
|
111
111
|
}], items: [{
|
112
112
|
type: Input
|
113
113
|
}] } });
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLE9BQStCO0lBQ3ZFLElBQUksQ0FBUztDQUNkO0FBT0QsTUFBTSxPQUFPLGVBQWU7SUFDTjtJQUF5QjtJQUE3QyxZQUFvQixHQUFlLEVBQVUsR0FBc0I7UUFBL0MsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUd2RSxvQkFBb0IsQ0FBbUI7SUFFL0IsYUFBYSxDQUFtQjtJQUN4QyxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDN0UsQ0FBQztJQUNELElBQVcsWUFBWSxDQUFDLENBQW1CO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBTTtJQUUxQixjQUFjLENBQWtEO0lBR2hFLEdBQUcsQ0FBVTtJQUdiLFdBQVcsR0FDVCxJQUFJLFlBQVksRUFBd0IsQ0FBQztJQUczQyxJQUFJLEdBQWtCLElBQUksQ0FBQztJQUdwQixTQUFTLEdBQW1DLE1BQU0sQ0FBQztJQUduRCxJQUFJLEdBQStDLFNBQVMsQ0FBQztJQUc3RCxNQUFNLENBQVM7SUFHZixjQUFjLENBQWM7SUFFbkMsSUFDVyxjQUFjLENBQUMsQ0FBYztRQUN0QyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDVixLQUFLLFlBQVk7b0JBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztvQkFDNUMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYSxDQUFjO0lBRzNCLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBRW5ELE1BQU0sQ0FBZTtJQUM3QixJQUNXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQVcsS0FBSyxDQUFDLENBQWU7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUc7Z0JBQ04sTUFBTTtxQkFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUM7cUJBQzlDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFhLEVBQUUsSUFBaUI7UUFDOUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQ0UsSUFBSTtZQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3RFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDYixDQUFDO1lBQ0QsTUFBTSxDQUFDLEdBQUc7Z0JBQ1IsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtnQkFDbkMsU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO2FBQ2pCLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBRUQsT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO3VHQW5HVSxlQUFlOzJGQUFmLGVBQWUsa1hBR1osV0FBVyw4REMzQjNCLDQrSEEyRkE7OzJGRG5FYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVMsaUJBRUosaUJBQWlCLENBQUMsSUFBSTsrR0FNckMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS2hDLFlBQVk7c0JBRHRCLEtBQUs7Z0JBYU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxJQUFJO3NCQURILEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJSyxjQUFjO3NCQUR4QixLQUFLO2dCQWdCQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0ssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNZW51SXRlbSwgQVhQbGFjZW1lbnQgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcbmltcG9ydCB7IEFYRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBBWE1lbnVJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEFYRXZlbnQ8QVhNZW51SXRlbSwgTW91c2VFdmVudD4ge1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9jb250ZW50TWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgX21lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtZW51VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnVUZW1wbGF0ZSA/IHRoaXMuX21lbnVUZW1wbGF0ZSA6IHRoaXMuX2NvbnRlbnRNZW51VGVtcGxhdGU7XG4gIH1cbiAgcHVibGljIHNldCBtZW51VGVtcGxhdGUodjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX21lbnVUZW1wbGF0ZSA9IHY7XG4gIH1cblxuICByZXNpemVDaGFuZ2VPYnNlcnZlcjogYW55O1xuXG4gIHBsYWNlbWVudENsYXNzOiAnYXgtZmxvYXQtYm90dG9tLXN0YXJ0JyB8ICdheC1mbG9hdC1ib3R0b20tZW5kJztcblxuICBASW5wdXQoKVxuICBydGw6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhNZW51SXRlbUNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYTWVudUl0ZW1DbGlja0V2ZW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb246ICdub25lJyB8ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdub25lJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbW9kZTogJ2NsaWNrJyB8ICdjb250ZXh0JyB8ICd2aXNpYmxlJyB8ICdtYW51YWwnID0gJ3Zpc2libGUnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXJnZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmxvYXRBbGlnbm1lbnQ6IEFYUGxhY2VtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmxvYXRQbGFjZW1uZXQodjogQVhQbGFjZW1lbnQpIHtcbiAgICBpZiAodikge1xuICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxuICAgICAgICAgIHRoaXMucGxhY2VtZW50Q2xhc3MgPSAnYXgtZmxvYXQtYm90dG9tLWVuZCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgcHJpdmF0ZSBfaXRlbXM6IEFYTWVudUl0ZW1bXTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBpdGVtcygpOiBBWE1lbnVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuICBwdWJsaWMgc2V0IGl0ZW1zKHY6IEFYTWVudUl0ZW1bXSkge1xuICAgIHRoaXMuX2l0ZW1zID0gdjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9XG4gICAgICAgIHdpbmRvd1xuICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpXG4gICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gIH1cblxuICBoYW5kbGVJdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbT86IEFYTWVudUl0ZW0pIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChcbiAgICAgIGl0ZW0gJiZcbiAgICAgICghaXRlbS5pdGVtcyB8fCAhaXRlbS5pdGVtcy5maWx0ZXIoKGMpID0+IGMudmlzaWJsZSAhPT0gZmFsc2UpLmxlbmd0aCkgJiZcbiAgICAgICFpdGVtLmRpc2FibGVcbiAgICApIHtcbiAgICAgIGNvbnN0IG0gPSB7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGh0bWxFdmVudDogZSxcbiAgICAgICAgZGF0YTogaXRlbSxcbiAgICAgICAgbmFtZTogaXRlbT8ubmFtZSxcbiAgICAgIH07XG4gICAgICBpZiAoaXRlbS5vbkNsaWNrKSB7XG4gICAgICAgIGl0ZW0ub25DbGljaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KG0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJheCBtZW51LWNvbnRhaW5lciB7e3NpemV9fVwiICNjb250YWluZXI+XG4gIDx1bCBjbGFzcz1cInJvb3RcIiBbY2xhc3MuaG9yaXpvbnRhbF09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiIFtjbGFzcy52ZXJ0aWNhbF09XCJkaXJlY3Rpb249PSd2ZXJ0aWNhbCdcIiAjcm9vdD5cbiAgICA8bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZUxpc3QgbGV0LWxpc3Q+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3Q7dHJhY2tCeTp0cmFja0J5SXRlbVwiPlxuICAgICAgICA8bGkgY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbSBheCB7e2l0ZW0udHlwZSB8fCAnYXggcHJpbWFyeSd9fSB7e2l0ZW0uc3R5bGUgfHwgJ2F4IHByaW1hcnknfX1cIiBbY2xhc3MuZGlzYWJsZWRdPSdpdGVtLmRpc2FibGUnICBbY2xhc3Muc3ViSWNvbl09J2l0ZW0uaXRlbXMnIFtjbGFzcy5zdGFydEljb25dPSdpdGVtLnN0YXJ0SWNvbicgW2NsYXNzLnN0YXJ0SWNvbl09J2l0ZW0uaWNvbicgW2NsYXNzLmVuZEljb25dPSdpdGVtLmVuZEljb24nICpuZ0lmPVwiaXRlbS52aXNpYmxlIT1mYWxzZVwiIChjbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWRcIiBbY2xhc3MuZGl2aWRlcl09XCJpdGVtLmRpdmlkZXJcIiBbYXR0ci50aXRsZV09XCJpdGVtLnRvb2x0aXAgPyBpdGVtLnRvb2x0aXAgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXVpZF09XCJpdGVtLnVpZFwiXG4gICAgICAgICAgW2NsYXNzLnNwbGl0XT1cIml0ZW0uc3BsaXRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1zaWRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudVRlbXBsYXRlOyBlbHNlIG1lbnVCb2R5XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudUJvZHk+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdG9vbGJhci1tZW51LWl0ZW0tdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5zdGFydEljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS50ZXh0XCI+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5lbmRJY29uIH19IGVuZC1pY29uIGF4LW1lbnUtaXRlbS1pY29uXCIgKm5nSWY9XCJpdGVtLmVuZEljb25cIj48L2k+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1pY29uLXNpZGVcIiAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW5cIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWFuZ2xlLWRvd24gYXgtbWVudS1pdGVtLWRyb3AtaWNvblwiPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgcmVjdXJzaXZlTGlzdDtcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVxuICAgICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGxpIGNsYXNzPVwibW9yZVwiICNtb3JlTEkgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQpXCI+XG4gICAgICA8aSBjbGFzcz1cImZhciBmYS1iYXJzXCI+PC9pPlxuICAgICAgPHVsICNtb3JlVUwgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj48L3VsPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj4gLS0+XG5cbjxuYXY+XG4gIDx1bFxuICAgIGNsYXNzPVwiYXggbmF2LW1lbnVcIlxuICAgIFtjbGFzcy5ydGxdPVwicnRsXCJcbiAgICBbY2xhc3MubmF2LWNlbnRlcl09XCJkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnXCJcbiAgICBbY2xhc3MubmF2LXZlcnRpY2FsXT1cImRpcmVjdGlvbiA9PSAndmVydGljYWwnXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTWVudTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW1zIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbjwvbmF2PlxuXG48bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZU1lbnUgbGV0LWl0ZW1zPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgPGxpXG4gICAgICBjbGFzcz1cImF4IHt7IGl0ZW0uc3R5bGUgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaXRlbS5kaXNhYmxlIH1cIlxuICAgICAgKm5nSWY9XCJpdGVtLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBpdGVtLnZpc2libGVcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgIGF4VG9vbHRpcFxuICAgICAgW3BsYWNlbWVudF09XCJpdGVtLnRvb2x0aXBQbGFjZW1lbnQgPyBpdGVtLnRvb2x0aXBQbGFjZW1lbnQgOiAnYm90dG9tJ1wiXG4gICAgICBbdG9vbHRpcF09XCJpdGVtLnRvb2x0aXAgPyBpdGVtLnRvb2x0aXAgOiAnJ1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS1zdGFydC1zaWRlXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLnN0YXJ0SWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIj48L2k+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LW1lbnUtaXRlbS10ZXh0XCIgKm5nSWY9XCJpdGVtLnRleHRcIj57e1xuICAgICAgICAgICAgaXRlbS50ZXh0XG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZW5kLXNpZGVcIj5cbiAgICAgICAgICA8aVxuICAgICAgICAgICAgY2xhc3M9XCJmYXIgZmEtYW5nbGUtZG93biBkcm9wLWljb25cIlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0udGV4dFwiXG4gICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uZW5kSWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5lbmRJY29uXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bCAqbmdJZj1cIml0ZW0uaXRlbXNcIiBjbGFzcz1cImF4LXN1Yi1tZW51IHt7IHBsYWNlbWVudENsYXNzIH19XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZU1lbnU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLml0ZW1zIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC91bD5cbiAgICA8L2xpPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLE9BQStCO0lBQ3ZFLElBQUksQ0FBUztDQUNkO0FBT0QsTUFBTSxPQUFPLGVBQWU7SUFDTjtJQUF5QjtJQUE3QyxZQUFvQixHQUFlLEVBQVUsR0FBc0I7UUFBL0MsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUd2RSxvQkFBb0IsQ0FBbUI7SUFFL0IsYUFBYSxDQUFtQjtJQUN4QyxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDN0UsQ0FBQztJQUNELElBQVcsWUFBWSxDQUFDLENBQW1CO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBTTtJQUUxQixjQUFjLENBQWtEO0lBR2hFLEdBQUcsQ0FBVTtJQUdiLFdBQVcsR0FDVCxJQUFJLFlBQVksRUFBd0IsQ0FBQztJQUczQyxJQUFJLEdBQWtCLElBQUksQ0FBQztJQUdwQixTQUFTLEdBQW1DLE1BQU0sQ0FBQztJQUduRCxJQUFJLEdBQStDLFNBQVMsQ0FBQztJQUc3RCxNQUFNLENBQVM7SUFHZixjQUFjLENBQWM7SUFFbkMsSUFDVyxjQUFjLENBQUMsQ0FBYztRQUN0QyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDVixLQUFLLFlBQVk7b0JBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztvQkFDNUMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYSxDQUFjO0lBRzNCLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBRW5ELE1BQU0sQ0FBZTtJQUM3QixJQUNXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQVcsS0FBSyxDQUFDLENBQWU7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUc7Z0JBQ04sTUFBTTtxQkFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUM7cUJBQzlDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFhLEVBQUUsSUFBaUI7UUFDOUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQ0UsSUFBSTtZQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3RFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDYixDQUFDO1lBQ0QsTUFBTSxDQUFDLEdBQUc7Z0JBQ1IsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtnQkFDbkMsU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO2FBQ2pCLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBRUQsT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO3VHQW5HVSxlQUFlOzJGQUFmLGVBQWUsa1hBR1osV0FBVyw4REMzQjNCLDI5SEE0RkE7OzJGRHBFYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVMsaUJBRUosaUJBQWlCLENBQUMsSUFBSTsrR0FNckMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS2hDLFlBQVk7c0JBRHRCLEtBQUs7Z0JBYU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxJQUFJO3NCQURILEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJSyxjQUFjO3NCQUR4QixLQUFLO2dCQWdCQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0ssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNZW51SXRlbSwgQVhQbGFjZW1lbnQgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcbmltcG9ydCB7IEFYRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBBWE1lbnVJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEFYRXZlbnQ8QVhNZW51SXRlbSwgTW91c2VFdmVudD4ge1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9jb250ZW50TWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgX21lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtZW51VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnVUZW1wbGF0ZSA/IHRoaXMuX21lbnVUZW1wbGF0ZSA6IHRoaXMuX2NvbnRlbnRNZW51VGVtcGxhdGU7XG4gIH1cbiAgcHVibGljIHNldCBtZW51VGVtcGxhdGUodjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX21lbnVUZW1wbGF0ZSA9IHY7XG4gIH1cblxuICByZXNpemVDaGFuZ2VPYnNlcnZlcjogYW55O1xuXG4gIHBsYWNlbWVudENsYXNzOiAnYXgtZmxvYXQtYm90dG9tLXN0YXJ0JyB8ICdheC1mbG9hdC1ib3R0b20tZW5kJztcblxuICBASW5wdXQoKVxuICBydGw6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhNZW51SXRlbUNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYTWVudUl0ZW1DbGlja0V2ZW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb246ICdub25lJyB8ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdub25lJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbW9kZTogJ2NsaWNrJyB8ICdjb250ZXh0JyB8ICd2aXNpYmxlJyB8ICdtYW51YWwnID0gJ3Zpc2libGUnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXJnZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmxvYXRBbGlnbm1lbnQ6IEFYUGxhY2VtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmxvYXRQbGFjZW1uZXQodjogQVhQbGFjZW1lbnQpIHtcbiAgICBpZiAodikge1xuICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxuICAgICAgICAgIHRoaXMucGxhY2VtZW50Q2xhc3MgPSAnYXgtZmxvYXQtYm90dG9tLWVuZCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgcHJpdmF0ZSBfaXRlbXM6IEFYTWVudUl0ZW1bXTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBpdGVtcygpOiBBWE1lbnVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuICBwdWJsaWMgc2V0IGl0ZW1zKHY6IEFYTWVudUl0ZW1bXSkge1xuICAgIHRoaXMuX2l0ZW1zID0gdjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9XG4gICAgICAgIHdpbmRvd1xuICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpXG4gICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gIH1cblxuICBoYW5kbGVJdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbT86IEFYTWVudUl0ZW0pIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChcbiAgICAgIGl0ZW0gJiZcbiAgICAgICghaXRlbS5pdGVtcyB8fCAhaXRlbS5pdGVtcy5maWx0ZXIoKGMpID0+IGMudmlzaWJsZSAhPT0gZmFsc2UpLmxlbmd0aCkgJiZcbiAgICAgICFpdGVtLmRpc2FibGVcbiAgICApIHtcbiAgICAgIGNvbnN0IG0gPSB7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGh0bWxFdmVudDogZSxcbiAgICAgICAgZGF0YTogaXRlbSxcbiAgICAgICAgbmFtZTogaXRlbT8ubmFtZSxcbiAgICAgIH07XG4gICAgICBpZiAoaXRlbS5vbkNsaWNrKSB7XG4gICAgICAgIGl0ZW0ub25DbGljaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KG0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJheCBtZW51LWNvbnRhaW5lciB7e3NpemV9fVwiICNjb250YWluZXI+XG4gIDx1bCBjbGFzcz1cInJvb3RcIiBbY2xhc3MuaG9yaXpvbnRhbF09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiIFtjbGFzcy52ZXJ0aWNhbF09XCJkaXJlY3Rpb249PSd2ZXJ0aWNhbCdcIiAjcm9vdD5cbiAgICA8bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZUxpc3QgbGV0LWxpc3Q+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3Q7dHJhY2tCeTp0cmFja0J5SXRlbVwiPlxuICAgICAgICA8bGkgY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbSBheCB7e2l0ZW0udHlwZSB8fCAnYXggcHJpbWFyeSd9fSB7e2l0ZW0uc3R5bGUgfHwgJ2F4IHByaW1hcnknfX1cIiBbY2xhc3MuZGlzYWJsZWRdPSdpdGVtLmRpc2FibGUnICBbY2xhc3Muc3ViSWNvbl09J2l0ZW0uaXRlbXMnIFtjbGFzcy5zdGFydEljb25dPSdpdGVtLnN0YXJ0SWNvbicgW2NsYXNzLnN0YXJ0SWNvbl09J2l0ZW0uaWNvbicgW2NsYXNzLmVuZEljb25dPSdpdGVtLmVuZEljb24nICpuZ0lmPVwiaXRlbS52aXNpYmxlIT1mYWxzZVwiIChjbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWRcIiBbY2xhc3MuZGl2aWRlcl09XCJpdGVtLmRpdmlkZXJcIiBbYXR0ci50aXRsZV09XCJpdGVtLnRvb2x0aXAgPyBpdGVtLnRvb2x0aXAgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXVpZF09XCJpdGVtLnVpZFwiXG4gICAgICAgICAgW2NsYXNzLnNwbGl0XT1cIml0ZW0uc3BsaXRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1zaWRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudVRlbXBsYXRlOyBlbHNlIG1lbnVCb2R5XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudUJvZHk+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdG9vbGJhci1tZW51LWl0ZW0tdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5zdGFydEljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS50ZXh0XCI+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5lbmRJY29uIH19IGVuZC1pY29uIGF4LW1lbnUtaXRlbS1pY29uXCIgKm5nSWY9XCJpdGVtLmVuZEljb25cIj48L2k+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1pY29uLXNpZGVcIiAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW5cIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWFuZ2xlLWRvd24gYXgtbWVudS1pdGVtLWRyb3AtaWNvblwiPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgcmVjdXJzaXZlTGlzdDtcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVxuICAgICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGxpIGNsYXNzPVwibW9yZVwiICNtb3JlTEkgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQpXCI+XG4gICAgICA8aSBjbGFzcz1cImZhciBmYS1iYXJzXCI+PC9pPlxuICAgICAgPHVsICNtb3JlVUwgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj48L3VsPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj4gLS0+XG5cbjxuYXY+XG4gIDx1bFxuICAgIGNsYXNzPVwiYXggbmF2LW1lbnVcIlxuICAgIFtjbGFzcy5ydGxdPVwicnRsXCJcbiAgICBbY2xhc3MubmF2LWNlbnRlcl09XCJkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnXCJcbiAgICBbY2xhc3MubmF2LXZlcnRpY2FsXT1cImRpcmVjdGlvbiA9PSAndmVydGljYWwnXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTWVudTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW1zIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbjwvbmF2PlxuXG48bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZU1lbnUgbGV0LWl0ZW1zPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgQGlmIChpdGVtPy52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgPGxpXG4gICAgICBjbGFzcz1cImF4IHt7IGl0ZW0uc3R5bGUgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaXRlbS5kaXNhYmxlIH1cIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgIGF4VG9vbHRpcFxuICAgICAgW3BsYWNlbWVudF09XCJpdGVtLnRvb2x0aXBQbGFjZW1lbnQgPyBpdGVtLnRvb2x0aXBQbGFjZW1lbnQgOiAnYm90dG9tJ1wiXG4gICAgICBbdG9vbHRpcF09XCJpdGVtLnRvb2x0aXAgPyBpdGVtLnRvb2x0aXAgOiAnJ1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS1zdGFydC1zaWRlXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLnN0YXJ0SWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIj48L2k+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LW1lbnUtaXRlbS10ZXh0XCIgKm5nSWY9XCJpdGVtLnRleHRcIj57e1xuICAgICAgICAgICAgaXRlbS50ZXh0XG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZW5kLXNpZGVcIj5cbiAgICAgICAgICA8aVxuICAgICAgICAgICAgY2xhc3M9XCJmYXIgZmEtYW5nbGUtZG93biBkcm9wLWljb25cIlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0udGV4dFwiXG4gICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uZW5kSWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5lbmRJY29uXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bCAqbmdJZj1cIml0ZW0uaXRlbXNcIiBjbGFzcz1cImF4LXN1Yi1tZW51IHt7IHBsYWNlbWVudENsYXNzIH19XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZU1lbnU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLml0ZW1zIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC91bD5cbiAgICA8L2xpPlxuICAgIH1cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|