@wavemaker/app-ng-runtime 11.8.0-next.141688 → 11.8.0-next.141689
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/build-task/bundles/index.umd.js +4 -4
- package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +3 -3
- package/build-task/esm2022/containers/repeat-template.build.mjs +3 -3
- package/build-task/fesm2022/index.mjs +4 -4
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/bundles/index.umd.js +3 -2
- package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +1 -1
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +4 -3
- package/components/advanced/carousel/fesm2022/index.mjs +3 -2
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +45 -32
- package/components/base/directives/show-in-device.directive.d.ts +3 -6
- package/components/base/esm2022/directives/show-in-device.directive.mjs +12 -14
- package/components/base/esm2022/public_api.mjs +2 -1
- package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +5 -7
- package/components/base/esm2022/widgets/common/base/base.component.mjs +22 -15
- package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +13 -6
- package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +4 -3
- package/components/base/fesm2022/index.mjs +45 -33
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/public_api.d.ts +1 -0
- package/components/base/widgets/common/base/base.component.d.ts +18 -1
- package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -2
- package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
- package/components/basic/search/bundles/index.umd.js +10 -9
- package/components/basic/search/esm2022/search.component.mjs +11 -10
- package/components/basic/search/fesm2022/index.mjs +10 -9
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/data/form/bundles/index.umd.js +1 -1
- package/components/data/form/esm2022/form.component.mjs +2 -2
- package/components/data/form/fesm2022/index.mjs +1 -1
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/list/bundles/index.umd.js +10 -7
- package/components/data/list/esm2022/list-item.directive.mjs +6 -1
- package/components/data/list/esm2022/list.component.mjs +7 -8
- package/components/data/list/fesm2022/index.mjs +11 -8
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +4 -0
- package/components/data/pagination/bundles/index.umd.js +10 -9
- package/components/data/pagination/esm2022/pagination.component.mjs +11 -10
- package/components/data/pagination/fesm2022/index.mjs +10 -9
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +3 -1
- package/components/data/table/esm2022/table.component.mjs +4 -2
- package/components/data/table/fesm2022/index.mjs +3 -1
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/bundles/index.umd.js +2 -2
- package/components/input/color-picker/esm2022/color-picker.component.mjs +3 -3
- package/components/input/color-picker/fesm2022/index.mjs +2 -2
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/default/bundles/index.umd.js +37 -32
- package/components/input/default/esm2022/checkbox/checkbox.component.mjs +6 -5
- package/components/input/default/esm2022/select/select.component.mjs +6 -5
- package/components/input/default/esm2022/text/base/base-input.mjs +3 -2
- package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -4
- package/components/input/default/esm2022/text/color/input-color.component.mjs +5 -4
- package/components/input/default/fesm2022/index.mjs +37 -32
- package/components/input/default/fesm2022/index.mjs.map +1 -1
- package/components/input/default/text/base/base-input.d.ts +1 -0
- package/components/input/epoch/bundles/index.umd.js +13 -11
- package/components/input/epoch/esm2022/date/date.component.mjs +2 -2
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +6 -5
- package/components/input/epoch/esm2022/time/time.component.mjs +6 -5
- package/components/input/epoch/fesm2022/index.mjs +13 -11
- package/components/input/epoch/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/bundles/index.umd.js +12 -10
- package/components/input/rating/esm2022/rating.component.mjs +13 -11
- package/components/input/rating/fesm2022/index.mjs +12 -10
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/bundles/index.umd.js +4 -3
- package/components/input/slider/esm2022/slider.component.mjs +5 -4
- package/components/input/slider/fesm2022/index.mjs +4 -3
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/bundles/index.umd.js +10 -12
- package/components/navigation/menu/esm2022/menu.module.mjs +3 -2
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +8 -12
- package/components/navigation/menu/fesm2022/index.mjs +11 -13
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
- package/components/navigation/menu/nav/nav.component.d.ts +1 -2
- package/core/bundles/index.umd.js +23 -0
- package/core/esm2022/public_api.mjs +2 -1
- package/core/esm2022/services/custom-icons-loader.service.mjs +26 -0
- package/core/fesm2022/index.mjs +25 -3
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/public_api.d.ts +1 -0
- package/core/services/custom-icons-loader.service.d.ts +7 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +19 -8
- package/runtime/base/components/app-component/app.component.d.ts +3 -1
- package/runtime/base/directives/accessroles.directive.d.ts +4 -3
- package/runtime/base/esm2022/components/app-component/app.component.mjs +9 -5
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +14 -7
- package/runtime/base/esm2022/services/i18n.service.mjs +2 -2
- package/runtime/base/fesm2022/index.mjs +20 -9
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +1 -1
|
@@ -109,6 +109,10 @@
|
|
|
109
109
|
this.destroy$ = this.destroy.asObservable();
|
|
110
110
|
this.itemClass = '';
|
|
111
111
|
this._currentItemWidgets = {};
|
|
112
|
+
/**
|
|
113
|
+
* To avoid re-rendering of widget, passing unique id as contextKey to createCustomInjector
|
|
114
|
+
*/
|
|
115
|
+
this.trackId = i1.widgetIdGenerator.nextUid();
|
|
112
116
|
this.isActive = false;
|
|
113
117
|
this.disableItem = false;
|
|
114
118
|
this.viewContainerRef = inj.get(i0.ViewContainerRef);
|
|
@@ -518,7 +522,7 @@
|
|
|
518
522
|
i0__namespace.ɵɵproperty("ngClass", listItemRef_r8.itemClass)("wmListItem", item_r4);
|
|
519
523
|
i0__namespace.ɵɵattribute("tabindex", ctx_r1.tabindex);
|
|
520
524
|
i0__namespace.ɵɵadvance(2);
|
|
521
|
-
i0__namespace.ɵɵproperty("ngTemplateOutlet", ctx_r1.listTemplate)("ngTemplateOutletInjector", ctx_r1.createCustomInjector("
|
|
525
|
+
i0__namespace.ɵɵproperty("ngTemplateOutlet", ctx_r1.listTemplate)("ngTemplateOutletInjector", ctx_r1.createCustomInjector("falt_" + listItemRef_r8.trackId, i0__namespace.ɵɵpureFunction6(9, _c5, item_r4, $index_r5, listItemRef_r8, $first_r6, $last_r7, listItemRef_r8.currentItemWidgets)))("ngTemplateOutletContext", i0__namespace.ɵɵpureFunction6(16, _c5, item_r4, $index_r5, listItemRef_r8, $first_r6, $last_r7, listItemRef_r8.currentItemWidgets));
|
|
522
526
|
} }
|
|
523
527
|
function ListComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
524
528
|
i0__namespace.ɵɵtemplate(0, ListComponent_ng_template_7_li_0_Template, 3, 23, "li", 29);
|
|
@@ -607,13 +611,12 @@
|
|
|
607
611
|
const $first_r15 = ctx.first;
|
|
608
612
|
const $last_r16 = ctx.last;
|
|
609
613
|
const listItemRef_r17 = i0__namespace.ɵɵreference(1);
|
|
610
|
-
const
|
|
611
|
-
const ctx_r1 = i0__namespace.ɵɵnextContext(2);
|
|
614
|
+
const ctx_r1 = i0__namespace.ɵɵnextContext(3);
|
|
612
615
|
i0__namespace.ɵɵclassMapInterpolate1("app-list-item group-list-item ", ctx_r1.itemsPerRowClass, "");
|
|
613
616
|
i0__namespace.ɵɵproperty("ngClass", listItemRef_r17.itemClass)("wmListItem", item_r13);
|
|
614
617
|
i0__namespace.ɵɵattribute("tabindex", ctx_r1.tabindex);
|
|
615
618
|
i0__namespace.ɵɵadvance(2);
|
|
616
|
-
i0__namespace.ɵɵproperty("ngTemplateOutlet", ctx_r1.listTemplate)("ngTemplateOutletInjector", ctx_r1.createCustomInjector("group_" +
|
|
619
|
+
i0__namespace.ɵɵproperty("ngTemplateOutlet", ctx_r1.listTemplate)("ngTemplateOutletInjector", ctx_r1.createCustomInjector("group_" + listItemRef_r17.trackId, i0__namespace.ɵɵpureFunction6(9, _c5, item_r13, $index_r14, listItemRef_r17, $first_r15, $last_r16, listItemRef_r17.currentItemWidgets)))("ngTemplateOutletContext", i0__namespace.ɵɵpureFunction6(16, _c5, item_r13, $index_r14, listItemRef_r17, $first_r15, $last_r16, listItemRef_r17.currentItemWidgets));
|
|
617
620
|
} }
|
|
618
621
|
function ListComponent_ng_template_14_li_0_Template(rf, ctx) { if (rf & 1) {
|
|
619
622
|
const _r11 = i0__namespace.ɵɵgetCurrentView();
|
|
@@ -1767,7 +1770,7 @@
|
|
|
1767
1770
|
i0__namespace.ɵɵelementEnd();
|
|
1768
1771
|
i0__namespace.ɵɵtemplate(10, ListComponent_div_10_Template, 1, 1, "div", 10)(11, ListComponent_div_11_Template, 6, 2, "div", 11)(12, ListComponent_div_12_Template, 7, 6, "div", 12)(13, ListComponent_div_13_Template, 3, 2, "div", 13)(14, ListComponent_ng_template_14_Template, 1, 1, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
|
|
1769
1772
|
} if (rf & 2) {
|
|
1770
|
-
const
|
|
1773
|
+
const groupedListTemplate_r18 = i0__namespace.ɵɵreference(15);
|
|
1771
1774
|
i0__namespace.ɵɵproperty("ngIf", ctx.title || ctx.subheading || ctx.iconclass);
|
|
1772
1775
|
i0__namespace.ɵɵadvance();
|
|
1773
1776
|
i0__namespace.ɵɵproperty("ngIf", ctx.navigation === "Inline" && !ctx.noDataFound);
|
|
@@ -1782,7 +1785,7 @@
|
|
|
1782
1785
|
i0__namespace.ɵɵproperty("hidden", ctx.noDataFound && !ctx.variableInflight);
|
|
1783
1786
|
i0__namespace.ɵɵattribute("tabindex", ctx.tabindex);
|
|
1784
1787
|
i0__namespace.ɵɵadvance();
|
|
1785
|
-
i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse",
|
|
1788
|
+
i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r18);
|
|
1786
1789
|
i0__namespace.ɵɵadvance();
|
|
1787
1790
|
i0__namespace.ɵɵproperty("ngTemplateOutlet", ctx.listLeftActionTemplate);
|
|
1788
1791
|
i0__namespace.ɵɵadvance();
|
|
@@ -1801,7 +1804,7 @@
|
|
|
1801
1804
|
type: i0.Component,
|
|
1802
1805
|
args: [{ selector: 'div[wmList]', providers: [
|
|
1803
1806
|
i1.provideAsWidgetRef(ListComponent)
|
|
1804
|
-
], template: "<div class=\"panel-heading\" *ngIf=\"title || subheading || iconclass\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" aria-hidden=\"true\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </h3>\n</div>\n\n<div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\" aria-label=\"Page navigation\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"previous\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisablePrevious : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('prev', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\">\n <i class=\"wi wi-chevron-left\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Previous page {{dataNavigator.isDisablePrevious ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</div>\n<div *ngIf=\"navigation === 'Inline' && !noDataFound\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\"> {{'Page ' + dataNavigator.dn.currentPage + ' of ' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class=\"sr-only\" *ngIf=\"enablereorder\">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n\n <div aria-live=\"assertive\" *ngIf=\"listItems && enablereorder && currentIndex\" class=\"sr-only\" >\n {{ariaText + currentIndex + ' of ' + listItems.length}}\n </div>\n</div>\n\n<ul [attr.tabindex]=\"tabindex\" class=\"app-livelist-container clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}} {{listclass}}\" role=\"list\"\n (keydown.enter)=\"handleKeyDown($event, 'select')\"\n\n (keydown.space)=\"handleKeyDown($event, 'space')\"\n\n (keydown.arrowup)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowdown)=\"handleKeyDown($event, 'focusNext')\"\n (keydown.arrowleft)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowright)=\"handleKeyDown($event, 'focusNext')\"\n\n (keydown.shift.arrowup)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowdown)=\"handleKeyDown($event, 'selectNext')\"\n (keydown.shift.arrowleft)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowright)=\"handleKeyDown($event, 'selectNext')\"\n [hidden]=\"noDataFound && !variableInflight\"\n>\n <ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li *ngFor=\"let item of fieldDefs; index as $index; first as $first; last as $last;\" class=\"app-list-item {{direction === 'horizontal' ? '' : itemsPerRowClass}}\" [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\"\n #listItemRef=\"listItemRef\"\n [attr.tabindex]=\"tabindex\"\n role=\"listitem\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('
|
|
1807
|
+
], template: "<div class=\"panel-heading\" *ngIf=\"title || subheading || iconclass\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" aria-hidden=\"true\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </h3>\n</div>\n\n<div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\" aria-label=\"Page navigation\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"previous\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisablePrevious : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('prev', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\">\n <i class=\"wi wi-chevron-left\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Previous page {{dataNavigator.isDisablePrevious ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</div>\n<div *ngIf=\"navigation === 'Inline' && !noDataFound\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\"> {{'Page ' + dataNavigator.dn.currentPage + ' of ' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class=\"sr-only\" *ngIf=\"enablereorder\">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n\n <div aria-live=\"assertive\" *ngIf=\"listItems && enablereorder && currentIndex\" class=\"sr-only\" >\n {{ariaText + currentIndex + ' of ' + listItems.length}}\n </div>\n</div>\n\n<ul [attr.tabindex]=\"tabindex\" class=\"app-livelist-container clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}} {{listclass}}\" role=\"list\"\n (keydown.enter)=\"handleKeyDown($event, 'select')\"\n\n (keydown.space)=\"handleKeyDown($event, 'space')\"\n\n (keydown.arrowup)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowdown)=\"handleKeyDown($event, 'focusNext')\"\n (keydown.arrowleft)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowright)=\"handleKeyDown($event, 'focusNext')\"\n\n (keydown.shift.arrowup)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowdown)=\"handleKeyDown($event, 'selectNext')\"\n (keydown.shift.arrowleft)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowright)=\"handleKeyDown($event, 'selectNext')\"\n [hidden]=\"noDataFound && !variableInflight\"\n>\n <ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li *ngFor=\"let item of fieldDefs; index as $index; first as $first; last as $last;\" class=\"app-list-item {{direction === 'horizontal' ? '' : itemsPerRowClass}}\" [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\"\n #listItemRef=\"listItemRef\"\n [attr.tabindex]=\"tabindex\"\n role=\"listitem\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('falt_' + listItemRef.trackId, {item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets})\"\n [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ng-template>\n <ng-container [ngTemplateOutlet]=\"listLeftActionTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listRightActionTemplate\"></ng-container>\n</ul>\n\n<div class=\"no-data-msg\" *ngIf=\"noDataFound && !variableInflight\" [textContent]=\"nodatamessage\"></div>\n\n<div class=\"loading-data-msg\" *ngIf=\"variableInflight && !pulltorefresh\">\n <span>\n <i class=\"app-icon panel-icon fa-spin\" aria-hidden=\"true\" [ngClass]=\"loadingicon\"></i>\n <span class=\"sr-only\">Loading</span>\n <span class=\"loading-text\" [textContent]=\"loadingdatamsg\"></span>\n </span>\n</div>\n\n<div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisableNext\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"next\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisableNext : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('next', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisableNext\">\n <i class=\"wi wi-chevron-right\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Next page {{dataNavigator.isDisableNext ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</div>\n\n<div class=\"panel-footer\" *ngIf=\"navigation !== 'None'\" [hidden]=\"!showNavigation || (onDemandLoad && dataNavigator.isDisableNext) || (dataNavigator.dataSize <= pagesize) || (!dataNavigator.dataSize && !dataNavigator.datasource?.pagination?.next)\">\n <nav wmPagination\n navigationalign.bind=\"navigationalign\"\n navigation.bind=\"navControls\"\n showrecordcount.bind=\"showrecordcount\"\n maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\"\n directionlinks.bind=\"directionlinks\"\n show.bind=\"!onDemandLoad\"\n paginationchange.event=\"beforePaginationChange($event, $index)\"\n ></nav>\n <a *ngIf=\"onDemandLoad\" href=\"javascript:void(0);\"\n (click)=\"dataNavigator.navigatePage('next', $event)\"\n class=\"app-button btn btn-block\"\n [ngClass]=\"paginationclass\"\n [textContent]=\"ondemandmessage\"\n ></a>\n</div>\n\n<!--This template will be displayed when groupby is specified-->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupIndex = index;\" class=\"app-list-item-group clearfix\">\n <ul [attr.tabindex]=\"tabindex\" class=\"list-group item-group\" [ngClass]=\"listclass\">\n <li class=\"app-list-item-header list-item list-group-header\" (click)=\"handleHeaderClick($event)\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4>{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\">{{groupObj.data.length}}</span>\n </div>\n </h4>\n </li>\n <ul class=\"list-group clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}}\">\n <li *ngFor=\"let item of groupObj.data; index as $index; trackBy: trackByFn; first as $first; last as $last;\" [attr.tabindex]=\"tabindex\"\n class=\"app-list-item group-list-item {{itemsPerRowClass}}\"\n [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\" #listItemRef=\"listItemRef\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('group_' + listItemRef.trackId, {item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets})\"\n [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ul>\n </ul>\n </li>\n</ng-template>\n" }]
|
|
1805
1808
|
}], () => [{ type: i0__namespace.Injector }, { type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace.ToDatePipe }, { type: i2__namespace.App }, { type: i2__namespace.AppDefaults }, { type: i0__namespace.NgZone }, { type: undefined, decorators: [{
|
|
1806
1809
|
type: i0.Attribute,
|
|
1807
1810
|
args: ['itemclass.bind']
|
|
@@ -2,6 +2,7 @@ import { Directive, ElementRef, HostBinding, HostListener, Injector, Input, Opti
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { $watch, App } from '@wm/core';
|
|
4
4
|
import { ListComponent } from './list.component';
|
|
5
|
+
import { widgetIdGenerator } from "@wm/components/base";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@wm/core";
|
|
7
8
|
import * as i2 from "./list.component";
|
|
@@ -43,6 +44,10 @@ export class ListItemDirective {
|
|
|
43
44
|
this.destroy$ = this.destroy.asObservable();
|
|
44
45
|
this.itemClass = '';
|
|
45
46
|
this._currentItemWidgets = {};
|
|
47
|
+
/**
|
|
48
|
+
* To avoid re-rendering of widget, passing unique id as contextKey to createCustomInjector
|
|
49
|
+
*/
|
|
50
|
+
this.trackId = widgetIdGenerator.nextUid();
|
|
46
51
|
this.isActive = false;
|
|
47
52
|
this.disableItem = false;
|
|
48
53
|
this.viewContainerRef = inj.get(ViewContainerRef);
|
|
@@ -137,4 +142,4 @@ export class ListItemDirective {
|
|
|
137
142
|
}], wmListItem: [{
|
|
138
143
|
type: Input
|
|
139
144
|
}] }); })();
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2xpc3Qvc3JjL2xpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLFFBQVEsRUFDRyxnQkFBZ0IsRUFDOUIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQWtCLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBUWpELE1BQU0sT0FBTyxpQkFBaUI7SUFpQjFCLE9BQU87UUFDSCw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE1BQU0saUJBQWlC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QUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1lBQ2pGLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELDJDQUEyQztRQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztrRkE1SFEsaUJBQWlCO29FQUFqQixpQkFBaUI7WUFBakIsc0ZBQUEsYUFBUyxJQUFROztZQUFqQixzQ0FBaUIsaUNBQUE7OztpRkFBakIsaUJBQWlCO2NBSjdCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFLGFBQWE7YUFDMUI7O3NCQXVENEUsUUFBUTtxQkF6Q3BELFFBQVE7a0JBQXBDLFdBQVc7bUJBQUMsY0FBYztZQUNRLFdBQVc7a0JBQTdDLFdBQVc7bUJBQUMsb0JBQW9CO1lBR2pDLE9BQU87a0JBRE4sWUFBWTttQkFBQyxPQUFPO1lBa0NSLFVBQVU7a0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LCBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JPZkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7JGludm9rZVdhdGNoZXJzLCAkd2F0Y2gsIEFwcH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbd21MaXN0SXRlbV0nLFxuICAgIGV4cG9ydEFzOiAnbGlzdEl0ZW1SZWYnXG59KVxuZXhwb3J0IGNsYXNzIExpc3RJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICAgIHB1YmxpYyBpdGVtO1xuICAgIHB1YmxpYyBjb250ZXh0O1xuICAgIHB1YmxpYyBkZXN0cm95OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIHB1YmxpYyBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5kZXN0cm95LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdENvbXBvbmVudDogTGlzdENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgaXRlbUNsYXNzID0gJyc7XG4gICAgcHJpdmF0ZSBfY3VycmVudEl0ZW1XaWRnZXRzID0ge307XG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZS1pdGVtJykgZGlzYWJsZUl0ZW0gPSBmYWxzZTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBvbkZvY3VzKCkge1xuICAgICAgICAvLyBtYWludGFpbnMgd2hpY2ggZWxlbWVudCBpcyBmb2N1c2VkL3NlbGVjdGVkIG1vc3QgcmVjZW50bHkuXG4gICAgICAgIHRoaXMubGlzdENvbXBvbmVudC5sYXN0U2VsZWN0ZWRJdGVtID0gdGhpcztcbiAgICB9XG5cbiAgICBnZXQgJGluZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmluZGV4O1xuICAgIH1cblxuICAgIGdldCAkZXZlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5ldmVuO1xuICAgIH1cblxuICAgIGdldCAkb2RkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0Lm9kZDtcbiAgICB9XG5cbiAgICBnZXQgJGZpcnN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmZpcnN0O1xuICAgIH1cblxuICAgIGdldCAkbGFzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5sYXN0O1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50SXRlbVdpZGdldHMgKCkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1t3aWRnZXQtaWRdJykpO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih0aGlzLl9jdXJyZW50SXRlbVdpZGdldHMsIGNvbXBvbmVudEVsZW1lbnRzLnJlZHVjZSgocmVzdWx0LCBjb21wOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFtjb21wLndpZGdldC5uYW1lXSA9IGNvbXAud2lkZ2V0O1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSwge30pKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgd21MaXN0SXRlbSh2YWwpIHtcbiAgICAgICAgdGhpcy5pdGVtID0gdmFsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qOiBJbmplY3RvciwgZWxSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgYXBwOiBBcHAsIEBPcHRpb25hbCgpIHB1YmxpYyBfdmlld1BhcmVudDogTGlzdENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYgPSBpbmouZ2V0KFZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBlbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQgPSBfdmlld1BhcmVudDtcbiAgICAgICAgLy8gdGhpcy5jb250ZXh0ID0gKDxOZ0Zvck9mQ29udGV4dDxMaXN0SXRlbURpcmVjdGl2ZT4+KDxhbnk+aW5qKS52aWV3LmNvbnRleHQpO1xuICAgICAgICB0aGlzLmNvbnRleHQgPSAodGhpcy5pbmogYXMgYW55KS5fbFZpZXdbOF07XG4gICAgICAgIC8vdGhpcy5jb250ZXh0ID0gKHRoaXMudmlld0NvbnRhaW5lclJlZiBhcyBhbnkpLl9ob3N0TFZpZXcuZmluZCh0ID0+IHQgJiYgISF0LiRpbXBsaWNpdCk7XG4gICAgICAgIHRoaXMuaXRlbUNsYXNzV2F0Y2hlcih0aGlzLmxpc3RDb21wb25lbnQpO1xuICAgICAgICB0aGlzLmRpc2FibGVJdGVtV2F0Y2hlcih0aGlzLmxpc3RDb21wb25lbnQpO1xuICAgICAgICAkKHRoaXMubmF0aXZlRWxlbWVudCkuZGF0YSgnbGlzdEl0ZW1Db250ZXh0JywgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlcldhdGNoKGV4cHJlc3Npb246IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgICAgIC8vIFJlbW92aW5nIG5nRm9yIGNvbnRleHQgYXMgdGhlIHNhbWUgcHJvcGVydGllcyBhcmUgYXZhaWxibGUgb24gbGlzdGl0ZW0gc2NvcGUuXG4gICAgICAgIC8vIHBhc3Npbmcgdmlld3BhcmVudCBjb250ZXh0IGZvciBhY2Nlc3NpbmcgdmFyaWJhbGVzIGFuZCB3aWRnZXRzLlxuICAgICAgICAvL1tDU1BdOiBleHByZXNzaW9uIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBjb21wb25lbnQgYXMgZS5nLiAnaXRlbS5jbGFzc05hbWUnXG4gICAgICAgIHRoaXMuZGVzdHJveSQuc3Vic2NyaWJlKCR3YXRjaChleHByZXNzaW9uLCAodGhpcy5saXN0Q29tcG9uZW50IGFzIGFueSkudmlld1BhcmVudCwgdGhpcywgY2FsbGJhY2spKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGl0ZW1DbGFzc1dhdGNoZXIobGlzdENvbXBvbmVudDogTGlzdENvbXBvbmVudCkge1xuICAgICAgICBpZiAobGlzdENvbXBvbmVudC5iaW5kaXRlbWNsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyV2F0Y2gobGlzdENvbXBvbmVudC5iaW5kaXRlbWNsYXNzLCBudiA9PiB0aGlzLml0ZW1DbGFzcyA9IG52IHx8ICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNsYXNzID0gbGlzdENvbXBvbmVudC5pdGVtY2xhc3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc2FibGVJdGVtV2F0Y2hlcigkbGlzdDogTGlzdENvbXBvbmVudCkge1xuICAgICAgICBpZiAoJGxpc3QuYmluZGRpc2FibGVpdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyV2F0Y2goJGxpc3QuYmluZGRpc2FibGVpdGVtLCBudiA9PiB0aGlzLmRpc2FibGVJdGVtID0gbnYgfHwgZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlSXRlbSA9ICRsaXN0LmRpc2FibGVpdGVtIHx8IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcENVREhhbmRsZXJzKCkge1xuICAgICAgICBjb25zdCAkZWRpdEl0ZW0gPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmVkaXQtbGlzdC1pdGVtJyk7XG4gICAgICAgIGNvbnN0ICRkZWxldGVJdGVtID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kZWxldGUtbGlzdC1pdGVtJyk7XG5cbiAgICAgICAgaWYgKCRlZGl0SXRlbSkge1xuICAgICAgICAgICAgLy8gVHJpZ2dlcmVkIG9uIGNsaWNrIG9mIGVkaXQgYWN0aW9uXG4gICAgICAgICAgICAkZWRpdEl0ZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBldnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdENvbXBvbmVudC51cGRhdGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCRkZWxldGVJdGVtKSB7XG4gICAgICAgICAgICAvLyBUcmlnZ2VyZWQgb24gY2xpY2sgb2YgZGVsZXRlIGFjdGlvblxuICAgICAgICAgICAgJGRlbGV0ZUl0ZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBldnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdENvbXBvbmVudC5kZWxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5saXN0Q29tcG9uZW50Lm1vdXNlRW50ZXJDQikge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50Lmludm9rZUV2ZW50Q2FsbGJhY2soJ21vdXNlZW50ZXInLCB7d2lkZ2V0OiB0aGlzLCAkZXZlbnR9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxpc3RDb21wb25lbnQubW91c2VMZWF2ZUNCKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQuaW52b2tlRXZlbnRDYWxsYmFjaygnbW91c2VsZWF2ZScsIHt3aWRnZXQ6IHRoaXMsICRldmVudH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYWRkaW5nIGl0ZW0gYXR0cmlidXRlIG9uIGV2ZXJ5IGxpc3QgaXRlbVxuICAgICAgICAkKHRoaXMubmF0aXZlRWxlbWVudCkuYXR0cignbGlzdGl0ZW1pbmRleCcsIHRoaXMuJGluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0VXBDVURIYW5kbGVycygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2xpc3Qvc3JjL2xpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLFFBQVEsRUFDUixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFRdEQsTUFBTSxPQUFPLGlCQUFpQjtJQXFCMUIsT0FBTztRQUNILDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJ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UUFDUCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1lBQ2pGLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELDJDQUEyQztRQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztrRkFoSVEsaUJBQWlCO29FQUFqQixpQkFBaUI7WUFBakIsc0ZBQUEsYUFBUyxJQUFROztZQUFqQixzQ0FBaUIsaUNBQUE7OztpRkFBakIsaUJBQWlCO2NBSjdCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFLGFBQWE7YUFDMUI7O3NCQTJENEUsUUFBUTtxQkF6Q3BELFFBQVE7a0JBQXBDLFdBQVc7bUJBQUMsY0FBYztZQUNRLFdBQVc7a0JBQTdDLFdBQVc7bUJBQUMsb0JBQW9CO1lBR2pDLE9BQU87a0JBRE4sWUFBWTttQkFBQyxPQUFPO1lBa0NSLFVBQVU7a0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyR3YXRjaCwgQXBwfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7TGlzdENvbXBvbmVudH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge3dpZGdldElkR2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvbXBvbmVudHMvYmFzZVwiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3dtTGlzdEl0ZW1dJyxcbiAgICBleHBvcnRBczogJ2xpc3RJdGVtUmVmJ1xufSlcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBwdWJsaWMgaXRlbTtcbiAgICBwdWJsaWMgY29udGV4dDtcbiAgICBwdWJsaWMgZGVzdHJveTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgZGVzdHJveSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuZGVzdHJveS5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3RDb21wb25lbnQ6IExpc3RDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIGl0ZW1DbGFzcyA9ICcnO1xuICAgIHByaXZhdGUgX2N1cnJlbnRJdGVtV2lkZ2V0cyA9IHt9O1xuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcbiAgICAvKipcbiAgICAgKiBUbyBhdm9pZCByZS1yZW5kZXJpbmcgb2Ygd2lkZ2V0LCBwYXNzaW5nIHVuaXF1ZSBpZCBhcyBjb250ZXh0S2V5IHRvIGNyZWF0ZUN1c3RvbUluamVjdG9yXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHRyYWNrSWQgPSB3aWRnZXRJZEdlbmVyYXRvci5uZXh0VWlkKCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlLWl0ZW0nKSBkaXNhYmxlSXRlbSA9IGZhbHNlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKSB7XG4gICAgICAgIC8vIG1haW50YWlucyB3aGljaCBlbGVtZW50IGlzIGZvY3VzZWQvc2VsZWN0ZWQgbW9zdCByZWNlbnRseS5cbiAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50Lmxhc3RTZWxlY3RlZEl0ZW0gPSB0aGlzO1xuICAgIH1cblxuICAgIGdldCAkaW5kZXgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuaW5kZXg7XG4gICAgfVxuXG4gICAgZ2V0ICRldmVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmV2ZW47XG4gICAgfVxuXG4gICAgZ2V0ICRvZGQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQub2RkO1xuICAgIH1cblxuICAgIGdldCAkZmlyc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuZmlyc3Q7XG4gICAgfVxuXG4gICAgZ2V0ICRsYXN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0Lmxhc3Q7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnRJdGVtV2lkZ2V0cyAoKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW3dpZGdldC1pZF0nKSk7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHRoaXMuX2N1cnJlbnRJdGVtV2lkZ2V0cywgY29tcG9uZW50RWxlbWVudHMucmVkdWNlKChyZXN1bHQsIGNvbXA6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2NvbXAud2lkZ2V0Lm5hbWVdID0gY29tcC53aWRnZXQ7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LCB7fSkpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB3bUxpc3RJdGVtKHZhbCkge1xuICAgICAgICB0aGlzLml0ZW0gPSB2YWw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmo6IEluamVjdG9yLCBlbFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBhcHA6IEFwcCwgQE9wdGlvbmFsKCkgcHVibGljIF92aWV3UGFyZW50OiBMaXN0Q29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZiA9IGluai5nZXQoVmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMubGlzdENvbXBvbmVudCA9IF92aWV3UGFyZW50O1xuICAgICAgICAvLyB0aGlzLmNvbnRleHQgPSAoPE5nRm9yT2ZDb250ZXh0PExpc3RJdGVtRGlyZWN0aXZlPj4oPGFueT5pbmopLnZpZXcuY29udGV4dCk7XG4gICAgICAgIHRoaXMuY29udGV4dCA9ICh0aGlzLmluaiBhcyBhbnkpLl9sVmlld1s4XTtcbiAgICAgICAgLy90aGlzLmNvbnRleHQgPSAodGhpcy52aWV3Q29udGFpbmVyUmVmIGFzIGFueSkuX2hvc3RMVmlldy5maW5kKHQgPT4gdCAmJiAhIXQuJGltcGxpY2l0KTtcbiAgICAgICAgdGhpcy5pdGVtQ2xhc3NXYXRjaGVyKHRoaXMubGlzdENvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZUl0ZW1XYXRjaGVyKHRoaXMubGlzdENvbXBvbmVudCk7XG4gICAgICAgICQodGhpcy5uYXRpdmVFbGVtZW50KS5kYXRhKCdsaXN0SXRlbUNvbnRleHQnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyV2F0Y2goZXhwcmVzc2lvbjogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgbmdGb3IgY29udGV4dCBhcyB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFyZSBhdmFpbGJsZSBvbiBsaXN0aXRlbSBzY29wZS5cbiAgICAgICAgLy8gcGFzc2luZyB2aWV3cGFyZW50IGNvbnRleHQgZm9yIGFjY2Vzc2luZyB2YXJpYmFsZXMgYW5kIHdpZGdldHMuXG4gICAgICAgIC8vW0NTUF06IGV4cHJlc3Npb24gd2lsbCBiZSBnZW5lcmF0ZWQgaW4gdGhlIGNvbXBvbmVudCBhcyBlLmcuICdpdGVtLmNsYXNzTmFtZSdcbiAgICAgICAgdGhpcy5kZXN0cm95JC5zdWJzY3JpYmUoJHdhdGNoKGV4cHJlc3Npb24sICh0aGlzLmxpc3RDb21wb25lbnQgYXMgYW55KS52aWV3UGFyZW50LCB0aGlzLCBjYWxsYmFjaykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXRlbUNsYXNzV2F0Y2hlcihsaXN0Q29tcG9uZW50OiBMaXN0Q29tcG9uZW50KSB7XG4gICAgICAgIGlmIChsaXN0Q29tcG9uZW50LmJpbmRpdGVtY2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJXYXRjaChsaXN0Q29tcG9uZW50LmJpbmRpdGVtY2xhc3MsIG52ID0+IHRoaXMuaXRlbUNsYXNzID0gbnYgfHwgJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pdGVtQ2xhc3MgPSBsaXN0Q29tcG9uZW50Lml0ZW1jbGFzcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZUl0ZW1XYXRjaGVyKCRsaXN0OiBMaXN0Q29tcG9uZW50KSB7XG4gICAgICAgIGlmICgkbGlzdC5iaW5kZGlzYWJsZWl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJXYXRjaCgkbGlzdC5iaW5kZGlzYWJsZWl0ZW0sIG52ID0+IHRoaXMuZGlzYWJsZUl0ZW0gPSBudiB8fCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVJdGVtID0gJGxpc3QuZGlzYWJsZWl0ZW0gfHwgZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwQ1VESGFuZGxlcnMoKSB7XG4gICAgICAgIGNvbnN0ICRlZGl0SXRlbSA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZWRpdC1saXN0LWl0ZW0nKTtcbiAgICAgICAgY29uc3QgJGRlbGV0ZUl0ZW0gPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRlbGV0ZS1saXN0LWl0ZW0nKTtcblxuICAgICAgICBpZiAoJGVkaXRJdGVtKSB7XG4gICAgICAgICAgICAvLyBUcmlnZ2VyZWQgb24gY2xpY2sgb2YgZWRpdCBhY3Rpb25cbiAgICAgICAgICAgICRlZGl0SXRlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGV2dCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50LnVwZGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJGRlbGV0ZUl0ZW0pIHtcbiAgICAgICAgICAgIC8vIFRyaWdnZXJlZCBvbiBjbGljayBvZiBkZWxldGUgYWN0aW9uXG4gICAgICAgICAgICAkZGVsZXRlSXRlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGV2dCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50LmRlbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RDb21wb25lbnQubW91c2VFbnRlckNCKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQuaW52b2tlRXZlbnRDYWxsYmFjaygnbW91c2VlbnRlcicsIHt3aWRnZXQ6IHRoaXMsICRldmVudH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubGlzdENvbXBvbmVudC5tb3VzZUxlYXZlQ0IpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdENvbXBvbmVudC5pbnZva2VFdmVudENhbGxiYWNrKCdtb3VzZWxlYXZlJywge3dpZGdldDogdGhpcywgJGV2ZW50fSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBhZGRpbmcgaXRlbSBhdHRyaWJ1dGUgb24gZXZlcnkgbGlzdCBpdGVtXG4gICAgICAgICQodGhpcy5uYXRpdmVFbGVtZW50KS5hdHRyKCdsaXN0aXRlbWluZGV4JywgdGhpcy4kaW5kZXgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRVcENVREhhbmRsZXJzKCk7XG4gICAgfVxufVxuIl19
|