@indigina/kendo 1.1.27 → 1.2.0

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.
Files changed (113) hide show
  1. package/assets/indigina-theme.css +1 -1
  2. package/esm2020/lib/angular/extensions/ReEntrySubscription.mjs +1 -1
  3. package/esm2020/lib/angular/forms/directives/debounce.directive.mjs +6 -6
  4. package/esm2020/lib/angular/forms/extensions/FormGroupWithErrors.mjs +1 -1
  5. package/esm2020/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +3 -3
  6. package/esm2020/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +5 -5
  7. package/esm2020/lib/angular/forms/widgets/field/field.component.mjs +4 -4
  8. package/esm2020/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +5 -5
  9. package/esm2020/lib/angular/indigina.module.mjs +5 -5
  10. package/esm2020/lib/angular/models/AppSettings.mjs +3 -3
  11. package/esm2020/lib/angular/models/IndiginaConfiguration.mjs +3 -3
  12. package/esm2020/lib/angular/services/http.service.mjs +5 -5
  13. package/esm2020/lib/angular/services/locale-settings.service.mjs +3 -3
  14. package/esm2020/lib/angular/services/settings.service.mjs +3 -3
  15. package/esm2020/lib/angular/services/toastr.service.mjs +4 -4
  16. package/esm2020/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +3 -3
  17. package/esm2020/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +4 -4
  18. package/esm2020/lib/angular/widgets/side-menu/side-menu.component.mjs +3 -3
  19. package/esm2020/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.mjs +1 -1
  20. package/esm2020/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.mjs +1 -1
  21. package/esm2020/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.mjs +1 -1
  22. package/esm2020/lib/angular/widgets/tree-view/ContentResolver/Resolvers/XmlResolver.mjs +2 -2
  23. package/esm2020/lib/angular/widgets/tree-view/models/ResolverResult.mjs +1 -1
  24. package/esm2020/lib/angular/widgets/tree-view/models/TreeViewNode.mjs +4 -4
  25. package/esm2020/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +3 -3
  26. package/esm2020/lib/angular/widgets/tree-view/tree-view.component.mjs +10 -10
  27. package/esm2020/lib/components/account-menu/account-menu.component.mjs +4 -4
  28. package/esm2020/lib/components/azure-login-callback/azure-login-callback.component.mjs +3 -3
  29. package/esm2020/lib/components/language-selector/language-selector.component.mjs +3 -3
  30. package/esm2020/lib/config/msal-instance.factory.mjs +3 -3
  31. package/esm2020/lib/directives/requirePermission.directive.mjs +4 -4
  32. package/esm2020/lib/interceptors/auth-headers.interceptor.mjs +4 -4
  33. package/esm2020/lib/kendo.module.mjs +5 -5
  34. package/esm2020/lib/models/ActivityFilter.mjs +1 -1
  35. package/esm2020/lib/models/AzureB2CSettings.mjs +1 -1
  36. package/esm2020/lib/models/CustomFilter.mjs +1 -1
  37. package/esm2020/lib/models/Permissions.mjs +1 -1
  38. package/esm2020/lib/services/account.service.mjs +4 -4
  39. package/esm2020/lib/services/activity.filter.service.mjs +4 -4
  40. package/esm2020/lib/services/auth-provider.resolver.mjs +3 -3
  41. package/esm2020/lib/services/auth.providers/azureb2c.provider.mjs +1 -1
  42. package/esm2020/lib/services/base.account.service.mjs +1 -1
  43. package/esm2020/lib/services/endpoints.mjs +1 -1
  44. package/esm2020/lib/services/entity.service.mjs +1 -1
  45. package/esm2020/lib/services/partner.service.mjs +3 -3
  46. package/esm2020/lib/services/permissions.service.mjs +4 -4
  47. package/esm2020/lib/services/signalr/signalr.service.mjs +4 -4
  48. package/esm2020/lib/services/url-params.model.mjs +1 -1
  49. package/esm2020/lib/widgets/activity-filter/FilterConverter.mjs +1 -1
  50. package/esm2020/lib/widgets/activity-filter/activity-filter.component.mjs +3 -3
  51. package/esm2020/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +3 -3
  52. package/esm2020/lib/widgets/current-timezone/current-timezone.component.mjs +4 -4
  53. package/esm2020/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +3 -3
  54. package/esm2020/lib/widgets/entity-edit/entity-edit-form.component.mjs +3 -3
  55. package/esm2020/lib/widgets/entity-edit/entity-edit.component.mjs +4 -4
  56. package/esm2020/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.mjs +8 -8
  57. package/esm2020/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +7 -7
  58. package/esm2020/lib/widgets/entity-list/Command.mjs +1 -1
  59. package/esm2020/lib/widgets/entity-list/UrlSerializer.mjs +1 -1
  60. package/esm2020/lib/widgets/entity-list/entity-list.component.mjs +4 -4
  61. package/esm2020/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +3 -3
  62. package/esm2020/lib/widgets/entity-list/user-list-admin.component.mjs +3 -3
  63. package/esm2020/lib/widgets/excel-export-button/excel-export-button.component.mjs +3 -3
  64. package/esm2020/lib/widgets/footer-bar/footer-bar.component.mjs +3 -3
  65. package/esm2020/lib/widgets/modal-window/modal-window.component.mjs +3 -3
  66. package/esm2020/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +3 -3
  67. package/esm2020/lib/widgets/top-bar/top-bar.component.mjs +3 -3
  68. package/fesm2015/indigina-kendo.mjs +160 -160
  69. package/fesm2015/indigina-kendo.mjs.map +1 -1
  70. package/fesm2020/indigina-kendo.mjs +160 -160
  71. package/fesm2020/indigina-kendo.mjs.map +1 -1
  72. package/lib/angular/forms/directives/debounce.directive.d.ts +1 -1
  73. package/lib/angular/forms/extensions/FormGroupWithErrors.d.ts +2 -6
  74. package/lib/angular/forms/widgets/field/field-input/field-input.component.d.ts +1 -1
  75. package/lib/angular/forms/widgets/field/field-input/number-input.component.d.ts +1 -1
  76. package/lib/angular/forms/widgets/field/field.component.d.ts +1 -1
  77. package/lib/angular/forms/widgets/general-errors/general-errors.component.d.ts +1 -1
  78. package/lib/angular/widgets/live-updates-control/live-updates-control.component.d.ts +1 -1
  79. package/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  80. package/lib/angular/widgets/side-menu/side-menu.component.d.ts +1 -1
  81. package/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.d.ts +1 -1
  82. package/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.d.ts +1 -1
  83. package/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.d.ts +1 -1
  84. package/lib/angular/widgets/tree-view/models/ResolverResult.d.ts +1 -1
  85. package/lib/angular/widgets/tree-view/models/TreeViewNode.d.ts +2 -2
  86. package/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.d.ts +1 -1
  87. package/lib/angular/widgets/tree-view/tree-view.component.d.ts +1 -1
  88. package/lib/components/account-menu/account-menu.component.d.ts +1 -1
  89. package/lib/components/azure-login-callback/azure-login-callback.component.d.ts +1 -1
  90. package/lib/components/language-selector/language-selector.component.d.ts +1 -1
  91. package/lib/directives/requirePermission.directive.d.ts +1 -1
  92. package/lib/models/ActivityFilter.d.ts +2 -2
  93. package/lib/models/AzureB2CSettings.d.ts +1 -1
  94. package/lib/models/CustomFilter.d.ts +1 -1
  95. package/lib/models/Permissions.d.ts +1 -3
  96. package/lib/services/url-params.model.d.ts +1 -3
  97. package/lib/widgets/activity-filter/activity-filter.component.d.ts +1 -1
  98. package/lib/widgets/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  99. package/lib/widgets/current-timezone/current-timezone.component.d.ts +1 -1
  100. package/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.d.ts +1 -1
  101. package/lib/widgets/entity-edit/entity-edit-form.component.d.ts +1 -1
  102. package/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.d.ts +1 -1
  103. package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -1
  104. package/lib/widgets/entity-list/Command.d.ts +1 -1
  105. package/lib/widgets/entity-list/entity-list.component.d.ts +2 -2
  106. package/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.d.ts +1 -1
  107. package/lib/widgets/entity-list/user-list-admin.component.d.ts +1 -1
  108. package/lib/widgets/excel-export-button/excel-export-button.component.d.ts +1 -1
  109. package/lib/widgets/footer-bar/footer-bar.component.d.ts +1 -1
  110. package/lib/widgets/modal-window/modal-window.component.d.ts +1 -1
  111. package/lib/widgets/multicheck-filter/multicheck-filter.component.d.ts +1 -1
  112. package/lib/widgets/top-bar/top-bar.component.d.ts +1 -1
  113. package/package.json +25 -25
@@ -183,9 +183,9 @@ export class EntityListComponent {
183
183
  this.getData();
184
184
  }
185
185
  }
186
- EntityListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityListComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
187
- EntityListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityListComponent, selector: "entity-list", inputs: { service: "service", filters: "filters", fields: "fields", commands: "commands", rowClass: "rowClass", defaultSort: "defaultSort" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["confirmDialog"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i5.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: i5.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { kind: "directive", type: i5.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i5.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i5.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i5.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i5.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i5.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i5.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i5.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i5.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i5.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i5.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "directive", type: i5.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i5.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { kind: "directive", type: i6.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "component", type: i9.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "directive", type: i10.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityListComponent, decorators: [{
186
+ EntityListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: EntityListComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
187
+ EntityListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: EntityListComponent, selector: "entity-list", inputs: { service: "service", filters: "filters", fields: "fields", commands: "commands", rowClass: "rowClass", defaultSort: "defaultSort" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["confirmDialog"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i5.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: i5.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { kind: "directive", type: i5.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i5.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i5.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i5.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i5.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i5.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "component", type: i5.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i5.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i5.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i5.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i5.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "directive", type: i5.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i5.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { kind: "directive", type: i6.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "component", type: i9.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "directive", type: i10.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: EntityListComponent, decorators: [{
189
189
  type: Component,
190
190
  args: [{ selector: 'entity-list', template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n" }]
191
191
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }]; }, propDecorators: { service: [{
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
206
206
  type: ViewChild,
207
207
  args: ['confirmDialog', { static: true }]
208
208
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFFL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxtQkFBbUI7SUE2QjlCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYztRQUZkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFsQmpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHN0QsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQXNDLElBQUksZUFBZSxDQUVsRSxJQUFJLENBQUMsQ0FBQztRQUNELGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBWSxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBWTtZQUMvQixFQUFFLElBQUks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QUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOztnSEE5TlUsbUJBQW1CO29HQUFuQixtQkFBbUIsd1hDeENoQyw4K0dBa0dBOzJGRDFEYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTt5SkFNaEIsT0FBTztzQkFEYixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLE1BQU07Z0JBR0EsTUFBTTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YVN0YXRlQ2hhbmdlRXZlbnQsXG4gIFJvd0NsYXNzQXJncyxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQge1xuICBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLFxuICBGaWx0ZXJEZXNjcmlwdG9yLFxuICBTb3J0RGVzY3JpcHRvcixcbiAgU3RhdGUsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGFnZSc7XG5pbXBvcnQgeyBJRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4vQ29tbWFuZCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vRmllbGQnO1xuaW1wb3J0IHsgdXJsRGVzZXJpYWxpemUsIHVybFNlcmlhbGl6ZSB9IGZyb20gJy4vVXJsU2VyaWFsaXplcic7XG5cbmNvbnN0IG5hbWVGaWVsZCA9ICduYW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50aXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRpdHktbGlzdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXJ2aWNlOiBJRW50aXR5U2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IEFycmF5PEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yPjtcbiAgQElucHV0KClcbiAgcHVibGljIGZpZWxkcz86IEZpZWxkW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21tYW5kcz86IENvbW1hbmRbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHJvd0NsYXNzPzogKGRhdGFJdGVtOiBOYW1lZE1vZGVsLCBpbmRleDogbnVtYmVyKSA9PiB7fTtcbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRTb3J0PzogU29ydERlc2NyaXB0b3JbXTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I+KCk7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm1EaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZGlhbG9nOiBDb25maXJtRGlhbG9nQ29tcG9uZW50O1xuICBwdWJsaWMgZ3JpZFN0YXRlOiBTdGF0ZSA9IHt9O1xuICBwdWJsaWMgcGFnZTogQmVoYXZpb3JTdWJqZWN0PFBhZ2U8TmFtZWRNb2RlbD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICBQYWdlPE5hbWVkTW9kZWw+XG4gID4obnVsbCk7XG4gIHB1YmxpYyBsb2FkaW5ncyA9IDA7XG4gIHB1YmxpYyBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGdyaWRGaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBkZWZhdWx0RmllbGRzOiBGaWVsZFtdID0gW1xuICAgIHsgbmFtZTogJ25hbWUnLCBsYWJlbDogJ05hbWUnLCBzb3J0YWJsZTogdHJ1ZSwgcG9zaXRpb246IDAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuZ2V0QWxsRGF0YSA9IHRoaXMuZ2V0QWxsRGF0YS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0Um93Q2xhc3MgPSB0aGlzLmdldFJvd0NsYXNzLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCFjaGFuZ2VzLmZpbHRlcnMgfHwgY2hhbmdlcy5maWx0ZXJzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRGaWx0ZXJlZERhdGEoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZEZpZWxkcyA9ICh0aGlzLmZpZWxkcyB8fCBbXSlcbiAgICAgIC5jb25jYXQodGhpcy5kZWZhdWx0RmllbGRzKVxuICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiAobGVmdC5wb3NpdGlvbiB8fCAwKSAtIChyaWdodC5wb3NpdGlvbiB8fCAwKSk7XG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWx0ZXJzID8gdGhpcy5maWx0ZXJzIDogW107XG4gICAgdGhpcy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHMgPyB0aGlzLmNvbW1hbmRzIDogW107XG4gICAgdGhpcy5yb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoYXN5bmMgKGZyYWdtZW50OiBzdHJpbmcpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzdG9yZUdyaWRTdGF0ZShuZXcgVVJMU2VhcmNoUGFyYW1zKGZyYWdtZW50KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFswXSA9IHBhcmFtcy5pZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQucG9wKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSGFuZGxlcih7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ29uZmlybWF0aW9uLkRlbGV0ZScpICtcbiAgICAgICAgJzogXCInICtcbiAgICAgICAgZGF0YUl0ZW0ubmFtZSArXG4gICAgICAgICdcIj8nLFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmUoZGF0YUl0ZW0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RJdGVtKHsgZGF0YUl0ZW0gfSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtkYXRhSXRlbS5pZF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKHRoaXMuZ3JpZFN0YXRlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQuc3Vic2NyaWJlKChkYXRhOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9KSA9PlxuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoZGF0YSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVhY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRhdGFTdGF0ZUNoYW5nZShzdGF0ZTogRGF0YVN0YXRlQ2hhbmdlRXZlbnQpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2godmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IHZhbHVlO1xuICAgIHRoaXMuZ3JpZFN0YXRlLnNraXAgPSAwO1xuICAgIHRoaXMuZ2V0RmlsdGVyZWREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsRGF0YSgpOiBPYnNlcnZhYmxlPFBhZ2U8TmFtZWRNb2RlbD4+IHtcbiAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZ3JpZFN0YXRlKTtcbiAgICBkZWxldGUgc3RhdGUuc2tpcDtcbiAgICBkZWxldGUgc3RhdGUudGFrZTtcblxuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0UGFnZShzdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Um93Q2xhc3MoY29udGV4dDogUm93Q2xhc3NBcmdzKTogT2JqZWN0IHtcbiAgICByZXR1cm4gdGhpcy5yb3dDbGFzcyAmJiBjb250ZXh0XG4gICAgICA/IHRoaXMucm93Q2xhc3MoY29udGV4dC5kYXRhSXRlbSwgY29udGV4dC5pbmRleClcbiAgICAgIDoge307XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmlsdGVyZWREYXRhKCkge1xuICAgIHRoaXMuZ3JpZFN0YXRlLmZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKHRoaXMuZ3JpZFN0YXRlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVHcmlkKGRhdGE6IE5hbWVkTW9kZWwpIHtcbiAgICBjb25zdCBjdXJyZW50UGFnZSA9IHsgLi4udGhpcy5wYWdlLnZhbHVlIH07XG4gICAgY29uc3QgZXhpc3RzID0gY3VycmVudFBhZ2UuZGF0YS5maWx0ZXIoKHgpID0+IHguaWQgPT09IGRhdGEuaWQpO1xuICAgIGlmIChleGlzdHMubGVuZ3RoKSB7XG4gICAgICBjdXJyZW50UGFnZS5kYXRhW2N1cnJlbnRQYWdlLmRhdGEuaW5kZXhPZihleGlzdHNbMF0pXSA9IGRhdGE7XG4gICAgICB0aGlzLnBhZ2UubmV4dChjdXJyZW50UGFnZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjdXJyZW50UGFnZS50b3RhbCsrO1xuICAgIGN1cnJlbnRQYWdlLmRhdGEuc3BsaWNlKDAsIDAsIGRhdGEpO1xuICAgIGlmIChjdXJyZW50UGFnZS5kYXRhLmxlbmd0aCA+IHRoaXMuZ3JpZFN0YXRlLnRha2UpIHtcbiAgICAgIGN1cnJlbnRQYWdlLmRhdGEuc3BsaWNlKHRoaXMucGFnZS52YWx1ZS5kYXRhLmxlbmd0aCAtIDEsIDEpO1xuICAgIH1cblxuICAgIHRoaXMucGFnZS5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICB0aGlzLnNlbGVjdGVkWzBdID0gZGF0YS5pZDtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YS5pZF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERhdGEoKSB7XG4gICAgdGhpcy5sb2FkaW5ncysrO1xuICAgIHRoaXMuc2VydmljZS5nZXRQYWdlKHRoaXMuZ3JpZFN0YXRlKS5zdWJzY3JpYmUoKHBhZ2UpID0+IHtcbiAgICAgIHRoaXMucGFnZS5uZXh0KHBhZ2UpO1xuICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoZW50aXR5OiBJZGVudGlmaWVkTW9kZWwpIHtcbiAgICB0aGlzLmxvYWRpbmdzKys7XG4gICAgdGhpcy5zZXJ2aWNlXG4gICAgICAuZGVsZXRlKGVudGl0eS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkW3RoaXMuc2VsZWN0ZWQubGVuZ3RoIC0gMV0gPT09IGVudGl0eS5pZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcigpOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBmaWx0ZXI6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgPSB7XG4gICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICBmaWx0ZXJzOiB0aGlzLnNlYXJjaFRlcm1cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7IGZpZWxkOiBuYW1lRmllbGQsIG9wZXJhdG9yOiAnY29udGFpbnMnLCB2YWx1ZTogdGhpcy5zZWFyY2hUZXJtIH0sXG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAgICAgXVxuICAgICAgICA6IHRoaXMuZmlsdGVycyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgb25GaWx0ZXJDaGFuZ2UoKSB7XG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB0aGlzLmdyaWRTdGF0ZS5maWx0ZXI/LmZpbHRlcnMuZmluZChcbiAgICAgICh4OiBGaWx0ZXJEZXNjcmlwdG9yKSA9PiB4LmZpZWxkID09PSBuYW1lRmllbGRcbiAgICApO1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IGZpbHRlcj8udmFsdWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdyaWRTdGF0ZS5maWx0ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXN0b3JlR3JpZFN0YXRlKHBhcmFtczogVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRTdGF0ZTogU3RhdGUgPSB7XG4gICAgICBzb3J0OiB0aGlzLmRlZmF1bHRTb3J0IHx8IFt7IGZpZWxkOiBuYW1lRmllbGQsIGRpcjogJ2FzYycgfV0sXG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMTAsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlID0gdXJsRGVzZXJpYWxpemUocGFyYW1zKTtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlLmhhc093blByb3BlcnR5KCd0YWtlJykgPyBzdGF0ZSA6IGRlZmF1bHRHcmlkU3RhdGU7XG4gICAgdGhpcy5ncmlkU3RhdGUuc2tpcCA9ICt0aGlzLmdyaWRTdGF0ZS5za2lwO1xuICAgIHRoaXMuZ3JpZFN0YXRlLnRha2UgPSArdGhpcy5ncmlkU3RhdGUudGFrZTtcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XG4gICAgdGhpcy5nZXREYXRhKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImhlYWRlci1wYWdlLWJnXCI+PC9oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsIHNlYXJjaC1wYW5lbCBoZXJvLXVuaXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc2VsZWN0aW9uLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJzZWFyY2hpbnB1dFwiIGNsYXNzPVwidGl0bGUtZmllbGRcIiB0cmFuc2xhdGU9XCJTZWFyY2hcIj48L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBrZW5kb1RleHRCb3hcbiAgICAgICAgICBjbGFzcz1cInF1aWNrLWZpbHRlciBpbnB1dCBpbnB1dC1maWVsZFwiXG4gICAgICAgICAgdGl0bGU9XCJcIlxuICAgICAgICAgIGlkPVwic2VhcmNoaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBhcHBEZWJvdW5jZVxuICAgICAgICAgIChkZWJvdW5jZUtleXVwKT1cIm9uU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjYwMFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGUtbGluZVwiPjwvZGl2PlxuXG4gICAgICA8a2VuZG8tZ3JpZFxuICAgICAgICBbZGF0YV09XCJwYWdlIHwgYXN5bmNcIlxuICAgICAgICBbcGFnZVNpemVdPVwiZ3JpZFN0YXRlLnRha2VcIlxuICAgICAgICBbc2tpcF09XCJncmlkU3RhdGUuc2tpcFwiXG4gICAgICAgIFtzb3J0XT1cImdyaWRTdGF0ZS5zb3J0XCJcbiAgICAgICAgW3BhZ2VhYmxlXT1cInRydWVcIlxuICAgICAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiNDgwXCJcbiAgICAgICAgKHJlbW92ZSk9XCJyZW1vdmVIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAoZGF0YVN0YXRlQ2hhbmdlKT1cImRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ3MgPiAwXCJcbiAgICAgICAgKGNlbGxDbGljayk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAgICAgICBjdWx0dXJlXG4gICAgICAgIGNsYXNzPVwicm93cy1wb2ludGFibGVcIlxuICAgICAgICBrZW5kb0dyaWRTZWxlY3RCeT1cImlkXCJcbiAgICAgICAgW3NlbGVjdGVkS2V5c109XCJzZWxlY3RlZFwiXG4gICAgICAgIFtyb3dDbGFzc109XCJnZXRSb3dDbGFzc1wiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRUb29sYmFyVGVtcGxhdGU+XG4gICAgICAgICAgPGV4Y2VsLWV4cG9ydC1idXR0b24+PC9leGNlbC1leHBvcnQtYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8a2VuZG8tZ3JpZC1leGNlbCBbZmV0Y2hEYXRhXT1cImdldEFsbERhdGFcIj48L2tlbmRvLWdyaWQtZXhjZWw+XG4gICAgICAgIDxrZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uIHdpZHRoPVwiNjVcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZW5kb0dyaWRSZW1vdmVDb21tYW5kXG4gICAgICAgICAgICAgIHJlcXVpcmVQZXJtaXNzaW9uXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25UeXBlPVwiRGVsZXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGVtIGNsYXNzPVwiay1pY29uIGdseXBoaWNvbiBnbHlwaGljb24tdHJhc2hcIj48L2VtPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb2x1bW5cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZ3JpZEZpZWxkc1wiXG4gICAgICAgICAgZmllbGQ9XCJ7eyBmaWVsZC5uYW1lIH19XCJcbiAgICAgICAgICB0aXRsZT1cInt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBbc29ydGFibGVdPVwiZmllbGQuc29ydGFibGUgIT09IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbiB3aWR0aD1cIjY1XCIgKm5nSWY9XCJjb21tYW5kcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb21tYW5kIG9mIGNvbW1hbmRzXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbW1hbmQuaGFuZGxlcihkYXRhSXRlbSlcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGNvbW1hbmQudGl0bGUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBjbGFzcz1cImstYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGVtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb21tYW5kLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBjb21tYW5kLmljb25DbGFzcyB9fVwiXG4gICAgICAgICAgICAgID48L2VtPlxuICAgICAgICAgICAgICB7eyBjb21tYW5kLm5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZE5vUmVjb3Jkc1RlbXBsYXRlPlxuICAgICAgICAgIHt7ICdNZXNzYWdlcy5Ob1JlY29yZHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGU+XG4gICAgICAgICAgPGtlbmRvLWdyaWQtc3BhY2VyPjwva2VuZG8tZ3JpZC1zcGFjZXI+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zXG4gICAgICAgICAgICBbYnV0dG9uQ291bnRdPVwiMTBcIlxuICAgICAgICAgID48L2tlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItbmV4dC1idXR0b25zPjwva2VuZG8tcGFnZXItbmV4dC1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxyb3V0ZXItb3V0bGV0XG4gICAgKGFjdGl2YXRlKT1cIm9uQWN0aXZhdGUoJGV2ZW50KVwiXG4gICAgKGRlYWN0aXZhdGUpPVwib25EZWFjdGl2YXRlKCRldmVudClcIlxuICA+PC9yb3V0ZXItb3V0bGV0PlxuPC9kaXY+XG48Y29uZmlybS1kaWFsb2cgI2NvbmZpcm1EaWFsb2c+PC9jb25maXJtLWRpYWxvZz5cbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQWF2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFFL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxtQkFBbUI7SUE2QjlCLFlBQ1UsU0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYztRQUZkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFsQmpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHN0QsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQXNDLElBQUksZUFBZSxDQUVsRSxJQUFJLENBQUMsQ0FBQztRQUNELGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBWSxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBWTtZQUMvQixFQUFFLElBQUks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QUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOztnSEE5TlUsbUJBQW1CO29HQUFuQixtQkFBbUIsd1hDeENoQyw4K0dBa0dBOzJGRDFEYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTt5SkFNaEIsT0FBTztzQkFEYixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLE1BQU07Z0JBR0EsTUFBTTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YVN0YXRlQ2hhbmdlRXZlbnQsXG4gIFJvd0NsYXNzQXJncyxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQge1xuICBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLFxuICBGaWx0ZXJEZXNjcmlwdG9yLFxuICBTb3J0RGVzY3JpcHRvcixcbiAgU3RhdGUsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGFnZSc7XG5pbXBvcnQgeyBJRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4vQ29tbWFuZCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vRmllbGQnO1xuaW1wb3J0IHsgdXJsRGVzZXJpYWxpemUsIHVybFNlcmlhbGl6ZSB9IGZyb20gJy4vVXJsU2VyaWFsaXplcic7XG5cbmNvbnN0IG5hbWVGaWVsZCA9ICduYW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50aXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRpdHktbGlzdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXJ2aWNlOiBJRW50aXR5U2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IChGaWx0ZXJEZXNjcmlwdG9yIHwgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcilbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGZpZWxkcz86IEZpZWxkW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21tYW5kcz86IENvbW1hbmRbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHJvd0NsYXNzPzogKGRhdGFJdGVtOiBOYW1lZE1vZGVsLCBpbmRleDogbnVtYmVyKSA9PiB7fTtcbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRTb3J0PzogU29ydERlc2NyaXB0b3JbXTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I+KCk7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm1EaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZGlhbG9nOiBDb25maXJtRGlhbG9nQ29tcG9uZW50O1xuICBwdWJsaWMgZ3JpZFN0YXRlOiBTdGF0ZSA9IHt9O1xuICBwdWJsaWMgcGFnZTogQmVoYXZpb3JTdWJqZWN0PFBhZ2U8TmFtZWRNb2RlbD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICBQYWdlPE5hbWVkTW9kZWw+XG4gID4obnVsbCk7XG4gIHB1YmxpYyBsb2FkaW5ncyA9IDA7XG4gIHB1YmxpYyBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGdyaWRGaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBkZWZhdWx0RmllbGRzOiBGaWVsZFtdID0gW1xuICAgIHsgbmFtZTogJ25hbWUnLCBsYWJlbDogJ05hbWUnLCBzb3J0YWJsZTogdHJ1ZSwgcG9zaXRpb246IDAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuZ2V0QWxsRGF0YSA9IHRoaXMuZ2V0QWxsRGF0YS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0Um93Q2xhc3MgPSB0aGlzLmdldFJvd0NsYXNzLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCFjaGFuZ2VzLmZpbHRlcnMgfHwgY2hhbmdlcy5maWx0ZXJzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRGaWx0ZXJlZERhdGEoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZEZpZWxkcyA9ICh0aGlzLmZpZWxkcyB8fCBbXSlcbiAgICAgIC5jb25jYXQodGhpcy5kZWZhdWx0RmllbGRzKVxuICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiAobGVmdC5wb3NpdGlvbiB8fCAwKSAtIChyaWdodC5wb3NpdGlvbiB8fCAwKSk7XG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWx0ZXJzID8gdGhpcy5maWx0ZXJzIDogW107XG4gICAgdGhpcy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHMgPyB0aGlzLmNvbW1hbmRzIDogW107XG4gICAgdGhpcy5yb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoYXN5bmMgKGZyYWdtZW50OiBzdHJpbmcpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzdG9yZUdyaWRTdGF0ZShuZXcgVVJMU2VhcmNoUGFyYW1zKGZyYWdtZW50KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFswXSA9IHBhcmFtcy5pZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQucG9wKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSGFuZGxlcih7IGRhdGFJdGVtIH0pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ29uZmlybWF0aW9uLkRlbGV0ZScpICtcbiAgICAgICAgJzogXCInICtcbiAgICAgICAgZGF0YUl0ZW0ubmFtZSArXG4gICAgICAgICdcIj8nLFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmUoZGF0YUl0ZW0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RJdGVtKHsgZGF0YUl0ZW0gfSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtkYXRhSXRlbS5pZF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKHRoaXMuZ3JpZFN0YXRlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGl2YXRlKGNoaWxkOiB7IHNhdmVkOiBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4gfSkge1xuICAgIGlmIChjaGlsZC5zYXZlZCkge1xuICAgICAgY2hpbGQuc2F2ZWQuc3Vic2NyaWJlKChkYXRhOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9KSA9PlxuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoZGF0YSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVhY3RpdmF0ZShjaGlsZDogeyBzYXZlZDogRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+IH0pIHtcbiAgICBpZiAoY2hpbGQuc2F2ZWQpIHtcbiAgICAgIGNoaWxkLnNhdmVkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRhdGFTdGF0ZUNoYW5nZShzdGF0ZTogRGF0YVN0YXRlQ2hhbmdlRXZlbnQpIHtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgZnJhZ21lbnQ6IHVybFNlcmlhbGl6ZSh0aGlzLmdyaWRTdGF0ZSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2godmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IHZhbHVlO1xuICAgIHRoaXMuZ3JpZFN0YXRlLnNraXAgPSAwO1xuICAgIHRoaXMuZ2V0RmlsdGVyZWREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsRGF0YSgpOiBPYnNlcnZhYmxlPFBhZ2U8TmFtZWRNb2RlbD4+IHtcbiAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZ3JpZFN0YXRlKTtcbiAgICBkZWxldGUgc3RhdGUuc2tpcDtcbiAgICBkZWxldGUgc3RhdGUudGFrZTtcblxuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0UGFnZShzdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Um93Q2xhc3MoY29udGV4dDogUm93Q2xhc3NBcmdzKTogT2JqZWN0IHtcbiAgICByZXR1cm4gdGhpcy5yb3dDbGFzcyAmJiBjb250ZXh0XG4gICAgICA/IHRoaXMucm93Q2xhc3MoY29udGV4dC5kYXRhSXRlbSwgY29udGV4dC5pbmRleClcbiAgICAgIDoge307XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmlsdGVyZWREYXRhKCkge1xuICAgIHRoaXMuZ3JpZFN0YXRlLmZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKHRoaXMuZ3JpZFN0YXRlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVHcmlkKGRhdGE6IE5hbWVkTW9kZWwpIHtcbiAgICBjb25zdCBjdXJyZW50UGFnZSA9IHsgLi4udGhpcy5wYWdlLnZhbHVlIH07XG4gICAgY29uc3QgZXhpc3RzID0gY3VycmVudFBhZ2UuZGF0YS5maWx0ZXIoKHgpID0+IHguaWQgPT09IGRhdGEuaWQpO1xuICAgIGlmIChleGlzdHMubGVuZ3RoKSB7XG4gICAgICBjdXJyZW50UGFnZS5kYXRhW2N1cnJlbnRQYWdlLmRhdGEuaW5kZXhPZihleGlzdHNbMF0pXSA9IGRhdGE7XG4gICAgICB0aGlzLnBhZ2UubmV4dChjdXJyZW50UGFnZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjdXJyZW50UGFnZS50b3RhbCsrO1xuICAgIGN1cnJlbnRQYWdlLmRhdGEuc3BsaWNlKDAsIDAsIGRhdGEpO1xuICAgIGlmIChjdXJyZW50UGFnZS5kYXRhLmxlbmd0aCA+IHRoaXMuZ3JpZFN0YXRlLnRha2UpIHtcbiAgICAgIGN1cnJlbnRQYWdlLmRhdGEuc3BsaWNlKHRoaXMucGFnZS52YWx1ZS5kYXRhLmxlbmd0aCAtIDEsIDEpO1xuICAgIH1cblxuICAgIHRoaXMucGFnZS5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICB0aGlzLnNlbGVjdGVkWzBdID0gZGF0YS5pZDtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZGF0YS5pZF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERhdGEoKSB7XG4gICAgdGhpcy5sb2FkaW5ncysrO1xuICAgIHRoaXMuc2VydmljZS5nZXRQYWdlKHRoaXMuZ3JpZFN0YXRlKS5zdWJzY3JpYmUoKHBhZ2UpID0+IHtcbiAgICAgIHRoaXMucGFnZS5uZXh0KHBhZ2UpO1xuICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoZW50aXR5OiBJZGVudGlmaWVkTW9kZWwpIHtcbiAgICB0aGlzLmxvYWRpbmdzKys7XG4gICAgdGhpcy5zZXJ2aWNlXG4gICAgICAuZGVsZXRlKGVudGl0eS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkW3RoaXMuc2VsZWN0ZWQubGVuZ3RoIC0gMV0gPT09IGVudGl0eS5pZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlLFxuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLmZpcnN0Q2hpbGQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2FkaW5ncy0tO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcigpOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBmaWx0ZXI6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgPSB7XG4gICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICBmaWx0ZXJzOiB0aGlzLnNlYXJjaFRlcm1cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7IGZpZWxkOiBuYW1lRmllbGQsIG9wZXJhdG9yOiAnY29udGFpbnMnLCB2YWx1ZTogdGhpcy5zZWFyY2hUZXJtIH0sXG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAgICAgXVxuICAgICAgICA6IHRoaXMuZmlsdGVycyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgb25GaWx0ZXJDaGFuZ2UoKSB7XG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB0aGlzLmdyaWRTdGF0ZS5maWx0ZXI/LmZpbHRlcnMuZmluZChcbiAgICAgICh4OiBGaWx0ZXJEZXNjcmlwdG9yKSA9PiB4LmZpZWxkID09PSBuYW1lRmllbGRcbiAgICApO1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IGZpbHRlcj8udmFsdWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdyaWRTdGF0ZS5maWx0ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXN0b3JlR3JpZFN0YXRlKHBhcmFtczogVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRTdGF0ZTogU3RhdGUgPSB7XG4gICAgICBzb3J0OiB0aGlzLmRlZmF1bHRTb3J0IHx8IFt7IGZpZWxkOiBuYW1lRmllbGQsIGRpcjogJ2FzYycgfV0sXG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMTAsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlID0gdXJsRGVzZXJpYWxpemUocGFyYW1zKTtcbiAgICB0aGlzLmdyaWRTdGF0ZSA9IHN0YXRlLmhhc093blByb3BlcnR5KCd0YWtlJykgPyBzdGF0ZSA6IGRlZmF1bHRHcmlkU3RhdGU7XG4gICAgdGhpcy5ncmlkU3RhdGUuc2tpcCA9ICt0aGlzLmdyaWRTdGF0ZS5za2lwO1xuICAgIHRoaXMuZ3JpZFN0YXRlLnRha2UgPSArdGhpcy5ncmlkU3RhdGUudGFrZTtcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCk7XG4gICAgdGhpcy5nZXREYXRhKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImhlYWRlci1wYWdlLWJnXCI+PC9oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsIHNlYXJjaC1wYW5lbCBoZXJvLXVuaXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc2VsZWN0aW9uLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJzZWFyY2hpbnB1dFwiIGNsYXNzPVwidGl0bGUtZmllbGRcIiB0cmFuc2xhdGU9XCJTZWFyY2hcIj48L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBrZW5kb1RleHRCb3hcbiAgICAgICAgICBjbGFzcz1cInF1aWNrLWZpbHRlciBpbnB1dCBpbnB1dC1maWVsZFwiXG4gICAgICAgICAgdGl0bGU9XCJcIlxuICAgICAgICAgIGlkPVwic2VhcmNoaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBhcHBEZWJvdW5jZVxuICAgICAgICAgIChkZWJvdW5jZUtleXVwKT1cIm9uU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjYwMFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGUtbGluZVwiPjwvZGl2PlxuXG4gICAgICA8a2VuZG8tZ3JpZFxuICAgICAgICBbZGF0YV09XCJwYWdlIHwgYXN5bmNcIlxuICAgICAgICBbcGFnZVNpemVdPVwiZ3JpZFN0YXRlLnRha2VcIlxuICAgICAgICBbc2tpcF09XCJncmlkU3RhdGUuc2tpcFwiXG4gICAgICAgIFtzb3J0XT1cImdyaWRTdGF0ZS5zb3J0XCJcbiAgICAgICAgW3BhZ2VhYmxlXT1cInRydWVcIlxuICAgICAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiNDgwXCJcbiAgICAgICAgKHJlbW92ZSk9XCJyZW1vdmVIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAoZGF0YVN0YXRlQ2hhbmdlKT1cImRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ3MgPiAwXCJcbiAgICAgICAgKGNlbGxDbGljayk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAgICAgICBjdWx0dXJlXG4gICAgICAgIGNsYXNzPVwicm93cy1wb2ludGFibGVcIlxuICAgICAgICBrZW5kb0dyaWRTZWxlY3RCeT1cImlkXCJcbiAgICAgICAgW3NlbGVjdGVkS2V5c109XCJzZWxlY3RlZFwiXG4gICAgICAgIFtyb3dDbGFzc109XCJnZXRSb3dDbGFzc1wiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRUb29sYmFyVGVtcGxhdGU+XG4gICAgICAgICAgPGV4Y2VsLWV4cG9ydC1idXR0b24+PC9leGNlbC1leHBvcnQtYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8a2VuZG8tZ3JpZC1leGNlbCBbZmV0Y2hEYXRhXT1cImdldEFsbERhdGFcIj48L2tlbmRvLWdyaWQtZXhjZWw+XG4gICAgICAgIDxrZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uIHdpZHRoPVwiNjVcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZW5kb0dyaWRSZW1vdmVDb21tYW5kXG4gICAgICAgICAgICAgIHJlcXVpcmVQZXJtaXNzaW9uXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25UeXBlPVwiRGVsZXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGVtIGNsYXNzPVwiay1pY29uIGdseXBoaWNvbiBnbHlwaGljb24tdHJhc2hcIj48L2VtPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1ncmlkLWNvbW1hbmQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb2x1bW5cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZ3JpZEZpZWxkc1wiXG4gICAgICAgICAgZmllbGQ9XCJ7eyBmaWVsZC5uYW1lIH19XCJcbiAgICAgICAgICB0aXRsZT1cInt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBbc29ydGFibGVdPVwiZmllbGQuc29ydGFibGUgIT09IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuICAgICAgICA8a2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbiB3aWR0aD1cIjY1XCIgKm5nSWY9XCJjb21tYW5kcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb21tYW5kIG9mIGNvbW1hbmRzXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbW1hbmQuaGFuZGxlcihkYXRhSXRlbSlcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGNvbW1hbmQudGl0bGUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBjbGFzcz1cImstYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGVtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb21tYW5kLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBjb21tYW5kLmljb25DbGFzcyB9fVwiXG4gICAgICAgICAgICAgID48L2VtPlxuICAgICAgICAgICAgICB7eyBjb21tYW5kLm5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZ3JpZC1jb21tYW5kLWNvbHVtbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZE5vUmVjb3Jkc1RlbXBsYXRlPlxuICAgICAgICAgIHt7ICdNZXNzYWdlcy5Ob1JlY29yZHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGU+XG4gICAgICAgICAgPGtlbmRvLWdyaWQtc3BhY2VyPjwva2VuZG8tZ3JpZC1zcGFjZXI+XG4gICAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zXG4gICAgICAgICAgICBbYnV0dG9uQ291bnRdPVwiMTBcIlxuICAgICAgICAgID48L2tlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucz5cbiAgICAgICAgICA8a2VuZG8tcGFnZXItbmV4dC1idXR0b25zPjwva2VuZG8tcGFnZXItbmV4dC1idXR0b25zPlxuICAgICAgICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxyb3V0ZXItb3V0bGV0XG4gICAgKGFjdGl2YXRlKT1cIm9uQWN0aXZhdGUoJGV2ZW50KVwiXG4gICAgKGRlYWN0aXZhdGUpPVwib25EZWFjdGl2YXRlKCRldmVudClcIlxuICA+PC9yb3V0ZXItb3V0bGV0PlxuPC9kaXY+XG48Y29uZmlybS1kaWFsb2cgI2NvbmZpcm1EaWFsb2c+PC9jb25maXJtLWRpYWxvZz5cbiJdfQ==
@@ -33,9 +33,9 @@ export class FieldDropdownlistComponent {
33
33
  this.initialSelectedId = id;
34
34
  }
35
35
  }
36
- FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
37
- FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
36
+ FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
37
+ FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'field-dropdownlist', template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n" }]
41
41
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { service: [{
@@ -29,9 +29,9 @@ export class UserListAdminComponent extends EntityListComponent {
29
29
  }
30
30
  }
31
31
  }
32
- UserListAdminComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: UserListAdminComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.PartnerService }], target: i0.ɵɵFactoryTarget.Component });
33
- UserListAdminComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: UserListAdminComponent, selector: "lib-user-list-admin", providers: [PartnerService], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i6.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: i6.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { kind: "directive", type: i6.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i6.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i6.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i6.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i6.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i6.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i6.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i6.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i6.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "directive", type: i6.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i6.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { kind: "directive", type: i7.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "component", type: i10.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "directive", type: i11.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: UserListAdminComponent, decorators: [{
32
+ UserListAdminComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: UserListAdminComponent, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.PartnerService }], target: i0.ɵɵFactoryTarget.Component });
33
+ UserListAdminComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: UserListAdminComponent, selector: "lib-user-list-admin", providers: [PartnerService], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i6.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: i6.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { kind: "directive", type: i6.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i6.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i6.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i6.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "component", type: i6.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "component", type: i6.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i6.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i6.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i6.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "directive", type: i6.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i6.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { kind: "directive", type: i7.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.ConfirmDialogComponent, selector: "confirm-dialog" }, { kind: "component", type: i10.ExcelExportButtonComponent, selector: "excel-export-button" }, { kind: "directive", type: i11.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: UserListAdminComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'lib-user-list-admin', providers: [PartnerService], template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n" }]
37
37
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.PartnerService }]; } });
@@ -5,9 +5,9 @@ import * as i2 from "@progress/kendo-angular-grid";
5
5
  import * as i3 from "@ngx-translate/core";
6
6
  export class ExcelExportButtonComponent {
7
7
  }
8
- ExcelExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- ExcelExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
8
+ ExcelExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ ExcelExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'excel-export-button', template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n" }]
13
13
  }] });
@@ -2,9 +2,9 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class FooterBarComponent {
4
4
  }
5
- FooterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FooterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- FooterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: FooterBarComponent, selector: "footer-bar", ngImport: i0, template: "<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n", styles: [""] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FooterBarComponent, decorators: [{
5
+ FooterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FooterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ FooterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FooterBarComponent, selector: "footer-bar", ngImport: i0, template: "<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n", styles: [""] });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FooterBarComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'footer-bar', template: "<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n" }]
10
10
  }] });
@@ -17,9 +17,9 @@ export class ModalWindowComponent {
17
17
  });
18
18
  }
19
19
  }
20
- ModalWindowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ModalWindowComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
21
- ModalWindowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: ModalWindowComponent, selector: "modal-window", inputs: { callbackPath: "callbackPath" }, ngImport: i0, template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "directive", type: i3.WindowCloseActionDirective, selector: "button[kendoWindowCloseAction]", inputs: ["window"], exportAs: ["kendoWindowCloseAction"] }, { kind: "component", type: i3.WindowTitleBarComponent, selector: "kendo-window-titlebar", inputs: ["template"] }] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ModalWindowComponent, decorators: [{
20
+ ModalWindowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ModalWindowComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
21
+ ModalWindowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ModalWindowComponent, selector: "modal-window", inputs: { callbackPath: "callbackPath" }, ngImport: i0, template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "themeColor", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "component", type: i3.WindowCloseActionDirective, selector: "button[kendoWindowCloseAction]", inputs: ["window"], exportAs: ["kendoWindowCloseAction"] }, { kind: "component", type: i3.WindowTitleBarComponent, selector: "kendo-window-titlebar", inputs: ["template", "id"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ModalWindowComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'modal-window', template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"] }]
25
25
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; }, propDecorators: { callbackPath: [{
@@ -64,9 +64,9 @@ export class MulticheckFilterComponent {
64
64
  ], 'name');
65
65
  }
66
66
  }
67
- MulticheckFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: MulticheckFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- MulticheckFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: MulticheckFilterComponent, selector: "multicheck-filter", inputs: { currentFilter: "currentFilter", data: "data", filterService: "filterService", field: "field", valueField: "valueField" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\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"] }] });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: MulticheckFilterComponent, decorators: [{
67
+ MulticheckFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: MulticheckFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ MulticheckFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: MulticheckFilterComponent, selector: "multicheck-filter", inputs: { currentFilter: "currentFilter", data: "data", filterService: "filterService", field: "field", valueField: "valueField" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\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"] }] });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: MulticheckFilterComponent, decorators: [{
70
70
  type: Component,
71
71
  args: [{ selector: 'multicheck-filter', template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\n"] }]
72
72
  }], propDecorators: { currentFilter: [{
@@ -8,9 +8,9 @@ export class TopMenuComponent {
8
8
  document.body.classList.toggle('mini-navbar');
9
9
  }
10
10
  }
11
- TopMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: TopMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- TopMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: TopMenuComponent, selector: "top-bar", inputs: { currentUser: "currentUser" }, ngImport: i0, template: "<div id=\"supply-top-navbar\" class=\"supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button type=\"button\" class=\"navbar-minimalize minimalize-style-2 btn btn-primary\" (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n <div id=\"topBarIcons\" class=\"clearfix\" *ngIf=\"currentUser != null\">\n <a [routerLink]=\"['/security/admins', currentUser.id]\" class=\"message-icons left container-login\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">{{currentUser.userName}}</span>\n </a>\n <account-menu [user]=\"currentUser\"></account-menu>\n </div>\n </nav>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.AccountMenuComponent, selector: "account-menu", inputs: ["user"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: TopMenuComponent, decorators: [{
11
+ TopMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TopMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ TopMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TopMenuComponent, selector: "top-bar", inputs: { currentUser: "currentUser" }, ngImport: i0, template: "<div id=\"supply-top-navbar\" class=\"supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button type=\"button\" class=\"navbar-minimalize minimalize-style-2 btn btn-primary\" (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n <div id=\"topBarIcons\" class=\"clearfix\" *ngIf=\"currentUser != null\">\n <a [routerLink]=\"['/security/admins', currentUser.id]\" class=\"message-icons left container-login\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">{{currentUser.userName}}</span>\n </a>\n <account-menu [user]=\"currentUser\"></account-menu>\n </div>\n </nav>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.AccountMenuComponent, selector: "account-menu", inputs: ["user"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TopMenuComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'top-bar', template: "<div id=\"supply-top-navbar\" class=\"supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button type=\"button\" class=\"navbar-minimalize minimalize-style-2 btn btn-primary\" (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n <div id=\"topBarIcons\" class=\"clearfix\" *ngIf=\"currentUser != null\">\n <a [routerLink]=\"['/security/admins', currentUser.id]\" class=\"message-icons left container-login\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">{{currentUser.userName}}</span>\n </a>\n <account-menu [user]=\"currentUser\"></account-menu>\n </div>\n </nav>\n</div>\n" }]
16
16
  }], propDecorators: { currentUser: [{