@koalarx/ui 13.0.16 → 13.0.19

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 (95) hide show
  1. package/alert/esm2020/lib/dialog-alert.component.mjs +3 -3
  2. package/alert/esm2020/lib/koala.alert.module.mjs +4 -4
  3. package/alert/esm2020/lib/koala.alert.service.mjs +3 -3
  4. package/alert/fesm2015/koalarx-ui-alert.mjs +10 -10
  5. package/alert/fesm2020/koalarx-ui-alert.mjs +10 -10
  6. package/button/esm2020/lib/button.component.mjs +3 -3
  7. package/button/esm2020/lib/koala.button.module.mjs +4 -4
  8. package/button/fesm2015/koalarx-ui-button.mjs +7 -7
  9. package/button/fesm2020/koalarx-ui-button.mjs +7 -7
  10. package/common/esm2020/lib/services/csv/koala.csv.service.mjs +3 -3
  11. package/common/esm2020/lib/services/xlsx/koala.xlsx.service.mjs +3 -3
  12. package/common/fesm2015/koalarx-ui-common.mjs +6 -6
  13. package/common/fesm2020/koalarx-ui-common.mjs +6 -6
  14. package/core/esm2020/lib/helpers/mat-form-field.helper.mjs +17 -0
  15. package/core/esm2020/lib/loader/loader-bar-page.component.mjs +3 -3
  16. package/core/esm2020/lib/ngx-koala.module.mjs +4 -4
  17. package/core/esm2020/lib/page/koala.page.module.mjs +4 -4
  18. package/core/esm2020/lib/page/notifications/notification.component.mjs +3 -3
  19. package/core/esm2020/lib/page/page.component.mjs +3 -3
  20. package/core/esm2020/lib/router/koala.parameter-hash-location-stategy.mjs +3 -3
  21. package/core/esm2020/lib/services/api-requester/koala.api-requester.base.mjs +3 -3
  22. package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +3 -3
  23. package/core/esm2020/lib/services/loader/koala.loader.service.mjs +3 -3
  24. package/core/esm2020/lib/services/openid/koala.oauth2.service.mjs +3 -3
  25. package/core/esm2020/lib/services/request/koala.request.service.mjs +3 -3
  26. package/core/esm2020/lib/services/token/koala.token.service.mjs +12 -10
  27. package/core/fesm2015/koalarx-ui-core.mjs +63 -43
  28. package/core/fesm2015/koalarx-ui-core.mjs.map +1 -1
  29. package/core/fesm2020/koalarx-ui-core.mjs +61 -43
  30. package/core/fesm2020/koalarx-ui-core.mjs.map +1 -1
  31. package/core/lib/helpers/mat-form-field.helper.d.ts +3 -0
  32. package/core/lib/services/api-requester/koala.api-requester.base.d.ts +1 -1
  33. package/core/lib/services/token/koala.token.service.d.ts +1 -0
  34. package/core/theme/koala.theme.css +6 -0
  35. package/dialog/esm2020/lib/dialog.component.mjs +3 -3
  36. package/dialog/esm2020/lib/koala.dialog.module.mjs +4 -4
  37. package/dialog/esm2020/lib/koala.dialog.service.mjs +3 -3
  38. package/dialog/fesm2015/koalarx-ui-dialog.mjs +10 -10
  39. package/dialog/fesm2020/koalarx-ui-dialog.mjs +10 -10
  40. package/dynamic-component/esm2020/lib/koala-dynamic-component.directive.mjs +3 -3
  41. package/dynamic-component/esm2020/lib/koala-dynamic-component.factory.mjs +3 -3
  42. package/dynamic-component/esm2020/lib/koala-dynamic-component.module.mjs +4 -4
  43. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs +10 -10
  44. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs +10 -10
  45. package/file-button/esm2020/lib/file-button.component.mjs +3 -3
  46. package/file-button/esm2020/lib/koala.btn-file.service.mjs +3 -3
  47. package/file-button/esm2020/lib/koala.file-button.module.mjs +4 -4
  48. package/file-button/fesm2015/koalarx-ui-file-button.mjs +10 -10
  49. package/file-button/fesm2020/koalarx-ui-file-button.mjs +10 -10
  50. package/folder-page/esm2020/lib/folder.component.mjs +3 -3
  51. package/folder-page/esm2020/lib/koala.folder-page.module.mjs +4 -4
  52. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +7 -7
  53. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +7 -7
  54. package/form/esm2020/lib/btn-submit/btn-submit.component.mjs +3 -3
  55. package/form/esm2020/lib/directives/koala-autofocus.directive.mjs +3 -3
  56. package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +3 -3
  57. package/form/esm2020/lib/dynamic-form/koala.dynamic-form.service.mjs +3 -3
  58. package/form/esm2020/lib/koala.form.module.mjs +4 -4
  59. package/form/fesm2015/koalarx-ui-form.mjs +16 -16
  60. package/form/fesm2020/koalarx-ui-form.mjs +16 -16
  61. package/icon/esm2020/lib/icon.component.mjs +3 -3
  62. package/icon/esm2020/lib/koala.icon.module.mjs +4 -4
  63. package/icon/fesm2015/koalarx-ui-icon.mjs +7 -7
  64. package/icon/fesm2020/koalarx-ui-icon.mjs +7 -7
  65. package/icons-animated/esm2020/lib/icons/downloading/downloading-icon-animated.component.mjs +3 -3
  66. package/icons-animated/esm2020/lib/icons/loading/loading-icon-animated.component.mjs +3 -3
  67. package/icons-animated/esm2020/lib/icons-animated.component.mjs +3 -3
  68. package/icons-animated/esm2020/lib/icons-animated.service.mjs +3 -3
  69. package/icons-animated/esm2020/lib/koala-icons-animated.module.mjs +4 -4
  70. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs +16 -16
  71. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs +16 -16
  72. package/list/esm2020/lib/koala.list.module.mjs +4 -4
  73. package/list/esm2020/lib/koala.list.service.mjs +3 -3
  74. package/list/esm2020/lib/list.component.mjs +5 -5
  75. package/list/esm2020/lib/providers/pagination/pagination.provider.mjs +3 -3
  76. package/list/fesm2015/koalarx-ui-list.mjs +14 -14
  77. package/list/fesm2015/koalarx-ui-list.mjs.map +1 -1
  78. package/list/fesm2020/koalarx-ui-list.mjs +14 -14
  79. package/list/fesm2020/koalarx-ui-list.mjs.map +1 -1
  80. package/menu/esm2020/lib/koala.menu.module.mjs +4 -4
  81. package/menu/esm2020/lib/koala.menu.service.mjs +3 -3
  82. package/menu/esm2020/lib/menu.component.mjs +3 -3
  83. package/menu/fesm2015/koalarx-ui-menu.mjs +10 -10
  84. package/menu/fesm2020/koalarx-ui-menu.mjs +10 -10
  85. package/package.json +1 -1
  86. package/question/esm2020/lib/dialog-question.component.mjs +3 -3
  87. package/question/esm2020/lib/koala.question.module.mjs +4 -4
  88. package/question/esm2020/lib/koala.question.service.mjs +3 -3
  89. package/question/fesm2015/koalarx-ui-question.mjs +10 -10
  90. package/question/fesm2020/koalarx-ui-question.mjs +10 -10
  91. package/snackbar/esm2020/lib/koala.snackbar.component.mjs +3 -3
  92. package/snackbar/esm2020/lib/koala.snackbar.module.mjs +4 -4
  93. package/snackbar/esm2020/lib/koala.snackbar.service.mjs +3 -3
  94. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs +10 -10
  95. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs +10 -10
@@ -57,9 +57,9 @@ class PaginationProvider extends MatPaginatorIntl {
57
57
  this.changes.next();
58
58
  }
59
59
  }
60
- PaginationProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaginationProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
- PaginationProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaginationProvider });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaginationProvider, decorators: [{
60
+ PaginationProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: PaginationProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
+ PaginationProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: PaginationProvider });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: PaginationProvider, decorators: [{
63
63
  type: Injectable
64
64
  }], ctorParameters: function () { return []; } });
65
65
 
@@ -162,9 +162,9 @@ class KoalaListService {
162
162
  return new ListBuilder();
163
163
  }
164
164
  }
165
- KoalaListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
166
- KoalaListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListService, providedIn: "any" });
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListService, decorators: [{
165
+ KoalaListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
166
+ KoalaListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListService, providedIn: "any" });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListService, decorators: [{
168
168
  type: Injectable,
169
169
  args: [{ providedIn: "any" }]
170
170
  }] });
@@ -448,15 +448,15 @@ class ListComponent extends ListAbstract {
448
448
  this.customClass = this.config.customClass;
449
449
  }
450
450
  }
451
- ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ListComponent, deps: [{ token: i1.FormBuilder }, { token: i2.KoalaDynamicFormService }, { token: i3.DeviceDetectorService }], target: i0.ɵɵFactoryTarget.Component });
452
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ListComponent, selector: "koala-list", inputs: { config: "config" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"list-container\" [ngClass]=\"customClass\">\n <div *ngIf=\"filterFormConfig\" class=\"list-filter\">\n <form (ngSubmit)=\"filterSubmit()\" [formGroup]=\"formFilter\">\n <div class=\"main\">\n <koala-dynamic-form\n *ngIf=\"filterFormConfig.main\"\n [form]=\"filterFormConfig.main.form\"\n [formConfig]=\"filterFormConfig.main.formConfig\"\n [setValues]=\"filterFormConfig.main.setValues\"\n [showFields]=\"filterFormConfig.main.showFields\">\n </koala-dynamic-form>\n <ul>\n <li *ngIf=\"filterFormConfig.advanced\" class=\"option\">\n <button (click)=\"toogleFilter()\" color=\"primary\" mat-icon-button matTooltip=\"Filtro Avan\u00E7ado\"\n matTooltipPosition=\"below\" type=\"button\">\n <mat-icon>tune</mat-icon>\n </button>\n </li>\n <li *ngIf=\"filterFormConfig.checkAndSearch\" class=\"checkbox-filter\">\n <mat-checkbox (click)=\"filterSubmit()\"\n [formControlName]=\"filterFormConfig.checkAndSearch.formControlName\">\n {{filterFormConfig.checkAndSearch.label}}\n </mat-checkbox>\n </li>\n <li class=\"option\">\n <koala-submit\n [btnSubmitDisabled]=\"btnSubmitDisabled\"\n [fg]=\"formFilter\"\n [iconButton]=\"true\"\n [loader]=\"loader\"\n icon=\"search\">\n </koala-submit>\n </li>\n </ul>\n </div>\n <div *ngIf=\"filterFormConfig.advanced\" [ngClass]=\"{'show': showAdvancedFilter}\" class=\"advanced\">\n <div class=\"container-filter\">\n <koala-dynamic-form\n [form]=\"filterFormConfig.advanced.form\"\n [formConfig]=\"filterFormConfig.advanced.formConfig\"\n [setValues]=\"filterFormConfig.advanced.setValues\"\n [showFields]=\"filterFormConfig.advanced.showFields\">\n </koala-dynamic-form>\n </div>\n </div>\n </form>\n </div>\n <nav class=\"menu-list\">\n <ul class=\"menu\">\n <li *ngIf=\"selection.hasValue()\">\n <ng-content select=\"[itemsSelectList]\"></ng-content>\n </li>\n <li *ngIf=\"selection.hasValue()\" class=\"text-center\">|</li>\n <li>\n <ng-content select=\"[itemsList]\"></ng-content>\n </li>\n </ul>\n </nav>\n <div *ngIf=\"loader | async\" class=\"spinner-container\" [ngClass]=\"{\n 'no-filter': !filterFormConfig\n }\">\n <mat-spinner diameter=\"40\"></mat-spinner>\n </div>\n <div class=\"list\">\n <table\n *ngIf=\"!emptyListComponent || (emptyListComponent && dataSource?.data?.length > 0) else emptyList\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"columnSort\"\n [id]=\"tableId\"\n multiTemplateDataRows\n class=\"table-hover\"\n mat-table\n matSort\n [matSortDirection]=\"sortDirection\" matSortDisableClear>\n <ng-container matColumnDef=\"select\">\n <th *matHeaderCellDef mat-header-cell>\n <mat-checkbox (change)=\"$event ? selectAll() : null\"\n [checked]=\"selection.hasValue() && allSelected$ | async\"\n [indeterminate]=\"selection.hasValue() && !(allSelected$ | async)\">\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let item\" mat-cell>\n <mat-checkbox *ngIf=\"disabledCheckboxItemList ? !disabledCheckboxItemList(item) : true\"\n (change)=\"$event ? selection.toggle(item) : null\"\n (click)=\"$event.stopPropagation(); selectItem();\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"collapseButton\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <koala-button\n *ngIf=\"btnCollapseSubListConfig.show(item)\"\n (click)=\"expandedElement = expandedElement === item ? null : item\"\n [koalaIcon]=\"btnCollapseSubListConfig.koalaIcon\"\n [icon]=\"btnCollapseSubListConfig.icon\"\n [tooltip]=\"btnCollapseSubListConfig.tooltip\"\n [color]=\"btnCollapseSubListConfig.iconColor\"\n [backgroundColor]=\"btnCollapseSubListConfig.backgroundColor\"\n [koalaIconSize]=\"22\">\n </koala-button>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngFor=\"let itemList of itemsList\" [matColumnDef]=\"itemList.columnDef\">\n <th *matHeaderCellDef [mat-sort-header]=\"itemList.sortHeader\" [disabled]=\"!itemList.sortHeader\" mat-header-cell>{{itemList.label}}</th>\n <td (dblclick)=\"itemList.dblClick(item)\" *matCellDef=\"let item\" mat-cell>\n\t <koala-dynamic-component *ngIf=\"itemList.itemComponent else itemText\"\n\t [dynamicComponent]=\"itemList.itemComponent(item)\"></koala-dynamic-component>\n\t <ng-template #itemText>\n\t {{itemList.itemNameProperty(item)}}\n\t </ng-template>\n </td>\n <td *matFooterCellDef mat-footer-cell>\n <koala-dynamic-component *ngIf=\"itemList.footer?.itemComponent else itemFooterText\"\n [dynamicComponent]=\"itemList.footer?.itemComponent(responseRequest)\"></koala-dynamic-component>\n <ng-template #itemFooterText>\n {{itemList.footer?.itemNameProperty(responseRequest)}}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"koalaListDetails\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" [attr.colspan]=\"columnsToShowInList.length\" mat-cell>\n <div class=\"item-detail\" [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\">\n <koala-list [config]=\"subListConfig(item)\"></koala-list>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container matColumnDef=\"options\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <div *ngIf=\"haveOptionsOnItemLine(item)\">\n <button [matMenuTriggerFor]=\"options\" mat-icon-button type=\"button\">\n <i class='material-icons'>more_vert</i>\n </button>\n <mat-menu #options=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n\t <div *ngFor=\"let option of itemsMenuListOptions\">\n\t <button\n\t\t (click)=\"option.action(item)\"\n\t\t *ngIf=\"option.havePermission && (\n\t\t !option.showByItemList ||\n\t\t option.showByItemList(item)\n\t )\"\n\t\t mat-menu-item>\n\t <mat-icon>{{option.icon}}</mat-icon>\n\t <span>{{option.name}}</span>\n\t </button>\n\t </div>\n </mat-menu>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <tr *matHeaderRowDef=\"columnsToShowInList; sticky: true\" mat-header-row></tr>\n <tr *matRowDef=\"let item; columns: columnsToShowInList;\" mat-row></tr>\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\">\n <tr mat-row *matRowDef=\"let row; columns: ['koalaListDetails']\" class=\"item-detail-row\"></tr>\n </ng-container>\n <ng-container *ngIf=\"hasFooter()\">\n <tr *matFooterRowDef=\"columnsToShowInList; sticky: true\" mat-footer-row></tr>\n </ng-container>\n </table>\n <ng-template #emptyList>\n <koala-dynamic-component *ngIf=\"!(filterError$ | async) else errorList\" [dynamicComponent]=\"emptyListComponent\"></koala-dynamic-component>\n <ng-template #errorList>\n <koala-dynamic-component [dynamicComponent]=\"errorListComponent\"></koala-dynamic-component>\n </ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"!hidePaginator\" class=\"content-paginator\">\n <mat-paginator\n [length]=\"qtdListResult\"\n [pageSizeOptions]=\"limitOptions\"\n [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n", styles: [".list-container{border-radius:10px;margin:0 auto;overflow-x:hidden;width:calc(100% - 40px);position:relative}.list-container .spinner-container{position:absolute;width:100%;height:calc(100vh - 320px);top:100px;left:0;background:rgba(0,0,0,.15);z-index:2;display:flex;align-items:center;justify-content:center}.list-container .spinner-container.no-filter{top:40px}.list-container .list{display:block;height:calc(100vh - 320px);overflow-y:auto;position:relative;top:0;width:100%;z-index:1}.list-container .list table:not(.table-not-selection) .mat-header-cell:first-child,.list-container .list .mat-header-cell:last-child,.list-container .list .mat-header-cell.mat-column-collapseButton{width:5%}.list-container .list .mat-header-cell:last-child{text-align:center}.list-container .list .mat-header-row,.list-container .list .mat-row,.list-container .list .mat-footer-row{height:35px}.list-container .list .mat-row .mat-icon-button{height:35px;line-height:35px;width:35px}.list-container .list tr.detail-row:not(.expanded-row){height:0}.list-container .list .element-detail{display:flex;overflow:hidden}.list-container .list table{position:relative;width:100%;font-family:OpenSans,sans-serif;font-size:1em}.list-container .list table.table-hover tr{cursor:pointer;transition:.2s}.list-container .list table th:first-child,.list-container .list table td:first-child{padding:0 8px 0 20px}.list-container .list table th{font-size:.7em;padding:0 8px;font-family:OpenSans,sans-serif;line-height:1em}.list-container .list table td{font-size:.8em;padding:0 8px;font-family:OpenSans,sans-serif}.list-container .list table th:last-child,.list-container .list table td:last-child{padding:0 20px 0 8px}.list-container .list .mat-list-item-content,.list-container .list .mat-list-item-content .mat-list-text{padding:0}.list-container .list-filter{box-shadow:0 1px 3px #0000004d;height:60px;position:relative;z-index:3}.list-container .list-filter .main{display:flex;justify-content:space-between;font-size:1.05em;height:60px;overflow:hidden;padding-left:2.5px;position:relative;width:100%}.list-container .list-filter .main koala-dynamic-form{width:100%}.list-container .list-filter .main mat-form-field{display:inline-block}.list-container .list-filter .main .mat-form-field-appearance-fill .mat-form-field-flex{background:transparent}.list-container .list-filter .main .mat-form-field .mat-form-field-wrapper{padding-bottom:0}.list-container .list-filter .main .mat-form-field-underline,.list-container .list-filter .main .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper,.list-container .list-filter .main .mat-form-field-wrapper .mat-form-field-subscript-wrapper{display:none}.list-container .list-filter ul{display:flex;align-items:center;font-size:0;list-style:none;margin:0;padding:0 15px 0 0;position:relative;text-align:right}.list-container .list-filter ul li{display:inline-block;font-size:14px;padding:5px;position:relative}.list-container .list-filter ul li.option button{transition:.2s}.list-container .list-filter ul li.option button:hover{background:rgba(0,0,0,.1)}.list-container .list-filter ul li.checkbox-filter{text-align:center}.list-container .list-filter ul li.checkbox-filter .checkbox-inline{top:-5px}.list-container .list-filter ul li.checkbox-filter input[type=checkbox]{margin-left:0}.list-container .list-filter ul li.checkbox-filter label{padding:0!important;width:auto}.list-container .list-filter .advanced{border-top:1px solid #dddddd;box-shadow:0 3px 10px #0000004d;height:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:60px;transition:.2s;width:100%;z-index:1}.list-container .list-filter .advanced .container-filter{padding:15px}.list-container .list-filter .advanced.show{height:360px}.list-container nav.menu-list{height:40px;margin:0;padding:3px 0;position:relative;transition:.2s;width:100%;z-index:2;box-sizing:border-box}.list-container nav.menu-list ul.menu{float:left;font-size:0;list-style:none;margin:0;padding:0 10px;position:relative;text-align:left}.list-container nav.menu-list ul.menu li{color:#616161;display:inline-block;font-size:16px;padding:0 4px}.list-container nav.menu-list ul.menu li button.mat-button,.list-container nav.menu-list ul.menu li button.koala-icon-button{display:inline-block}.list-container .content-paginator mat-paginator .mat-paginator-container{height:40px!important;min-height:40px!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-page-size-select{height:40px;margin-top:0!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-range-label{margin-top:3px}.list-container .content-paginator{position:relative;background:transparent!important;z-index:2;box-shadow:-3px 1px 3px #0000004d}.list-container .item-detail{overflow:hidden}.list-container tr.item-detail-row{height:0!important}.list-container tr.item-detail-row .list-container{width:100%!important}.list-container tr.item-detail-row .list-container .list{height:auto!important;max-height:250px!important}.list-container tr.item-detail-row .list-container nav.menu-list{display:none}@media (max-width: 900px){.list-container{width:100%;box-shadow:none!important;padding:15px 10px 15px 15px;box-sizing:border-box}.list-container .list{height:auto;overflow:unset}.list-container .list-filter .main{justify-content:flex-end}}\n"], components: [{ type: i2.DynamicFormComponent, selector: "koala-dynamic-form", inputs: ["form", "formConfig", "showFields", "showFieldsMoreItensConfig", "setValues", "tabIndexStart"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.BtnSubmitComponent, selector: "koala-submit", inputs: ["fg", "color", "btnLabel", "btnSubmitDisabled", "loader", "iconButton", "icon", "iconColor"] }, { type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i9.ButtonComponent, selector: "koala-button", inputs: ["color", "backgroundColor", "icon", "text", "tooltip", "disabled", "koalaIcon", "koalaIconSize"] }, { type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i11.KoalaDynamicComponentFactory, selector: "koala-dynamic-component", inputs: ["dynamicComponent"] }, { type: ListComponent, selector: "koala-list", inputs: ["config"] }, { type: i12.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i12.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { type: i13.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i10.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i8.MatCellDef, selector: "[matCellDef]" }, { type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i8.MatFooterCellDef, selector: "[matFooterCellDef]" }, { type: i8.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i8.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }], pipes: { "async": i14.AsyncPipe }, animations: [
451
+ ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ListComponent, deps: [{ token: i1.FormBuilder }, { token: i2.KoalaDynamicFormService }, { token: i3.DeviceDetectorService }], target: i0.ɵɵFactoryTarget.Component });
452
+ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ListComponent, selector: "koala-list", inputs: { config: "config" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"list-container\" [ngClass]=\"customClass\">\n <div *ngIf=\"filterFormConfig\" class=\"list-filter\">\n <form (ngSubmit)=\"filterSubmit()\" [formGroup]=\"formFilter\">\n <div class=\"main\">\n <koala-dynamic-form\n *ngIf=\"filterFormConfig.main\"\n [form]=\"filterFormConfig.main.form\"\n [formConfig]=\"filterFormConfig.main.formConfig\"\n [setValues]=\"filterFormConfig.main.setValues\"\n [showFields]=\"filterFormConfig.main.showFields\">\n </koala-dynamic-form>\n <ul>\n <li *ngIf=\"filterFormConfig.advanced\" class=\"option\">\n <button (click)=\"toogleFilter()\" color=\"primary\" mat-icon-button matTooltip=\"Filtro Avan\u00E7ado\"\n matTooltipPosition=\"below\" type=\"button\">\n <mat-icon>tune</mat-icon>\n </button>\n </li>\n <li *ngIf=\"filterFormConfig.checkAndSearch\" class=\"checkbox-filter\">\n <mat-checkbox (click)=\"filterSubmit()\"\n [formControlName]=\"filterFormConfig.checkAndSearch.formControlName\">\n {{filterFormConfig.checkAndSearch.label}}\n </mat-checkbox>\n </li>\n <li class=\"option\">\n <koala-submit\n [btnSubmitDisabled]=\"btnSubmitDisabled\"\n [fg]=\"formFilter\"\n [iconButton]=\"true\"\n [loader]=\"loader\"\n icon=\"search\">\n </koala-submit>\n </li>\n </ul>\n </div>\n <div *ngIf=\"filterFormConfig.advanced\" [ngClass]=\"{'show': showAdvancedFilter}\" class=\"advanced\">\n <div class=\"container-filter\">\n <koala-dynamic-form\n [form]=\"filterFormConfig.advanced.form\"\n [formConfig]=\"filterFormConfig.advanced.formConfig\"\n [setValues]=\"filterFormConfig.advanced.setValues\"\n [showFields]=\"filterFormConfig.advanced.showFields\">\n </koala-dynamic-form>\n </div>\n </div>\n </form>\n </div>\n <nav class=\"menu-list\">\n <ul class=\"menu\">\n <li *ngIf=\"selection.hasValue()\">\n <ng-content select=\"[itemsSelectList]\"></ng-content>\n </li>\n <li *ngIf=\"selection.hasValue()\" class=\"text-center\">|</li>\n <li>\n <ng-content select=\"[itemsList]\"></ng-content>\n </li>\n </ul>\n </nav>\n <div *ngIf=\"loader | async\" class=\"spinner-container\" [ngClass]=\"{\n 'no-filter': !filterFormConfig\n }\">\n <mat-spinner color=\"primary\" diameter=\"40\"></mat-spinner>\n </div>\n <div class=\"list\">\n <table\n *ngIf=\"!emptyListComponent || (emptyListComponent && dataSource?.data?.length > 0) else emptyList\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"columnSort\"\n [id]=\"tableId\"\n multiTemplateDataRows\n class=\"table-hover\"\n mat-table\n matSort\n [matSortDirection]=\"sortDirection\" matSortDisableClear>\n <ng-container matColumnDef=\"select\">\n <th *matHeaderCellDef mat-header-cell>\n <mat-checkbox (change)=\"$event ? selectAll() : null\"\n [checked]=\"selection.hasValue() && allSelected$ | async\"\n [indeterminate]=\"selection.hasValue() && !(allSelected$ | async)\">\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let item\" mat-cell>\n <mat-checkbox *ngIf=\"disabledCheckboxItemList ? !disabledCheckboxItemList(item) : true\"\n (change)=\"$event ? selection.toggle(item) : null\"\n (click)=\"$event.stopPropagation(); selectItem();\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"collapseButton\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <koala-button\n *ngIf=\"btnCollapseSubListConfig.show(item)\"\n (click)=\"expandedElement = expandedElement === item ? null : item\"\n [koalaIcon]=\"btnCollapseSubListConfig.koalaIcon\"\n [icon]=\"btnCollapseSubListConfig.icon\"\n [tooltip]=\"btnCollapseSubListConfig.tooltip\"\n [color]=\"btnCollapseSubListConfig.iconColor\"\n [backgroundColor]=\"btnCollapseSubListConfig.backgroundColor\"\n [koalaIconSize]=\"22\">\n </koala-button>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngFor=\"let itemList of itemsList\" [matColumnDef]=\"itemList.columnDef\">\n <th *matHeaderCellDef [mat-sort-header]=\"itemList.sortHeader\" [disabled]=\"!itemList.sortHeader\" mat-header-cell>{{itemList.label}}</th>\n <td (dblclick)=\"itemList.dblClick(item)\" *matCellDef=\"let item\" mat-cell>\n\t <koala-dynamic-component *ngIf=\"itemList.itemComponent else itemText\"\n\t [dynamicComponent]=\"itemList.itemComponent(item)\"></koala-dynamic-component>\n\t <ng-template #itemText>\n\t {{itemList.itemNameProperty(item)}}\n\t </ng-template>\n </td>\n <td *matFooterCellDef mat-footer-cell>\n <koala-dynamic-component *ngIf=\"itemList.footer?.itemComponent else itemFooterText\"\n [dynamicComponent]=\"itemList.footer?.itemComponent(responseRequest)\"></koala-dynamic-component>\n <ng-template #itemFooterText>\n {{itemList.footer?.itemNameProperty(responseRequest)}}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"koalaListDetails\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" [attr.colspan]=\"columnsToShowInList.length\" mat-cell>\n <div class=\"item-detail\" [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\">\n <koala-list [config]=\"subListConfig(item)\"></koala-list>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container matColumnDef=\"options\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <div *ngIf=\"haveOptionsOnItemLine(item)\">\n <button [matMenuTriggerFor]=\"options\" mat-icon-button type=\"button\">\n <i class='material-icons'>more_vert</i>\n </button>\n <mat-menu #options=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n\t <div *ngFor=\"let option of itemsMenuListOptions\">\n\t <button\n\t\t (click)=\"option.action(item)\"\n\t\t *ngIf=\"option.havePermission && (\n\t\t !option.showByItemList ||\n\t\t option.showByItemList(item)\n\t )\"\n\t\t mat-menu-item>\n\t <mat-icon>{{option.icon}}</mat-icon>\n\t <span>{{option.name}}</span>\n\t </button>\n\t </div>\n </mat-menu>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <tr *matHeaderRowDef=\"columnsToShowInList; sticky: true\" mat-header-row></tr>\n <tr *matRowDef=\"let item; columns: columnsToShowInList;\" mat-row></tr>\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\">\n <tr mat-row *matRowDef=\"let row; columns: ['koalaListDetails']\" class=\"item-detail-row\"></tr>\n </ng-container>\n <ng-container *ngIf=\"hasFooter()\">\n <tr *matFooterRowDef=\"columnsToShowInList; sticky: true\" mat-footer-row></tr>\n </ng-container>\n </table>\n <ng-template #emptyList>\n <koala-dynamic-component *ngIf=\"!(filterError$ | async) else errorList\" [dynamicComponent]=\"emptyListComponent\"></koala-dynamic-component>\n <ng-template #errorList>\n <koala-dynamic-component [dynamicComponent]=\"errorListComponent\"></koala-dynamic-component>\n </ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"!hidePaginator\" class=\"content-paginator\">\n <mat-paginator\n [length]=\"qtdListResult\"\n [pageSizeOptions]=\"limitOptions\"\n [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n", styles: [".list-container{border-radius:10px;margin:0 auto;overflow-x:hidden;width:calc(100% - 40px);position:relative}.list-container .spinner-container{position:absolute;width:100%;height:calc(100vh - 320px);top:100px;left:0;background:rgba(0,0,0,.15);z-index:2;display:flex;align-items:center;justify-content:center}.list-container .spinner-container.no-filter{top:40px}.list-container .list{display:block;height:calc(100vh - 320px);overflow-y:auto;position:relative;top:0;width:100%;z-index:1}.list-container .list table:not(.table-not-selection) .mat-header-cell:first-child,.list-container .list .mat-header-cell:last-child,.list-container .list .mat-header-cell.mat-column-collapseButton{width:5%}.list-container .list .mat-header-cell:last-child{text-align:center}.list-container .list .mat-header-row,.list-container .list .mat-row,.list-container .list .mat-footer-row{height:35px}.list-container .list .mat-row .mat-icon-button{height:35px;line-height:35px;width:35px}.list-container .list tr.detail-row:not(.expanded-row){height:0}.list-container .list .element-detail{display:flex;overflow:hidden}.list-container .list table{position:relative;width:100%;font-family:OpenSans,sans-serif;font-size:1em}.list-container .list table.table-hover tr{cursor:pointer;transition:.2s}.list-container .list table th:first-child,.list-container .list table td:first-child{padding:0 8px 0 20px}.list-container .list table th{font-size:.7em;padding:0 8px;font-family:OpenSans,sans-serif;line-height:1em}.list-container .list table td{font-size:.8em;padding:0 8px;font-family:OpenSans,sans-serif}.list-container .list table th:last-child,.list-container .list table td:last-child{padding:0 20px 0 8px}.list-container .list .mat-list-item-content,.list-container .list .mat-list-item-content .mat-list-text{padding:0}.list-container .list-filter{box-shadow:0 1px 3px #0000004d;height:60px;position:relative;z-index:3}.list-container .list-filter .main{display:flex;justify-content:space-between;font-size:1.05em;height:60px;overflow:hidden;padding-left:2.5px;position:relative;width:100%}.list-container .list-filter .main koala-dynamic-form{width:100%}.list-container .list-filter .main mat-form-field{display:inline-block}.list-container .list-filter .main .mat-form-field-appearance-fill .mat-form-field-flex{background:transparent}.list-container .list-filter .main .mat-form-field .mat-form-field-wrapper{padding-bottom:0}.list-container .list-filter .main .mat-form-field-underline,.list-container .list-filter .main .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper,.list-container .list-filter .main .mat-form-field-wrapper .mat-form-field-subscript-wrapper{display:none}.list-container .list-filter ul{display:flex;align-items:center;font-size:0;list-style:none;margin:0;padding:0 15px 0 0;position:relative;text-align:right}.list-container .list-filter ul li{display:inline-block;font-size:14px;padding:5px;position:relative}.list-container .list-filter ul li.option button{transition:.2s}.list-container .list-filter ul li.option button:hover{background:rgba(0,0,0,.1)}.list-container .list-filter ul li.checkbox-filter{text-align:center}.list-container .list-filter ul li.checkbox-filter .checkbox-inline{top:-5px}.list-container .list-filter ul li.checkbox-filter input[type=checkbox]{margin-left:0}.list-container .list-filter ul li.checkbox-filter label{padding:0!important;width:auto}.list-container .list-filter .advanced{border-top:1px solid #dddddd;box-shadow:0 3px 10px #0000004d;height:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:60px;transition:.2s;width:100%;z-index:1}.list-container .list-filter .advanced .container-filter{padding:15px}.list-container .list-filter .advanced.show{height:360px}.list-container nav.menu-list{height:40px;margin:0;padding:3px 0;position:relative;transition:.2s;width:100%;z-index:2;box-sizing:border-box}.list-container nav.menu-list ul.menu{float:left;font-size:0;list-style:none;margin:0;padding:0 10px;position:relative;text-align:left}.list-container nav.menu-list ul.menu li{color:#616161;display:inline-block;font-size:16px;padding:0 4px}.list-container nav.menu-list ul.menu li button.mat-button,.list-container nav.menu-list ul.menu li button.koala-icon-button{display:inline-block}.list-container .content-paginator mat-paginator .mat-paginator-container{height:40px!important;min-height:40px!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-page-size-select{height:40px;margin-top:0!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-range-label{margin-top:3px}.list-container .content-paginator{position:relative;background:transparent!important;z-index:2;box-shadow:-3px 1px 3px #0000004d}.list-container .item-detail{overflow:hidden}.list-container tr.item-detail-row{height:0!important}.list-container tr.item-detail-row .list-container{width:100%!important}.list-container tr.item-detail-row .list-container .list{height:auto!important;max-height:250px!important}.list-container tr.item-detail-row .list-container nav.menu-list{display:none}@media (max-width: 900px){.list-container{width:100%;box-shadow:none!important;padding:15px 10px 15px 15px;box-sizing:border-box}.list-container .list{height:auto;overflow:unset}.list-container .list-filter .main{justify-content:flex-end}}\n"], components: [{ type: i2.DynamicFormComponent, selector: "koala-dynamic-form", inputs: ["form", "formConfig", "showFields", "showFieldsMoreItensConfig", "setValues", "tabIndexStart"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.BtnSubmitComponent, selector: "koala-submit", inputs: ["fg", "color", "btnLabel", "btnSubmitDisabled", "loader", "iconButton", "icon", "iconColor"] }, { type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i9.ButtonComponent, selector: "koala-button", inputs: ["color", "backgroundColor", "icon", "text", "tooltip", "disabled", "koalaIcon", "koalaIconSize"] }, { type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i11.KoalaDynamicComponentFactory, selector: "koala-dynamic-component", inputs: ["dynamicComponent"] }, { type: ListComponent, selector: "koala-list", inputs: ["config"] }, { type: i12.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i12.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { type: i13.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i10.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i8.MatCellDef, selector: "[matCellDef]" }, { type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i8.MatFooterCellDef, selector: "[matFooterCellDef]" }, { type: i8.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i8.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }], pipes: { "async": i14.AsyncPipe }, animations: [
453
453
  trigger('detailExpand', [
454
454
  state('collapsed', style({ height: '0px', minHeight: '0' })),
455
455
  state('expanded', style({ height: '*' })),
456
456
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
457
457
  ]),
458
458
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ListComponent, decorators: [{
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ListComponent, decorators: [{
460
460
  type: Component,
461
461
  args: [{ selector: 'koala-list', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
462
462
  trigger('detailExpand', [
@@ -464,7 +464,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
464
464
  state('expanded', style({ height: '*' })),
465
465
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
466
466
  ]),
467
- ], template: "<div class=\"list-container\" [ngClass]=\"customClass\">\n <div *ngIf=\"filterFormConfig\" class=\"list-filter\">\n <form (ngSubmit)=\"filterSubmit()\" [formGroup]=\"formFilter\">\n <div class=\"main\">\n <koala-dynamic-form\n *ngIf=\"filterFormConfig.main\"\n [form]=\"filterFormConfig.main.form\"\n [formConfig]=\"filterFormConfig.main.formConfig\"\n [setValues]=\"filterFormConfig.main.setValues\"\n [showFields]=\"filterFormConfig.main.showFields\">\n </koala-dynamic-form>\n <ul>\n <li *ngIf=\"filterFormConfig.advanced\" class=\"option\">\n <button (click)=\"toogleFilter()\" color=\"primary\" mat-icon-button matTooltip=\"Filtro Avan\u00E7ado\"\n matTooltipPosition=\"below\" type=\"button\">\n <mat-icon>tune</mat-icon>\n </button>\n </li>\n <li *ngIf=\"filterFormConfig.checkAndSearch\" class=\"checkbox-filter\">\n <mat-checkbox (click)=\"filterSubmit()\"\n [formControlName]=\"filterFormConfig.checkAndSearch.formControlName\">\n {{filterFormConfig.checkAndSearch.label}}\n </mat-checkbox>\n </li>\n <li class=\"option\">\n <koala-submit\n [btnSubmitDisabled]=\"btnSubmitDisabled\"\n [fg]=\"formFilter\"\n [iconButton]=\"true\"\n [loader]=\"loader\"\n icon=\"search\">\n </koala-submit>\n </li>\n </ul>\n </div>\n <div *ngIf=\"filterFormConfig.advanced\" [ngClass]=\"{'show': showAdvancedFilter}\" class=\"advanced\">\n <div class=\"container-filter\">\n <koala-dynamic-form\n [form]=\"filterFormConfig.advanced.form\"\n [formConfig]=\"filterFormConfig.advanced.formConfig\"\n [setValues]=\"filterFormConfig.advanced.setValues\"\n [showFields]=\"filterFormConfig.advanced.showFields\">\n </koala-dynamic-form>\n </div>\n </div>\n </form>\n </div>\n <nav class=\"menu-list\">\n <ul class=\"menu\">\n <li *ngIf=\"selection.hasValue()\">\n <ng-content select=\"[itemsSelectList]\"></ng-content>\n </li>\n <li *ngIf=\"selection.hasValue()\" class=\"text-center\">|</li>\n <li>\n <ng-content select=\"[itemsList]\"></ng-content>\n </li>\n </ul>\n </nav>\n <div *ngIf=\"loader | async\" class=\"spinner-container\" [ngClass]=\"{\n 'no-filter': !filterFormConfig\n }\">\n <mat-spinner diameter=\"40\"></mat-spinner>\n </div>\n <div class=\"list\">\n <table\n *ngIf=\"!emptyListComponent || (emptyListComponent && dataSource?.data?.length > 0) else emptyList\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"columnSort\"\n [id]=\"tableId\"\n multiTemplateDataRows\n class=\"table-hover\"\n mat-table\n matSort\n [matSortDirection]=\"sortDirection\" matSortDisableClear>\n <ng-container matColumnDef=\"select\">\n <th *matHeaderCellDef mat-header-cell>\n <mat-checkbox (change)=\"$event ? selectAll() : null\"\n [checked]=\"selection.hasValue() && allSelected$ | async\"\n [indeterminate]=\"selection.hasValue() && !(allSelected$ | async)\">\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let item\" mat-cell>\n <mat-checkbox *ngIf=\"disabledCheckboxItemList ? !disabledCheckboxItemList(item) : true\"\n (change)=\"$event ? selection.toggle(item) : null\"\n (click)=\"$event.stopPropagation(); selectItem();\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"collapseButton\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <koala-button\n *ngIf=\"btnCollapseSubListConfig.show(item)\"\n (click)=\"expandedElement = expandedElement === item ? null : item\"\n [koalaIcon]=\"btnCollapseSubListConfig.koalaIcon\"\n [icon]=\"btnCollapseSubListConfig.icon\"\n [tooltip]=\"btnCollapseSubListConfig.tooltip\"\n [color]=\"btnCollapseSubListConfig.iconColor\"\n [backgroundColor]=\"btnCollapseSubListConfig.backgroundColor\"\n [koalaIconSize]=\"22\">\n </koala-button>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngFor=\"let itemList of itemsList\" [matColumnDef]=\"itemList.columnDef\">\n <th *matHeaderCellDef [mat-sort-header]=\"itemList.sortHeader\" [disabled]=\"!itemList.sortHeader\" mat-header-cell>{{itemList.label}}</th>\n <td (dblclick)=\"itemList.dblClick(item)\" *matCellDef=\"let item\" mat-cell>\n\t <koala-dynamic-component *ngIf=\"itemList.itemComponent else itemText\"\n\t [dynamicComponent]=\"itemList.itemComponent(item)\"></koala-dynamic-component>\n\t <ng-template #itemText>\n\t {{itemList.itemNameProperty(item)}}\n\t </ng-template>\n </td>\n <td *matFooterCellDef mat-footer-cell>\n <koala-dynamic-component *ngIf=\"itemList.footer?.itemComponent else itemFooterText\"\n [dynamicComponent]=\"itemList.footer?.itemComponent(responseRequest)\"></koala-dynamic-component>\n <ng-template #itemFooterText>\n {{itemList.footer?.itemNameProperty(responseRequest)}}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"koalaListDetails\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" [attr.colspan]=\"columnsToShowInList.length\" mat-cell>\n <div class=\"item-detail\" [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\">\n <koala-list [config]=\"subListConfig(item)\"></koala-list>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container matColumnDef=\"options\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <div *ngIf=\"haveOptionsOnItemLine(item)\">\n <button [matMenuTriggerFor]=\"options\" mat-icon-button type=\"button\">\n <i class='material-icons'>more_vert</i>\n </button>\n <mat-menu #options=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n\t <div *ngFor=\"let option of itemsMenuListOptions\">\n\t <button\n\t\t (click)=\"option.action(item)\"\n\t\t *ngIf=\"option.havePermission && (\n\t\t !option.showByItemList ||\n\t\t option.showByItemList(item)\n\t )\"\n\t\t mat-menu-item>\n\t <mat-icon>{{option.icon}}</mat-icon>\n\t <span>{{option.name}}</span>\n\t </button>\n\t </div>\n </mat-menu>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <tr *matHeaderRowDef=\"columnsToShowInList; sticky: true\" mat-header-row></tr>\n <tr *matRowDef=\"let item; columns: columnsToShowInList;\" mat-row></tr>\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\">\n <tr mat-row *matRowDef=\"let row; columns: ['koalaListDetails']\" class=\"item-detail-row\"></tr>\n </ng-container>\n <ng-container *ngIf=\"hasFooter()\">\n <tr *matFooterRowDef=\"columnsToShowInList; sticky: true\" mat-footer-row></tr>\n </ng-container>\n </table>\n <ng-template #emptyList>\n <koala-dynamic-component *ngIf=\"!(filterError$ | async) else errorList\" [dynamicComponent]=\"emptyListComponent\"></koala-dynamic-component>\n <ng-template #errorList>\n <koala-dynamic-component [dynamicComponent]=\"errorListComponent\"></koala-dynamic-component>\n </ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"!hidePaginator\" class=\"content-paginator\">\n <mat-paginator\n [length]=\"qtdListResult\"\n [pageSizeOptions]=\"limitOptions\"\n [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n", styles: [".list-container{border-radius:10px;margin:0 auto;overflow-x:hidden;width:calc(100% - 40px);position:relative}.list-container .spinner-container{position:absolute;width:100%;height:calc(100vh - 320px);top:100px;left:0;background:rgba(0,0,0,.15);z-index:2;display:flex;align-items:center;justify-content:center}.list-container .spinner-container.no-filter{top:40px}.list-container .list{display:block;height:calc(100vh - 320px);overflow-y:auto;position:relative;top:0;width:100%;z-index:1}.list-container .list table:not(.table-not-selection) .mat-header-cell:first-child,.list-container .list .mat-header-cell:last-child,.list-container .list .mat-header-cell.mat-column-collapseButton{width:5%}.list-container .list .mat-header-cell:last-child{text-align:center}.list-container .list .mat-header-row,.list-container .list .mat-row,.list-container .list .mat-footer-row{height:35px}.list-container .list .mat-row .mat-icon-button{height:35px;line-height:35px;width:35px}.list-container .list tr.detail-row:not(.expanded-row){height:0}.list-container .list .element-detail{display:flex;overflow:hidden}.list-container .list table{position:relative;width:100%;font-family:OpenSans,sans-serif;font-size:1em}.list-container .list table.table-hover tr{cursor:pointer;transition:.2s}.list-container .list table th:first-child,.list-container .list table td:first-child{padding:0 8px 0 20px}.list-container .list table th{font-size:.7em;padding:0 8px;font-family:OpenSans,sans-serif;line-height:1em}.list-container .list table td{font-size:.8em;padding:0 8px;font-family:OpenSans,sans-serif}.list-container .list table th:last-child,.list-container .list table td:last-child{padding:0 20px 0 8px}.list-container .list .mat-list-item-content,.list-container .list .mat-list-item-content .mat-list-text{padding:0}.list-container .list-filter{box-shadow:0 1px 3px #0000004d;height:60px;position:relative;z-index:3}.list-container .list-filter .main{display:flex;justify-content:space-between;font-size:1.05em;height:60px;overflow:hidden;padding-left:2.5px;position:relative;width:100%}.list-container .list-filter .main koala-dynamic-form{width:100%}.list-container .list-filter .main mat-form-field{display:inline-block}.list-container .list-filter .main .mat-form-field-appearance-fill .mat-form-field-flex{background:transparent}.list-container .list-filter .main .mat-form-field .mat-form-field-wrapper{padding-bottom:0}.list-container .list-filter .main .mat-form-field-underline,.list-container .list-filter .main .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper,.list-container .list-filter .main .mat-form-field-wrapper .mat-form-field-subscript-wrapper{display:none}.list-container .list-filter ul{display:flex;align-items:center;font-size:0;list-style:none;margin:0;padding:0 15px 0 0;position:relative;text-align:right}.list-container .list-filter ul li{display:inline-block;font-size:14px;padding:5px;position:relative}.list-container .list-filter ul li.option button{transition:.2s}.list-container .list-filter ul li.option button:hover{background:rgba(0,0,0,.1)}.list-container .list-filter ul li.checkbox-filter{text-align:center}.list-container .list-filter ul li.checkbox-filter .checkbox-inline{top:-5px}.list-container .list-filter ul li.checkbox-filter input[type=checkbox]{margin-left:0}.list-container .list-filter ul li.checkbox-filter label{padding:0!important;width:auto}.list-container .list-filter .advanced{border-top:1px solid #dddddd;box-shadow:0 3px 10px #0000004d;height:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:60px;transition:.2s;width:100%;z-index:1}.list-container .list-filter .advanced .container-filter{padding:15px}.list-container .list-filter .advanced.show{height:360px}.list-container nav.menu-list{height:40px;margin:0;padding:3px 0;position:relative;transition:.2s;width:100%;z-index:2;box-sizing:border-box}.list-container nav.menu-list ul.menu{float:left;font-size:0;list-style:none;margin:0;padding:0 10px;position:relative;text-align:left}.list-container nav.menu-list ul.menu li{color:#616161;display:inline-block;font-size:16px;padding:0 4px}.list-container nav.menu-list ul.menu li button.mat-button,.list-container nav.menu-list ul.menu li button.koala-icon-button{display:inline-block}.list-container .content-paginator mat-paginator .mat-paginator-container{height:40px!important;min-height:40px!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-page-size-select{height:40px;margin-top:0!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-range-label{margin-top:3px}.list-container .content-paginator{position:relative;background:transparent!important;z-index:2;box-shadow:-3px 1px 3px #0000004d}.list-container .item-detail{overflow:hidden}.list-container tr.item-detail-row{height:0!important}.list-container tr.item-detail-row .list-container{width:100%!important}.list-container tr.item-detail-row .list-container .list{height:auto!important;max-height:250px!important}.list-container tr.item-detail-row .list-container nav.menu-list{display:none}@media (max-width: 900px){.list-container{width:100%;box-shadow:none!important;padding:15px 10px 15px 15px;box-sizing:border-box}.list-container .list{height:auto;overflow:unset}.list-container .list-filter .main{justify-content:flex-end}}\n"] }]
467
+ ], template: "<div class=\"list-container\" [ngClass]=\"customClass\">\n <div *ngIf=\"filterFormConfig\" class=\"list-filter\">\n <form (ngSubmit)=\"filterSubmit()\" [formGroup]=\"formFilter\">\n <div class=\"main\">\n <koala-dynamic-form\n *ngIf=\"filterFormConfig.main\"\n [form]=\"filterFormConfig.main.form\"\n [formConfig]=\"filterFormConfig.main.formConfig\"\n [setValues]=\"filterFormConfig.main.setValues\"\n [showFields]=\"filterFormConfig.main.showFields\">\n </koala-dynamic-form>\n <ul>\n <li *ngIf=\"filterFormConfig.advanced\" class=\"option\">\n <button (click)=\"toogleFilter()\" color=\"primary\" mat-icon-button matTooltip=\"Filtro Avan\u00E7ado\"\n matTooltipPosition=\"below\" type=\"button\">\n <mat-icon>tune</mat-icon>\n </button>\n </li>\n <li *ngIf=\"filterFormConfig.checkAndSearch\" class=\"checkbox-filter\">\n <mat-checkbox (click)=\"filterSubmit()\"\n [formControlName]=\"filterFormConfig.checkAndSearch.formControlName\">\n {{filterFormConfig.checkAndSearch.label}}\n </mat-checkbox>\n </li>\n <li class=\"option\">\n <koala-submit\n [btnSubmitDisabled]=\"btnSubmitDisabled\"\n [fg]=\"formFilter\"\n [iconButton]=\"true\"\n [loader]=\"loader\"\n icon=\"search\">\n </koala-submit>\n </li>\n </ul>\n </div>\n <div *ngIf=\"filterFormConfig.advanced\" [ngClass]=\"{'show': showAdvancedFilter}\" class=\"advanced\">\n <div class=\"container-filter\">\n <koala-dynamic-form\n [form]=\"filterFormConfig.advanced.form\"\n [formConfig]=\"filterFormConfig.advanced.formConfig\"\n [setValues]=\"filterFormConfig.advanced.setValues\"\n [showFields]=\"filterFormConfig.advanced.showFields\">\n </koala-dynamic-form>\n </div>\n </div>\n </form>\n </div>\n <nav class=\"menu-list\">\n <ul class=\"menu\">\n <li *ngIf=\"selection.hasValue()\">\n <ng-content select=\"[itemsSelectList]\"></ng-content>\n </li>\n <li *ngIf=\"selection.hasValue()\" class=\"text-center\">|</li>\n <li>\n <ng-content select=\"[itemsList]\"></ng-content>\n </li>\n </ul>\n </nav>\n <div *ngIf=\"loader | async\" class=\"spinner-container\" [ngClass]=\"{\n 'no-filter': !filterFormConfig\n }\">\n <mat-spinner color=\"primary\" diameter=\"40\"></mat-spinner>\n </div>\n <div class=\"list\">\n <table\n *ngIf=\"!emptyListComponent || (emptyListComponent && dataSource?.data?.length > 0) else emptyList\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"columnSort\"\n [id]=\"tableId\"\n multiTemplateDataRows\n class=\"table-hover\"\n mat-table\n matSort\n [matSortDirection]=\"sortDirection\" matSortDisableClear>\n <ng-container matColumnDef=\"select\">\n <th *matHeaderCellDef mat-header-cell>\n <mat-checkbox (change)=\"$event ? selectAll() : null\"\n [checked]=\"selection.hasValue() && allSelected$ | async\"\n [indeterminate]=\"selection.hasValue() && !(allSelected$ | async)\">\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let item\" mat-cell>\n <mat-checkbox *ngIf=\"disabledCheckboxItemList ? !disabledCheckboxItemList(item) : true\"\n (change)=\"$event ? selection.toggle(item) : null\"\n (click)=\"$event.stopPropagation(); selectItem();\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"collapseButton\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <koala-button\n *ngIf=\"btnCollapseSubListConfig.show(item)\"\n (click)=\"expandedElement = expandedElement === item ? null : item\"\n [koalaIcon]=\"btnCollapseSubListConfig.koalaIcon\"\n [icon]=\"btnCollapseSubListConfig.icon\"\n [tooltip]=\"btnCollapseSubListConfig.tooltip\"\n [color]=\"btnCollapseSubListConfig.iconColor\"\n [backgroundColor]=\"btnCollapseSubListConfig.backgroundColor\"\n [koalaIconSize]=\"22\">\n </koala-button>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngFor=\"let itemList of itemsList\" [matColumnDef]=\"itemList.columnDef\">\n <th *matHeaderCellDef [mat-sort-header]=\"itemList.sortHeader\" [disabled]=\"!itemList.sortHeader\" mat-header-cell>{{itemList.label}}</th>\n <td (dblclick)=\"itemList.dblClick(item)\" *matCellDef=\"let item\" mat-cell>\n\t <koala-dynamic-component *ngIf=\"itemList.itemComponent else itemText\"\n\t [dynamicComponent]=\"itemList.itemComponent(item)\"></koala-dynamic-component>\n\t <ng-template #itemText>\n\t {{itemList.itemNameProperty(item)}}\n\t </ng-template>\n </td>\n <td *matFooterCellDef mat-footer-cell>\n <koala-dynamic-component *ngIf=\"itemList.footer?.itemComponent else itemFooterText\"\n [dynamicComponent]=\"itemList.footer?.itemComponent(responseRequest)\"></koala-dynamic-component>\n <ng-template #itemFooterText>\n {{itemList.footer?.itemNameProperty(responseRequest)}}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"koalaListDetails\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" [attr.colspan]=\"columnsToShowInList.length\" mat-cell>\n <div class=\"item-detail\" [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\">\n <koala-list [config]=\"subListConfig(item)\"></koala-list>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container matColumnDef=\"options\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <div *ngIf=\"haveOptionsOnItemLine(item)\">\n <button [matMenuTriggerFor]=\"options\" mat-icon-button type=\"button\">\n <i class='material-icons'>more_vert</i>\n </button>\n <mat-menu #options=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n\t <div *ngFor=\"let option of itemsMenuListOptions\">\n\t <button\n\t\t (click)=\"option.action(item)\"\n\t\t *ngIf=\"option.havePermission && (\n\t\t !option.showByItemList ||\n\t\t option.showByItemList(item)\n\t )\"\n\t\t mat-menu-item>\n\t <mat-icon>{{option.icon}}</mat-icon>\n\t <span>{{option.name}}</span>\n\t </button>\n\t </div>\n </mat-menu>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <tr *matHeaderRowDef=\"columnsToShowInList; sticky: true\" mat-header-row></tr>\n <tr *matRowDef=\"let item; columns: columnsToShowInList;\" mat-row></tr>\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\">\n <tr mat-row *matRowDef=\"let row; columns: ['koalaListDetails']\" class=\"item-detail-row\"></tr>\n </ng-container>\n <ng-container *ngIf=\"hasFooter()\">\n <tr *matFooterRowDef=\"columnsToShowInList; sticky: true\" mat-footer-row></tr>\n </ng-container>\n </table>\n <ng-template #emptyList>\n <koala-dynamic-component *ngIf=\"!(filterError$ | async) else errorList\" [dynamicComponent]=\"emptyListComponent\"></koala-dynamic-component>\n <ng-template #errorList>\n <koala-dynamic-component [dynamicComponent]=\"errorListComponent\"></koala-dynamic-component>\n </ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"!hidePaginator\" class=\"content-paginator\">\n <mat-paginator\n [length]=\"qtdListResult\"\n [pageSizeOptions]=\"limitOptions\"\n [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n", styles: [".list-container{border-radius:10px;margin:0 auto;overflow-x:hidden;width:calc(100% - 40px);position:relative}.list-container .spinner-container{position:absolute;width:100%;height:calc(100vh - 320px);top:100px;left:0;background:rgba(0,0,0,.15);z-index:2;display:flex;align-items:center;justify-content:center}.list-container .spinner-container.no-filter{top:40px}.list-container .list{display:block;height:calc(100vh - 320px);overflow-y:auto;position:relative;top:0;width:100%;z-index:1}.list-container .list table:not(.table-not-selection) .mat-header-cell:first-child,.list-container .list .mat-header-cell:last-child,.list-container .list .mat-header-cell.mat-column-collapseButton{width:5%}.list-container .list .mat-header-cell:last-child{text-align:center}.list-container .list .mat-header-row,.list-container .list .mat-row,.list-container .list .mat-footer-row{height:35px}.list-container .list .mat-row .mat-icon-button{height:35px;line-height:35px;width:35px}.list-container .list tr.detail-row:not(.expanded-row){height:0}.list-container .list .element-detail{display:flex;overflow:hidden}.list-container .list table{position:relative;width:100%;font-family:OpenSans,sans-serif;font-size:1em}.list-container .list table.table-hover tr{cursor:pointer;transition:.2s}.list-container .list table th:first-child,.list-container .list table td:first-child{padding:0 8px 0 20px}.list-container .list table th{font-size:.7em;padding:0 8px;font-family:OpenSans,sans-serif;line-height:1em}.list-container .list table td{font-size:.8em;padding:0 8px;font-family:OpenSans,sans-serif}.list-container .list table th:last-child,.list-container .list table td:last-child{padding:0 20px 0 8px}.list-container .list .mat-list-item-content,.list-container .list .mat-list-item-content .mat-list-text{padding:0}.list-container .list-filter{box-shadow:0 1px 3px #0000004d;height:60px;position:relative;z-index:3}.list-container .list-filter .main{display:flex;justify-content:space-between;font-size:1.05em;height:60px;overflow:hidden;padding-left:2.5px;position:relative;width:100%}.list-container .list-filter .main koala-dynamic-form{width:100%}.list-container .list-filter .main mat-form-field{display:inline-block}.list-container .list-filter .main .mat-form-field-appearance-fill .mat-form-field-flex{background:transparent}.list-container .list-filter .main .mat-form-field .mat-form-field-wrapper{padding-bottom:0}.list-container .list-filter .main .mat-form-field-underline,.list-container .list-filter .main .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper,.list-container .list-filter .main .mat-form-field-wrapper .mat-form-field-subscript-wrapper{display:none}.list-container .list-filter ul{display:flex;align-items:center;font-size:0;list-style:none;margin:0;padding:0 15px 0 0;position:relative;text-align:right}.list-container .list-filter ul li{display:inline-block;font-size:14px;padding:5px;position:relative}.list-container .list-filter ul li.option button{transition:.2s}.list-container .list-filter ul li.option button:hover{background:rgba(0,0,0,.1)}.list-container .list-filter ul li.checkbox-filter{text-align:center}.list-container .list-filter ul li.checkbox-filter .checkbox-inline{top:-5px}.list-container .list-filter ul li.checkbox-filter input[type=checkbox]{margin-left:0}.list-container .list-filter ul li.checkbox-filter label{padding:0!important;width:auto}.list-container .list-filter .advanced{border-top:1px solid #dddddd;box-shadow:0 3px 10px #0000004d;height:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:60px;transition:.2s;width:100%;z-index:1}.list-container .list-filter .advanced .container-filter{padding:15px}.list-container .list-filter .advanced.show{height:360px}.list-container nav.menu-list{height:40px;margin:0;padding:3px 0;position:relative;transition:.2s;width:100%;z-index:2;box-sizing:border-box}.list-container nav.menu-list ul.menu{float:left;font-size:0;list-style:none;margin:0;padding:0 10px;position:relative;text-align:left}.list-container nav.menu-list ul.menu li{color:#616161;display:inline-block;font-size:16px;padding:0 4px}.list-container nav.menu-list ul.menu li button.mat-button,.list-container nav.menu-list ul.menu li button.koala-icon-button{display:inline-block}.list-container .content-paginator mat-paginator .mat-paginator-container{height:40px!important;min-height:40px!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-page-size-select{height:40px;margin-top:0!important}.list-container .content-paginator mat-paginator .mat-paginator-container .mat-paginator-range-label{margin-top:3px}.list-container .content-paginator{position:relative;background:transparent!important;z-index:2;box-shadow:-3px 1px 3px #0000004d}.list-container .item-detail{overflow:hidden}.list-container tr.item-detail-row{height:0!important}.list-container tr.item-detail-row .list-container{width:100%!important}.list-container tr.item-detail-row .list-container .list{height:auto!important;max-height:250px!important}.list-container tr.item-detail-row .list-container nav.menu-list{display:none}@media (max-width: 900px){.list-container{width:100%;box-shadow:none!important;padding:15px 10px 15px 15px;box-sizing:border-box}.list-container .list{height:auto;overflow:unset}.list-container .list-filter .main{justify-content:flex-end}}\n"] }]
468
468
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.KoalaDynamicFormService }, { type: i3.DeviceDetectorService }]; }, propDecorators: { config: [{
469
469
  type: Input
470
470
  }], paginator: [{
@@ -477,8 +477,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
477
477
 
478
478
  class KoalaListModule {
479
479
  }
480
- KoalaListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
481
- KoalaListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListModule, declarations: [ListComponent], imports: [CommonModule,
480
+ KoalaListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
481
+ KoalaListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListModule, declarations: [ListComponent], imports: [CommonModule,
482
482
  KoalaFolderPageModule,
483
483
  KoalaFormModule,
484
484
  KoalaDynamicComponentModule,
@@ -488,7 +488,7 @@ KoalaListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
488
488
  MatSortModule,
489
489
  MatTooltipModule,
490
490
  MatPaginatorModule], exports: [ListComponent] });
491
- KoalaListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListModule, providers: [{
491
+ KoalaListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListModule, providers: [{
492
492
  provide: MatPaginatorIntl,
493
493
  useClass: PaginationProvider
494
494
  }], imports: [[
@@ -503,7 +503,7 @@ KoalaListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
503
503
  MatTooltipModule,
504
504
  MatPaginatorModule
505
505
  ]] });
506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaListModule, decorators: [{
506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaListModule, decorators: [{
507
507
  type: NgModule,
508
508
  args: [{
509
509
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"koalarx-ui-list.mjs","sources":["../../../projects/list/src/lib/providers/pagination/pagination.provider.ts","../../../projects/list/src/lib/list-builder/list.builder.ts","../../../projects/list/src/lib/koala.list.service.ts","../../../projects/list/src/lib/list.abstract.ts","../../../projects/list/src/lib/list.component.ts","../../../projects/list/src/lib/list.component.html","../../../projects/list/src/lib/koala.list.module.ts","../../../projects/list/src/koalarx-ui-list.ts"],"sourcesContent":["import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PaginationProvider extends MatPaginatorIntl {\n constructor() {\n super();\n this.getAndInitTranslations();\n }\n\n public getAndInitTranslations() {\n this.itemsPerPageLabel = \"Itens por Página\";\n this.firstPageLabel = \"Primeira Página\";\n this.nextPageLabel = \"Próxima Página\";\n this.previousPageLabel = \"Página Anterior\";\n this.lastPageLabel = \"Última Página\";\n this.changes.next();\n }\n\n public getRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 / ${length}`;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n return `${startIndex + 1} - ${endIndex} / ${length}`;\n }\n}\n","import { KoalaListConfigInterface } from \"../koala.list-config.interface\";\nimport { KoalaListItemInterface } from \"../koala-list-item.interface\";\nimport { Type } from \"@angular/core\";\nimport { KoalaDynamicComponent } from \"@koalarx/ui/dynamic-component\";\nimport { KoalaListFilterInterface } from \"../koala-list-filter.interface\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { KoalaListFormFilterInterface } from \"../koala-list-form-filter.interface\";\nimport { KoalaListItemMenuOptionInterface } from \"../koala-list-item-menu-option.interface\";\nimport { SelectionModel } from \"@angular/cdk/collections\";\nimport { KoalaListPageSize } from \"../list.abstract\";\nimport { first } from \"rxjs/operators\";\nimport { KoalaListBtnCollapseSubListConfigInterface } from \"../koala-list-btn-collapse-sub-list-config.interface\";\n\nexport class ListBuilder<DataType> {\n private config = {} as KoalaListConfigInterface;\n\n public service(\n service: (filter: BehaviorSubject<KoalaListFormFilterInterface>) => Observable<any> | Promise<any>,\n type: 'all' | 'onDemand' = \"all\",\n resultIndexName?: string,\n qtdResultIndexName?: string\n ) {\n this.config.typeRequest = type;\n this.config.responseIndexName = resultIndexName;\n this.config.responseQtdResultIndexName = response => response[qtdResultIndexName ?? ''] ?? [];\n this.config.columnSort = this.config?.filterParams?.getValue()?.sort;\n this.config.sortDirection = this.config?.filterParams?.getValue()?.order ?? 'asc';\n\n const response = service(this.config.filterParams ?? null);\n\n if (response instanceof Promise) {\n this.config.request = new Observable<any>(observe => {\n response.then(response => observe.next(response))\n .catch(error => observe.error(error));\n }).pipe(first());\n } else {\n this.config.request = new Observable<any>(observe => {\n (service(this.config.filterParams ?? null) as Observable<any>).pipe(first()).subscribe(observe);\n }).pipe(first());\n }\n\n return this;\n }\n\n public filterConfig(config: KoalaListFilterInterface) {\n this.config.filterFormConfig = config;\n return this;\n }\n\n public defaultFilter(config: KoalaListFormFilterInterface) {\n this.config.filterParams = new BehaviorSubject<KoalaListFormFilterInterface>(config);\n return this;\n }\n\n public pageSize(size: KoalaListPageSize) {\n this.config.pageSize = size;\n return this;\n }\n\n public columns(columns: string[]) {\n this.config.columnsToShowInList = columns;\n return this;\n }\n\n public itemColumn(item: KoalaListItemInterface<DataType>) {\n (this.config.itemsList?.length > 0) ?\n this.config.itemsList.push(item) :\n this.config.itemsList = [item];\n\n return this;\n }\n\n public actionList(item: KoalaListItemMenuOptionInterface<DataType>) {\n (this.config.itemsMenuListOptions?.length ?? 0 > 0) ?\n this.config.itemsMenuListOptions?.push(item) :\n this.config.itemsMenuListOptions = [item];\n\n return this;\n }\n\n public getDataSource(fn: (dataSource: DataType[]) => void) {\n this.config.getDataSource = fn;\n return this;\n }\n\n public getSelectionList(fn: (selection: SelectionModel<DataType>) => void) {\n this.config.getSelectionList = fn;\n return this;\n }\n\n public emptyListComponent(component: Type<any>, data?: any) {\n this.config.emptyListComponent = new KoalaDynamicComponent(component, data);\n return this;\n }\n\n public errorListComponent(component: Type<any>, data?: any) {\n this.config.errorListComponent = new KoalaDynamicComponent(component, data);\n return this;\n }\n\n public disableCheckboxItemList(fn: (item: DataType) => boolean) {\n this.config.disabledCheckboxItemList = fn;\n return this;\n }\n\n public setSubList(config: (item: DataType) => KoalaListConfigInterface) {\n this.config.subListConfig = config;\n return this;\n }\n\n public defineBtnCollapseSubListConfig(config: KoalaListBtnCollapseSubListConfigInterface<DataType>) {\n this.config.btnCollapseSubListConfig = config;\n return this;\n }\n\n public hidePaginator(hide: boolean = true) {\n this.config.hidePaginator = hide;\n return this;\n }\n\n public setCustomClass(className: string) {\n this.config.customClass = className;\n return this;\n }\n\n public getConfig(): KoalaListConfigInterface {\n this.config.reload = new BehaviorSubject<boolean>(false);\n return this.config;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ListBuilder } from \"./list-builder/list.builder\";\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaListService {\n\n public build<DataType>() {\n return new ListBuilder<DataType>();\n }\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { BehaviorSubject, merge, Observable, Subscription } from 'rxjs';\nimport { FormAbstract } from '@koalarx/ui/form';\nimport { FormGroup } from '@angular/forms';\nimport { debounceTime, first, map, startWith, switchMap } from 'rxjs/operators';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { KoalaListFormFilterInterface } from './koala-list-form-filter.interface';\nimport { KoalaDynamicComponent } from \"@koalarx/ui/dynamic-component\";\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { KoalaListConfigInterface } from \"./koala.list-config.interface\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\nexport type KoalaListPageSize = 10 | 20 | 30 | 50 | 100;\n\nexport abstract class ListAbstract extends FormAbstract {\n public selection = new SelectionModel<object>(true, []);\n public limitOptions: number[] = [10, 20, 30, 50, 100];\n public showMenuList: boolean = false;\n public allSelected$ = new BehaviorSubject<boolean>(false);\n public dataSource = new MatTableDataSource<any>([]);\n public typeRequest: 'all' | 'onDemand' = 'onDemand';\n public filterParams = new BehaviorSubject<KoalaListFormFilterInterface|null>(null);\n public filterError$ = new BehaviorSubject<any>(null);\n public emptyListComponent?: KoalaDynamicComponent;\n public errorListComponent?: KoalaDynamicComponent;\n public pageSize: KoalaListPageSize;\n public tableId = randomString(20, {uppercase: true, lowercase: true});\n\n protected config?: KoalaListConfigInterface;\n protected paginator?: MatPaginator;\n protected sort?: MatSort;\n\n private subscriptionList?: Subscription;\n private subscriptionSortList?: Subscription;\n private intervalSortList: any;\n\n protected constructor(\n private requestFunction: () => Observable<any>,\n private requestResponseFunction: <T>(results: T[]) => void,\n formSearch: () => FormGroup\n ) {\n super(formSearch);\n }\n\n public selectAll() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data.forEach(item => {\n if (\n (this.config?.disabledCheckboxItemList && !this.config.disabledCheckboxItemList(item)) ||\n !this.config?.disabledCheckboxItemList\n ) {\n this.selection.select(item);\n }\n });\n\n this.isAllSelected();\n }\n\n public defineStatusSelectAll(status: boolean) {\n this.allSelected$.next(status);\n return this.allSelected$.getValue();\n }\n\n public selectItem() {\n setTimeout(() => {\n this.showMenuList = this.selection.hasValue();\n this.isAllSelected();\n }, 50);\n }\n\n public async search(filter?: any) {\n this.loading(true);\n this.selection.clear();\n if (this.paginator) {\n this.paginator.firstPage();\n }\n this.filterParams.next({\n params: filter,\n sort: this.sort?.active ?? '',\n order: this.sort?.direction ?? 'asc',\n page: this.paginator?.pageIndex ?? 0,\n limit: this.paginator?.pageSize ?? 30\n });\n }\n\n protected onDestroy() {\n this.subscriptionSortList?.unsubscribe();\n this.subscriptionList?.unsubscribe();\n clearInterval(this.intervalSortList);\n }\n\n protected async afterViewInit() {\n let tentativas = 0;\n let stop = false;\n do {\n tentativas++;\n await delay(400);\n if (this.sort || this.emptyListComponent) {\n this.prepareSearch().then();\n if (this.emptyListComponent) stop = true;\n } else if (tentativas > 10) {\n stop = true;\n }\n } while (!this.sort && !stop);\n }\n\n private async prepareSearch() {\n this.intervalSortList = setInterval(() => {\n if (this.sort && !this.subscriptionSortList) {\n this.subscriptionSortList = this.sort.sortChange.subscribe(() => {\n const filter = this.filterParams.value ?? {} as any;\n filter.sort = this.sort?.active ?? '';\n filter.order = this.sort?.direction ?? '';\n this.filterParams.next(filter);\n });\n } else if (!this.sort && this.subscriptionSortList) {\n this.subscriptionSortList.unsubscribe();\n }\n }, 50);\n\n if (this.typeRequest === 'onDemand') {\n this.subscriptionList = merge(this.paginator?.page ?? new Observable(), this.filterParams).pipe(\n startWith({}),\n switchMap(() => new Observable(observe => {\n this.loading(true);\n this.selection.clear();\n if (this.filterParams.value) {\n this.filterParams.value.sort = this.sort?.active ?? this.config?.columnSort ?? '';\n this.filterParams.value.order = this.sort?.direction ?? this.config?.sortDirection ?? '';\n this.filterParams.value.page = this.paginator?.pageIndex ?? 0;\n this.filterParams.value.limit = this.paginator?.pageSize ?? 30;\n }\n observe.next(true);\n })),\n debounceTime(300),\n switchMap(() => this.runRequestFunction()),\n map((response) => {\n this.loading(false);\n this.scrollTableToTop();\n return this.requestResponseFunction(response);\n })\n ).subscribe();\n } else {\n if (this.paginator) this.dataSource.paginator = this.paginator;\n this.subscriptionList = this.filterParams.pipe(\n startWith({}),\n debounceTime(300),\n switchMap(() => this.runRequestFunction()),\n map((response) => {\n this.loading(false);\n this.scrollTableToTop();\n return this.requestResponseFunction(response);\n })\n ).subscribe();\n }\n\n if (this.emptyListComponent) {\n do {\n await delay(301);\n if (this.sort) {\n if (this.typeRequest === \"onDemand\") {\n this.sort.sortChange.subscribe(() => {\n if (this.paginator) this.paginator.pageIndex = 0\n });\n } else {\n this.dataSource.sort = this.sort;\n }\n }\n } while (!this.sort);\n }\n }\n\n private isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = (this.config?.disabledCheckboxItemList ?\n this.dataSource.data.filter(item => !(this.config?.disabledCheckboxItemList\n ? this.config.disabledCheckboxItemList(item)\n : '')) :\n this.dataSource.data).length;\n\n return this.defineStatusSelectAll(numSelected === numRows);\n }\n\n private runRequestFunction() {\n return new Observable<unknown[]>(observe => {\n this.requestFunction().pipe(first()).subscribe({\n next: response => observe.next(response),\n error: err => {\n if (this.errorListComponent) {\n this.filterError$.next(err);\n this.errorListComponent.data = err;\n }\n this.loading(false);\n observe.next([]);\n }\n })\n })\n }\n\n private scrollTableToTop() {\n const table = document.getElementById(this.tableId);\n if (table) {\n table.scrollTop = 0;\n }\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ListAbstract } from './list.abstract';\nimport { KoalaListItemMenuOptionInterface } from './koala-list-item-menu-option.interface';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KoalaListFilterInterface } from './koala-list-filter.interface';\nimport { KoalaDynamicFormService } from '@koalarx/ui/form';\nimport { KoalaListItemInterface } from './koala-list-item.interface';\nimport { KoalaListFormFilterInterface } from \"./koala-list-form-filter.interface\";\nimport { MatSort, SortDirection } from \"@angular/material/sort\";\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { koala } from \"@koalarx/utils\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { KoalaListConfigInterface } from \"./koala.list-config.interface\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { KoalaListBtnCollapseSubListConfigInterface } from \"./koala-list-btn-collapse-sub-list-config.interface\";\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\n@Component({\n selector: 'koala-list',\n templateUrl: 'list.component.html',\n styleUrls: ['list.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class ListComponent extends ListAbstract implements OnInit, AfterViewInit, OnDestroy {\n @Input() public config?: KoalaListConfigInterface;\n\n @ViewChild(MatPaginator) protected paginator: MatPaginator;\n @ViewChild(MatSort, {static: false}) protected sort: MatSort;\n\n public customClass?: string;\n public columnsToShowInList?: string[];\n public hidePaginator?: boolean = false;\n public columnSort?: string;\n public sortDirection: SortDirection = 'asc';\n public itemsMenuListOptions?: KoalaListItemMenuOptionInterface<any>[];\n public itemsList?: KoalaListItemInterface<any>[];\n public request?: Observable<any>;\n public responseIndexName?: string;\n public responseQtdResultIndexName?: (response: any) => number;\n public responseRequest?: any;\n public typeRequest: 'all' | 'onDemand' = 'all'\n public filterFormConfig?: KoalaListFilterInterface;\n public reload?: BehaviorSubject<boolean>;\n public formFilter?: FormGroup;\n public showAdvancedFilter: boolean = false;\n public qtdListResult = 0;\n public disabledCheckboxItemList?: (item: any) => boolean;\n public expandedElement = false;\n public btnCollapseSubListConfig?: KoalaListBtnCollapseSubListConfigInterface<any>;\n public subListConfig?: (item: any) => KoalaListConfigInterface;\n\n constructor(\n private fb: FormBuilder,\n private dynamicFormService: KoalaDynamicFormService,\n private deviceService: DeviceDetectorService\n ) {\n super(\n () => this.config?.request ?? new Observable<any>(),\n (response) => {\n this.responseRequest = response;\n this.dataSource.data = this.config?.responseIndexName\n ? (this.config.responseIndexName\n ? response[this.config.responseIndexName]\n : [])\n : response;\n if (this.config?.getDataSource) this.config?.getDataSource(this.dataSource.data);\n this.qtdListResult = this.config?.responseQtdResultIndexName\n ? this.config.responseQtdResultIndexName(response) ?? 0\n : this.dataSource.data?.length ?? 0;\n },\n () => this.formFilter ?? fb.group({})\n );\n }\n\n ngOnInit() {\n this.initConfig();\n this.formFilter = this.fb.group({\n formSearch: this.filterFormConfig?.main?.form ?? [''],\n formAdvancedSearch: this.filterFormConfig?.advanced?.form ?? ['']\n });\n this.loading(true);\n if (this.filterFormConfig) {\n this.filterFormConfig?.main?.formConfig?.map(item => {\n item.class += ' padding-none w-99';\n return item;\n });\n this.filterFormConfig?.advanced?.formConfig?.map(item => {\n item.class += ' padding-none';\n return item;\n });\n if (this.filterFormConfig?.checkAndSearch) {\n this.formFilter.addControl(this.filterFormConfig.checkAndSearch.formControlName, new FormControl(this.filterFormConfig.checkAndSearch.isChecked ?? false));\n }\n }\n\n if (this.config.getSelectionList) this.config.getSelectionList(this.selection);\n\n if (this.reload) {\n this.reload.subscribe(async reload => {\n if (reload) {\n await this.filterSubmit();\n }\n });\n }\n }\n\n ngOnDestroy() {\n super.onDestroy();\n }\n\n ngAfterViewInit() {\n super.afterViewInit().then();\n }\n\n public async filterSubmit() {\n this.showAdvancedFilter = false;\n await delay(1);\n let dados = koala(\n this.filterFormConfig?.main?.form\n ? this.dynamicFormService.emitData(this.filterFormConfig?.main?.form)\n : {}\n )\n .object()\n .merge(\n this.filterFormConfig?.advanced?.form\n ? this.dynamicFormService.emitData(this.filterFormConfig?.advanced?.form)\n : {})\n .getValue();\n\n if (this.filterFormConfig?.checkAndSearch) {\n const controlName = this.filterFormConfig.checkAndSearch.formControlName;\n dados[controlName] = this.formFilter.get(controlName).value;\n }\n await super.search(dados);\n }\n\n public toogleFilter() {\n this.showAdvancedFilter = !this.showAdvancedFilter;\n }\n\n public haveOptionsOnItemLine(item: any) {\n return this.itemsMenuListOptions.filter(option => option.havePermission && (\n !option.showByItemList ||\n option.showByItemList(item)\n )).length > 0\n }\n\n public hasFooter() {\n return !!this.itemsList.find(item => !!item.footer);\n }\n\n private initConfig() {\n this.columnSort = this.config.columnSort ?? null;\n this.sortDirection = this.config.sortDirection ?? 'asc';\n this.itemsMenuListOptions = this.config.itemsMenuListOptions ?? [];\n this.typeRequest = this.config.typeRequest ?? 'all';\n this.qtdListResult = this.config.qtdListResult ?? 0;\n this.columnsToShowInList = this.config.columnsToShowInList;\n this.itemsList = this.config.itemsList.map(item => {\n if (!item.dblClick) {\n item.dblClick = () => {\n };\n }\n return item;\n });\n this.showAdvancedFilter = this.config.showAdvancedFilter;\n this.filterFormConfig = this.config.filterFormConfig;\n this.request = this.config.request;\n this.reload = this.config.reload;\n this.responseIndexName = this.config.responseIndexName;\n this.responseQtdResultIndexName = this.config.responseQtdResultIndexName;\n this.filterParams = this.config.filterParams ?? new BehaviorSubject<KoalaListFormFilterInterface>(null);\n this.emptyListComponent = this.config.emptyListComponent;\n this.errorListComponent = this.config.errorListComponent;\n this.pageSize = this.config.pageSize ?? 30;\n this.disabledCheckboxItemList = this.config.disabledCheckboxItemList;\n this.subListConfig = this.config.subListConfig;\n this.btnCollapseSubListConfig = this.config.btnCollapseSubListConfig;\n this.hidePaginator = this.config.hidePaginator;\n this.customClass = this.config.customClass;\n }\n}\n","<div class=\"list-container\" [ngClass]=\"customClass\">\n <div *ngIf=\"filterFormConfig\" class=\"list-filter\">\n <form (ngSubmit)=\"filterSubmit()\" [formGroup]=\"formFilter\">\n <div class=\"main\">\n <koala-dynamic-form\n *ngIf=\"filterFormConfig.main\"\n [form]=\"filterFormConfig.main.form\"\n [formConfig]=\"filterFormConfig.main.formConfig\"\n [setValues]=\"filterFormConfig.main.setValues\"\n [showFields]=\"filterFormConfig.main.showFields\">\n </koala-dynamic-form>\n <ul>\n <li *ngIf=\"filterFormConfig.advanced\" class=\"option\">\n <button (click)=\"toogleFilter()\" color=\"primary\" mat-icon-button matTooltip=\"Filtro Avançado\"\n matTooltipPosition=\"below\" type=\"button\">\n <mat-icon>tune</mat-icon>\n </button>\n </li>\n <li *ngIf=\"filterFormConfig.checkAndSearch\" class=\"checkbox-filter\">\n <mat-checkbox (click)=\"filterSubmit()\"\n [formControlName]=\"filterFormConfig.checkAndSearch.formControlName\">\n {{filterFormConfig.checkAndSearch.label}}\n </mat-checkbox>\n </li>\n <li class=\"option\">\n <koala-submit\n [btnSubmitDisabled]=\"btnSubmitDisabled\"\n [fg]=\"formFilter\"\n [iconButton]=\"true\"\n [loader]=\"loader\"\n icon=\"search\">\n </koala-submit>\n </li>\n </ul>\n </div>\n <div *ngIf=\"filterFormConfig.advanced\" [ngClass]=\"{'show': showAdvancedFilter}\" class=\"advanced\">\n <div class=\"container-filter\">\n <koala-dynamic-form\n [form]=\"filterFormConfig.advanced.form\"\n [formConfig]=\"filterFormConfig.advanced.formConfig\"\n [setValues]=\"filterFormConfig.advanced.setValues\"\n [showFields]=\"filterFormConfig.advanced.showFields\">\n </koala-dynamic-form>\n </div>\n </div>\n </form>\n </div>\n <nav class=\"menu-list\">\n <ul class=\"menu\">\n <li *ngIf=\"selection.hasValue()\">\n <ng-content select=\"[itemsSelectList]\"></ng-content>\n </li>\n <li *ngIf=\"selection.hasValue()\" class=\"text-center\">|</li>\n <li>\n <ng-content select=\"[itemsList]\"></ng-content>\n </li>\n </ul>\n </nav>\n <div *ngIf=\"loader | async\" class=\"spinner-container\" [ngClass]=\"{\n 'no-filter': !filterFormConfig\n }\">\n <mat-spinner diameter=\"40\"></mat-spinner>\n </div>\n <div class=\"list\">\n <table\n *ngIf=\"!emptyListComponent || (emptyListComponent && dataSource?.data?.length > 0) else emptyList\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"columnSort\"\n [id]=\"tableId\"\n multiTemplateDataRows\n class=\"table-hover\"\n mat-table\n matSort\n [matSortDirection]=\"sortDirection\" matSortDisableClear>\n <ng-container matColumnDef=\"select\">\n <th *matHeaderCellDef mat-header-cell>\n <mat-checkbox (change)=\"$event ? selectAll() : null\"\n [checked]=\"selection.hasValue() && allSelected$ | async\"\n [indeterminate]=\"selection.hasValue() && !(allSelected$ | async)\">\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let item\" mat-cell>\n <mat-checkbox *ngIf=\"disabledCheckboxItemList ? !disabledCheckboxItemList(item) : true\"\n (change)=\"$event ? selection.toggle(item) : null\"\n (click)=\"$event.stopPropagation(); selectItem();\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"collapseButton\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <koala-button\n *ngIf=\"btnCollapseSubListConfig.show(item)\"\n (click)=\"expandedElement = expandedElement === item ? null : item\"\n [koalaIcon]=\"btnCollapseSubListConfig.koalaIcon\"\n [icon]=\"btnCollapseSubListConfig.icon\"\n [tooltip]=\"btnCollapseSubListConfig.tooltip\"\n [color]=\"btnCollapseSubListConfig.iconColor\"\n [backgroundColor]=\"btnCollapseSubListConfig.backgroundColor\"\n [koalaIconSize]=\"22\">\n </koala-button>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngFor=\"let itemList of itemsList\" [matColumnDef]=\"itemList.columnDef\">\n <th *matHeaderCellDef [mat-sort-header]=\"itemList.sortHeader\" [disabled]=\"!itemList.sortHeader\" mat-header-cell>{{itemList.label}}</th>\n <td (dblclick)=\"itemList.dblClick(item)\" *matCellDef=\"let item\" mat-cell>\n\t <koala-dynamic-component *ngIf=\"itemList.itemComponent else itemText\"\n\t [dynamicComponent]=\"itemList.itemComponent(item)\"></koala-dynamic-component>\n\t <ng-template #itemText>\n\t {{itemList.itemNameProperty(item)}}\n\t </ng-template>\n </td>\n <td *matFooterCellDef mat-footer-cell>\n <koala-dynamic-component *ngIf=\"itemList.footer?.itemComponent else itemFooterText\"\n [dynamicComponent]=\"itemList.footer?.itemComponent(responseRequest)\"></koala-dynamic-component>\n <ng-template #itemFooterText>\n {{itemList.footer?.itemNameProperty(responseRequest)}}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"koalaListDetails\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" [attr.colspan]=\"columnsToShowInList.length\" mat-cell>\n <div class=\"item-detail\" [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\">\n <koala-list [config]=\"subListConfig(item)\"></koala-list>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container matColumnDef=\"options\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <div *ngIf=\"haveOptionsOnItemLine(item)\">\n <button [matMenuTriggerFor]=\"options\" mat-icon-button type=\"button\">\n <i class='material-icons'>more_vert</i>\n </button>\n <mat-menu #options=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n\t <div *ngFor=\"let option of itemsMenuListOptions\">\n\t <button\n\t\t (click)=\"option.action(item)\"\n\t\t *ngIf=\"option.havePermission && (\n\t\t !option.showByItemList ||\n\t\t option.showByItemList(item)\n\t )\"\n\t\t mat-menu-item>\n\t <mat-icon>{{option.icon}}</mat-icon>\n\t <span>{{option.name}}</span>\n\t </button>\n\t </div>\n </mat-menu>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <tr *matHeaderRowDef=\"columnsToShowInList; sticky: true\" mat-header-row></tr>\n <tr *matRowDef=\"let item; columns: columnsToShowInList;\" mat-row></tr>\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\">\n <tr mat-row *matRowDef=\"let row; columns: ['koalaListDetails']\" class=\"item-detail-row\"></tr>\n </ng-container>\n <ng-container *ngIf=\"hasFooter()\">\n <tr *matFooterRowDef=\"columnsToShowInList; sticky: true\" mat-footer-row></tr>\n </ng-container>\n </table>\n <ng-template #emptyList>\n <koala-dynamic-component *ngIf=\"!(filterError$ | async) else errorList\" [dynamicComponent]=\"emptyListComponent\"></koala-dynamic-component>\n <ng-template #errorList>\n <koala-dynamic-component [dynamicComponent]=\"errorListComponent\"></koala-dynamic-component>\n </ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"!hidePaginator\" class=\"content-paginator\">\n <mat-paginator\n [length]=\"qtdListResult\"\n [pageSizeOptions]=\"limitOptions\"\n [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ListComponent } from './list.component';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { CommonModule } from '@angular/common';\nimport { KoalaFormModule } from '@koalarx/ui/form';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { PaginationProvider } from './providers/pagination/pagination.provider';\nimport { KoalaFolderPageModule } from '@koalarx/ui/folder-page';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { KoalaDynamicComponentModule } from '@koalarx/ui/dynamic-component';\nimport { KoalaButtonModule } from \"@koalarx/ui/button\";\n\n@NgModule({\n declarations: [\n ListComponent\n ],\n imports: [\n CommonModule,\n KoalaFolderPageModule,\n KoalaFormModule,\n KoalaDynamicComponentModule,\n KoalaButtonModule,\n MatMenuModule,\n MatTableModule,\n MatSortModule,\n MatTooltipModule,\n MatPaginatorModule\n ],\n exports: [\n ListComponent\n ],\n providers: [{\n provide: MatPaginatorIntl,\n useClass: PaginationProvider\n }]\n})\nexport class KoalaListModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koalarx-ui-list.mjs","sources":["../../../projects/list/src/lib/providers/pagination/pagination.provider.ts","../../../projects/list/src/lib/list-builder/list.builder.ts","../../../projects/list/src/lib/koala.list.service.ts","../../../projects/list/src/lib/list.abstract.ts","../../../projects/list/src/lib/list.component.ts","../../../projects/list/src/lib/list.component.html","../../../projects/list/src/lib/koala.list.module.ts","../../../projects/list/src/koalarx-ui-list.ts"],"sourcesContent":["import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PaginationProvider extends MatPaginatorIntl {\n constructor() {\n super();\n this.getAndInitTranslations();\n }\n\n public getAndInitTranslations() {\n this.itemsPerPageLabel = \"Itens por Página\";\n this.firstPageLabel = \"Primeira Página\";\n this.nextPageLabel = \"Próxima Página\";\n this.previousPageLabel = \"Página Anterior\";\n this.lastPageLabel = \"Última Página\";\n this.changes.next();\n }\n\n public getRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 / ${length}`;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n return `${startIndex + 1} - ${endIndex} / ${length}`;\n }\n}\n","import { KoalaListConfigInterface } from \"../koala.list-config.interface\";\nimport { KoalaListItemInterface } from \"../koala-list-item.interface\";\nimport { Type } from \"@angular/core\";\nimport { KoalaDynamicComponent } from \"@koalarx/ui/dynamic-component\";\nimport { KoalaListFilterInterface } from \"../koala-list-filter.interface\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { KoalaListFormFilterInterface } from \"../koala-list-form-filter.interface\";\nimport { KoalaListItemMenuOptionInterface } from \"../koala-list-item-menu-option.interface\";\nimport { SelectionModel } from \"@angular/cdk/collections\";\nimport { KoalaListPageSize } from \"../list.abstract\";\nimport { first } from \"rxjs/operators\";\nimport { KoalaListBtnCollapseSubListConfigInterface } from \"../koala-list-btn-collapse-sub-list-config.interface\";\n\nexport class ListBuilder<DataType> {\n private config = {} as KoalaListConfigInterface;\n\n public service(\n service: (filter: BehaviorSubject<KoalaListFormFilterInterface>) => Observable<any> | Promise<any>,\n type: 'all' | 'onDemand' = \"all\",\n resultIndexName?: string,\n qtdResultIndexName?: string\n ) {\n this.config.typeRequest = type;\n this.config.responseIndexName = resultIndexName;\n this.config.responseQtdResultIndexName = response => response[qtdResultIndexName ?? ''] ?? [];\n this.config.columnSort = this.config?.filterParams?.getValue()?.sort;\n this.config.sortDirection = this.config?.filterParams?.getValue()?.order ?? 'asc';\n\n const response = service(this.config.filterParams ?? null);\n\n if (response instanceof Promise) {\n this.config.request = new Observable<any>(observe => {\n response.then(response => observe.next(response))\n .catch(error => observe.error(error));\n }).pipe(first());\n } else {\n this.config.request = new Observable<any>(observe => {\n (service(this.config.filterParams ?? null) as Observable<any>).pipe(first()).subscribe(observe);\n }).pipe(first());\n }\n\n return this;\n }\n\n public filterConfig(config: KoalaListFilterInterface) {\n this.config.filterFormConfig = config;\n return this;\n }\n\n public defaultFilter(config: KoalaListFormFilterInterface) {\n this.config.filterParams = new BehaviorSubject<KoalaListFormFilterInterface>(config);\n return this;\n }\n\n public pageSize(size: KoalaListPageSize) {\n this.config.pageSize = size;\n return this;\n }\n\n public columns(columns: string[]) {\n this.config.columnsToShowInList = columns;\n return this;\n }\n\n public itemColumn(item: KoalaListItemInterface<DataType>) {\n (this.config.itemsList?.length > 0) ?\n this.config.itemsList.push(item) :\n this.config.itemsList = [item];\n\n return this;\n }\n\n public actionList(item: KoalaListItemMenuOptionInterface<DataType>) {\n (this.config.itemsMenuListOptions?.length ?? 0 > 0) ?\n this.config.itemsMenuListOptions?.push(item) :\n this.config.itemsMenuListOptions = [item];\n\n return this;\n }\n\n public getDataSource(fn: (dataSource: DataType[]) => void) {\n this.config.getDataSource = fn;\n return this;\n }\n\n public getSelectionList(fn: (selection: SelectionModel<DataType>) => void) {\n this.config.getSelectionList = fn;\n return this;\n }\n\n public emptyListComponent(component: Type<any>, data?: any) {\n this.config.emptyListComponent = new KoalaDynamicComponent(component, data);\n return this;\n }\n\n public errorListComponent(component: Type<any>, data?: any) {\n this.config.errorListComponent = new KoalaDynamicComponent(component, data);\n return this;\n }\n\n public disableCheckboxItemList(fn: (item: DataType) => boolean) {\n this.config.disabledCheckboxItemList = fn;\n return this;\n }\n\n public setSubList(config: (item: DataType) => KoalaListConfigInterface) {\n this.config.subListConfig = config;\n return this;\n }\n\n public defineBtnCollapseSubListConfig(config: KoalaListBtnCollapseSubListConfigInterface<DataType>) {\n this.config.btnCollapseSubListConfig = config;\n return this;\n }\n\n public hidePaginator(hide: boolean = true) {\n this.config.hidePaginator = hide;\n return this;\n }\n\n public setCustomClass(className: string) {\n this.config.customClass = className;\n return this;\n }\n\n public getConfig(): KoalaListConfigInterface {\n this.config.reload = new BehaviorSubject<boolean>(false);\n return this.config;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ListBuilder } from \"./list-builder/list.builder\";\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaListService {\n\n public build<DataType>() {\n return new ListBuilder<DataType>();\n }\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { BehaviorSubject, merge, Observable, Subscription } from 'rxjs';\nimport { FormAbstract } from '@koalarx/ui/form';\nimport { FormGroup } from '@angular/forms';\nimport { debounceTime, first, map, startWith, switchMap } from 'rxjs/operators';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { KoalaListFormFilterInterface } from './koala-list-form-filter.interface';\nimport { KoalaDynamicComponent } from \"@koalarx/ui/dynamic-component\";\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { KoalaListConfigInterface } from \"./koala.list-config.interface\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\nexport type KoalaListPageSize = 10 | 20 | 30 | 50 | 100;\n\nexport abstract class ListAbstract extends FormAbstract {\n public selection = new SelectionModel<object>(true, []);\n public limitOptions: number[] = [10, 20, 30, 50, 100];\n public showMenuList: boolean = false;\n public allSelected$ = new BehaviorSubject<boolean>(false);\n public dataSource = new MatTableDataSource<any>([]);\n public typeRequest: 'all' | 'onDemand' = 'onDemand';\n public filterParams = new BehaviorSubject<KoalaListFormFilterInterface|null>(null);\n public filterError$ = new BehaviorSubject<any>(null);\n public emptyListComponent?: KoalaDynamicComponent;\n public errorListComponent?: KoalaDynamicComponent;\n public pageSize: KoalaListPageSize;\n public tableId = randomString(20, {uppercase: true, lowercase: true});\n\n protected config?: KoalaListConfigInterface;\n protected paginator?: MatPaginator;\n protected sort?: MatSort;\n\n private subscriptionList?: Subscription;\n private subscriptionSortList?: Subscription;\n private intervalSortList: any;\n\n protected constructor(\n private requestFunction: () => Observable<any>,\n private requestResponseFunction: <T>(results: T[]) => void,\n formSearch: () => FormGroup\n ) {\n super(formSearch);\n }\n\n public selectAll() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data.forEach(item => {\n if (\n (this.config?.disabledCheckboxItemList && !this.config.disabledCheckboxItemList(item)) ||\n !this.config?.disabledCheckboxItemList\n ) {\n this.selection.select(item);\n }\n });\n\n this.isAllSelected();\n }\n\n public defineStatusSelectAll(status: boolean) {\n this.allSelected$.next(status);\n return this.allSelected$.getValue();\n }\n\n public selectItem() {\n setTimeout(() => {\n this.showMenuList = this.selection.hasValue();\n this.isAllSelected();\n }, 50);\n }\n\n public async search(filter?: any) {\n this.loading(true);\n this.selection.clear();\n if (this.paginator) {\n this.paginator.firstPage();\n }\n this.filterParams.next({\n params: filter,\n sort: this.sort?.active ?? '',\n order: this.sort?.direction ?? 'asc',\n page: this.paginator?.pageIndex ?? 0,\n limit: this.paginator?.pageSize ?? 30\n });\n }\n\n protected onDestroy() {\n this.subscriptionSortList?.unsubscribe();\n this.subscriptionList?.unsubscribe();\n clearInterval(this.intervalSortList);\n }\n\n protected async afterViewInit() {\n let tentativas = 0;\n let stop = false;\n do {\n tentativas++;\n await delay(400);\n if (this.sort || this.emptyListComponent) {\n this.prepareSearch().then();\n if (this.emptyListComponent) stop = true;\n } else if (tentativas > 10) {\n stop = true;\n }\n } while (!this.sort && !stop);\n }\n\n private async prepareSearch() {\n this.intervalSortList = setInterval(() => {\n if (this.sort && !this.subscriptionSortList) {\n this.subscriptionSortList = this.sort.sortChange.subscribe(() => {\n const filter = this.filterParams.value ?? {} as any;\n filter.sort = this.sort?.active ?? '';\n filter.order = this.sort?.direction ?? '';\n this.filterParams.next(filter);\n });\n } else if (!this.sort && this.subscriptionSortList) {\n this.subscriptionSortList.unsubscribe();\n }\n }, 50);\n\n if (this.typeRequest === 'onDemand') {\n this.subscriptionList = merge(this.paginator?.page ?? new Observable(), this.filterParams).pipe(\n startWith({}),\n switchMap(() => new Observable(observe => {\n this.loading(true);\n this.selection.clear();\n if (this.filterParams.value) {\n this.filterParams.value.sort = this.sort?.active ?? this.config?.columnSort ?? '';\n this.filterParams.value.order = this.sort?.direction ?? this.config?.sortDirection ?? '';\n this.filterParams.value.page = this.paginator?.pageIndex ?? 0;\n this.filterParams.value.limit = this.paginator?.pageSize ?? 30;\n }\n observe.next(true);\n })),\n debounceTime(300),\n switchMap(() => this.runRequestFunction()),\n map((response) => {\n this.loading(false);\n this.scrollTableToTop();\n return this.requestResponseFunction(response);\n })\n ).subscribe();\n } else {\n if (this.paginator) this.dataSource.paginator = this.paginator;\n this.subscriptionList = this.filterParams.pipe(\n startWith({}),\n debounceTime(300),\n switchMap(() => this.runRequestFunction()),\n map((response) => {\n this.loading(false);\n this.scrollTableToTop();\n return this.requestResponseFunction(response);\n })\n ).subscribe();\n }\n\n if (this.emptyListComponent) {\n do {\n await delay(301);\n if (this.sort) {\n if (this.typeRequest === \"onDemand\") {\n this.sort.sortChange.subscribe(() => {\n if (this.paginator) this.paginator.pageIndex = 0\n });\n } else {\n this.dataSource.sort = this.sort;\n }\n }\n } while (!this.sort);\n }\n }\n\n private isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = (this.config?.disabledCheckboxItemList ?\n this.dataSource.data.filter(item => !(this.config?.disabledCheckboxItemList\n ? this.config.disabledCheckboxItemList(item)\n : '')) :\n this.dataSource.data).length;\n\n return this.defineStatusSelectAll(numSelected === numRows);\n }\n\n private runRequestFunction() {\n return new Observable<unknown[]>(observe => {\n this.requestFunction().pipe(first()).subscribe({\n next: response => observe.next(response),\n error: err => {\n if (this.errorListComponent) {\n this.filterError$.next(err);\n this.errorListComponent.data = err;\n }\n this.loading(false);\n observe.next([]);\n }\n })\n })\n }\n\n private scrollTableToTop() {\n const table = document.getElementById(this.tableId);\n if (table) {\n table.scrollTop = 0;\n }\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ListAbstract } from './list.abstract';\nimport { KoalaListItemMenuOptionInterface } from './koala-list-item-menu-option.interface';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KoalaListFilterInterface } from './koala-list-filter.interface';\nimport { KoalaDynamicFormService } from '@koalarx/ui/form';\nimport { KoalaListItemInterface } from './koala-list-item.interface';\nimport { KoalaListFormFilterInterface } from \"./koala-list-form-filter.interface\";\nimport { MatSort, SortDirection } from \"@angular/material/sort\";\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { koala } from \"@koalarx/utils\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { KoalaListConfigInterface } from \"./koala.list-config.interface\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { KoalaListBtnCollapseSubListConfigInterface } from \"./koala-list-btn-collapse-sub-list-config.interface\";\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\n@Component({\n selector: 'koala-list',\n templateUrl: 'list.component.html',\n styleUrls: ['list.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class ListComponent extends ListAbstract implements OnInit, AfterViewInit, OnDestroy {\n @Input() public config?: KoalaListConfigInterface;\n\n @ViewChild(MatPaginator) protected paginator: MatPaginator;\n @ViewChild(MatSort, {static: false}) protected sort: MatSort;\n\n public customClass?: string;\n public columnsToShowInList?: string[];\n public hidePaginator?: boolean = false;\n public columnSort?: string;\n public sortDirection: SortDirection = 'asc';\n public itemsMenuListOptions?: KoalaListItemMenuOptionInterface<any>[];\n public itemsList?: KoalaListItemInterface<any>[];\n public request?: Observable<any>;\n public responseIndexName?: string;\n public responseQtdResultIndexName?: (response: any) => number;\n public responseRequest?: any;\n public typeRequest: 'all' | 'onDemand' = 'all'\n public filterFormConfig?: KoalaListFilterInterface;\n public reload?: BehaviorSubject<boolean>;\n public formFilter?: FormGroup;\n public showAdvancedFilter: boolean = false;\n public qtdListResult = 0;\n public disabledCheckboxItemList?: (item: any) => boolean;\n public expandedElement = false;\n public btnCollapseSubListConfig?: KoalaListBtnCollapseSubListConfigInterface<any>;\n public subListConfig?: (item: any) => KoalaListConfigInterface;\n\n constructor(\n private fb: FormBuilder,\n private dynamicFormService: KoalaDynamicFormService,\n private deviceService: DeviceDetectorService\n ) {\n super(\n () => this.config?.request ?? new Observable<any>(),\n (response) => {\n this.responseRequest = response;\n this.dataSource.data = this.config?.responseIndexName\n ? (this.config.responseIndexName\n ? response[this.config.responseIndexName]\n : [])\n : response;\n if (this.config?.getDataSource) this.config?.getDataSource(this.dataSource.data);\n this.qtdListResult = this.config?.responseQtdResultIndexName\n ? this.config.responseQtdResultIndexName(response) ?? 0\n : this.dataSource.data?.length ?? 0;\n },\n () => this.formFilter ?? fb.group({})\n );\n }\n\n ngOnInit() {\n this.initConfig();\n this.formFilter = this.fb.group({\n formSearch: this.filterFormConfig?.main?.form ?? [''],\n formAdvancedSearch: this.filterFormConfig?.advanced?.form ?? ['']\n });\n this.loading(true);\n if (this.filterFormConfig) {\n this.filterFormConfig?.main?.formConfig?.map(item => {\n item.class += ' padding-none w-99';\n return item;\n });\n this.filterFormConfig?.advanced?.formConfig?.map(item => {\n item.class += ' padding-none';\n return item;\n });\n if (this.filterFormConfig?.checkAndSearch) {\n this.formFilter.addControl(this.filterFormConfig.checkAndSearch.formControlName, new FormControl(this.filterFormConfig.checkAndSearch.isChecked ?? false));\n }\n }\n\n if (this.config.getSelectionList) this.config.getSelectionList(this.selection);\n\n if (this.reload) {\n this.reload.subscribe(async reload => {\n if (reload) {\n await this.filterSubmit();\n }\n });\n }\n }\n\n ngOnDestroy() {\n super.onDestroy();\n }\n\n ngAfterViewInit() {\n super.afterViewInit().then();\n }\n\n public async filterSubmit() {\n this.showAdvancedFilter = false;\n await delay(1);\n let dados = koala(\n this.filterFormConfig?.main?.form\n ? this.dynamicFormService.emitData(this.filterFormConfig?.main?.form)\n : {}\n )\n .object()\n .merge(\n this.filterFormConfig?.advanced?.form\n ? this.dynamicFormService.emitData(this.filterFormConfig?.advanced?.form)\n : {})\n .getValue();\n\n if (this.filterFormConfig?.checkAndSearch) {\n const controlName = this.filterFormConfig.checkAndSearch.formControlName;\n dados[controlName] = this.formFilter.get(controlName).value;\n }\n await super.search(dados);\n }\n\n public toogleFilter() {\n this.showAdvancedFilter = !this.showAdvancedFilter;\n }\n\n public haveOptionsOnItemLine(item: any) {\n return this.itemsMenuListOptions.filter(option => option.havePermission && (\n !option.showByItemList ||\n option.showByItemList(item)\n )).length > 0\n }\n\n public hasFooter() {\n return !!this.itemsList.find(item => !!item.footer);\n }\n\n private initConfig() {\n this.columnSort = this.config.columnSort ?? null;\n this.sortDirection = this.config.sortDirection ?? 'asc';\n this.itemsMenuListOptions = this.config.itemsMenuListOptions ?? [];\n this.typeRequest = this.config.typeRequest ?? 'all';\n this.qtdListResult = this.config.qtdListResult ?? 0;\n this.columnsToShowInList = this.config.columnsToShowInList;\n this.itemsList = this.config.itemsList.map(item => {\n if (!item.dblClick) {\n item.dblClick = () => {\n };\n }\n return item;\n });\n this.showAdvancedFilter = this.config.showAdvancedFilter;\n this.filterFormConfig = this.config.filterFormConfig;\n this.request = this.config.request;\n this.reload = this.config.reload;\n this.responseIndexName = this.config.responseIndexName;\n this.responseQtdResultIndexName = this.config.responseQtdResultIndexName;\n this.filterParams = this.config.filterParams ?? new BehaviorSubject<KoalaListFormFilterInterface>(null);\n this.emptyListComponent = this.config.emptyListComponent;\n this.errorListComponent = this.config.errorListComponent;\n this.pageSize = this.config.pageSize ?? 30;\n this.disabledCheckboxItemList = this.config.disabledCheckboxItemList;\n this.subListConfig = this.config.subListConfig;\n this.btnCollapseSubListConfig = this.config.btnCollapseSubListConfig;\n this.hidePaginator = this.config.hidePaginator;\n this.customClass = this.config.customClass;\n }\n}\n","<div class=\"list-container\" [ngClass]=\"customClass\">\n <div *ngIf=\"filterFormConfig\" class=\"list-filter\">\n <form (ngSubmit)=\"filterSubmit()\" [formGroup]=\"formFilter\">\n <div class=\"main\">\n <koala-dynamic-form\n *ngIf=\"filterFormConfig.main\"\n [form]=\"filterFormConfig.main.form\"\n [formConfig]=\"filterFormConfig.main.formConfig\"\n [setValues]=\"filterFormConfig.main.setValues\"\n [showFields]=\"filterFormConfig.main.showFields\">\n </koala-dynamic-form>\n <ul>\n <li *ngIf=\"filterFormConfig.advanced\" class=\"option\">\n <button (click)=\"toogleFilter()\" color=\"primary\" mat-icon-button matTooltip=\"Filtro Avançado\"\n matTooltipPosition=\"below\" type=\"button\">\n <mat-icon>tune</mat-icon>\n </button>\n </li>\n <li *ngIf=\"filterFormConfig.checkAndSearch\" class=\"checkbox-filter\">\n <mat-checkbox (click)=\"filterSubmit()\"\n [formControlName]=\"filterFormConfig.checkAndSearch.formControlName\">\n {{filterFormConfig.checkAndSearch.label}}\n </mat-checkbox>\n </li>\n <li class=\"option\">\n <koala-submit\n [btnSubmitDisabled]=\"btnSubmitDisabled\"\n [fg]=\"formFilter\"\n [iconButton]=\"true\"\n [loader]=\"loader\"\n icon=\"search\">\n </koala-submit>\n </li>\n </ul>\n </div>\n <div *ngIf=\"filterFormConfig.advanced\" [ngClass]=\"{'show': showAdvancedFilter}\" class=\"advanced\">\n <div class=\"container-filter\">\n <koala-dynamic-form\n [form]=\"filterFormConfig.advanced.form\"\n [formConfig]=\"filterFormConfig.advanced.formConfig\"\n [setValues]=\"filterFormConfig.advanced.setValues\"\n [showFields]=\"filterFormConfig.advanced.showFields\">\n </koala-dynamic-form>\n </div>\n </div>\n </form>\n </div>\n <nav class=\"menu-list\">\n <ul class=\"menu\">\n <li *ngIf=\"selection.hasValue()\">\n <ng-content select=\"[itemsSelectList]\"></ng-content>\n </li>\n <li *ngIf=\"selection.hasValue()\" class=\"text-center\">|</li>\n <li>\n <ng-content select=\"[itemsList]\"></ng-content>\n </li>\n </ul>\n </nav>\n <div *ngIf=\"loader | async\" class=\"spinner-container\" [ngClass]=\"{\n 'no-filter': !filterFormConfig\n }\">\n <mat-spinner color=\"primary\" diameter=\"40\"></mat-spinner>\n </div>\n <div class=\"list\">\n <table\n *ngIf=\"!emptyListComponent || (emptyListComponent && dataSource?.data?.length > 0) else emptyList\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"columnSort\"\n [id]=\"tableId\"\n multiTemplateDataRows\n class=\"table-hover\"\n mat-table\n matSort\n [matSortDirection]=\"sortDirection\" matSortDisableClear>\n <ng-container matColumnDef=\"select\">\n <th *matHeaderCellDef mat-header-cell>\n <mat-checkbox (change)=\"$event ? selectAll() : null\"\n [checked]=\"selection.hasValue() && allSelected$ | async\"\n [indeterminate]=\"selection.hasValue() && !(allSelected$ | async)\">\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let item\" mat-cell>\n <mat-checkbox *ngIf=\"disabledCheckboxItemList ? !disabledCheckboxItemList(item) : true\"\n (change)=\"$event ? selection.toggle(item) : null\"\n (click)=\"$event.stopPropagation(); selectItem();\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"collapseButton\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <koala-button\n *ngIf=\"btnCollapseSubListConfig.show(item)\"\n (click)=\"expandedElement = expandedElement === item ? null : item\"\n [koalaIcon]=\"btnCollapseSubListConfig.koalaIcon\"\n [icon]=\"btnCollapseSubListConfig.icon\"\n [tooltip]=\"btnCollapseSubListConfig.tooltip\"\n [color]=\"btnCollapseSubListConfig.iconColor\"\n [backgroundColor]=\"btnCollapseSubListConfig.backgroundColor\"\n [koalaIconSize]=\"22\">\n </koala-button>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container *ngFor=\"let itemList of itemsList\" [matColumnDef]=\"itemList.columnDef\">\n <th *matHeaderCellDef [mat-sort-header]=\"itemList.sortHeader\" [disabled]=\"!itemList.sortHeader\" mat-header-cell>{{itemList.label}}</th>\n <td (dblclick)=\"itemList.dblClick(item)\" *matCellDef=\"let item\" mat-cell>\n\t <koala-dynamic-component *ngIf=\"itemList.itemComponent else itemText\"\n\t [dynamicComponent]=\"itemList.itemComponent(item)\"></koala-dynamic-component>\n\t <ng-template #itemText>\n\t {{itemList.itemNameProperty(item)}}\n\t </ng-template>\n </td>\n <td *matFooterCellDef mat-footer-cell>\n <koala-dynamic-component *ngIf=\"itemList.footer?.itemComponent else itemFooterText\"\n [dynamicComponent]=\"itemList.footer?.itemComponent(responseRequest)\"></koala-dynamic-component>\n <ng-template #itemFooterText>\n {{itemList.footer?.itemNameProperty(responseRequest)}}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\" matColumnDef=\"koalaListDetails\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" [attr.colspan]=\"columnsToShowInList.length\" mat-cell>\n <div class=\"item-detail\" [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\">\n <koala-list [config]=\"subListConfig(item)\"></koala-list>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <ng-container matColumnDef=\"options\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let item\" mat-cell>\n <div *ngIf=\"haveOptionsOnItemLine(item)\">\n <button [matMenuTriggerFor]=\"options\" mat-icon-button type=\"button\">\n <i class='material-icons'>more_vert</i>\n </button>\n <mat-menu #options=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n\t <div *ngFor=\"let option of itemsMenuListOptions\">\n\t <button\n\t\t (click)=\"option.action(item)\"\n\t\t *ngIf=\"option.havePermission && (\n\t\t !option.showByItemList ||\n\t\t option.showByItemList(item)\n\t )\"\n\t\t mat-menu-item>\n\t <mat-icon>{{option.icon}}</mat-icon>\n\t <span>{{option.name}}</span>\n\t </button>\n\t </div>\n </mat-menu>\n </div>\n </td>\n <td *matFooterCellDef mat-footer-cell></td>\n </ng-container>\n\n <tr *matHeaderRowDef=\"columnsToShowInList; sticky: true\" mat-header-row></tr>\n <tr *matRowDef=\"let item; columns: columnsToShowInList;\" mat-row></tr>\n <ng-container *ngIf=\"subListConfig && btnCollapseSubListConfig\">\n <tr mat-row *matRowDef=\"let row; columns: ['koalaListDetails']\" class=\"item-detail-row\"></tr>\n </ng-container>\n <ng-container *ngIf=\"hasFooter()\">\n <tr *matFooterRowDef=\"columnsToShowInList; sticky: true\" mat-footer-row></tr>\n </ng-container>\n </table>\n <ng-template #emptyList>\n <koala-dynamic-component *ngIf=\"!(filterError$ | async) else errorList\" [dynamicComponent]=\"emptyListComponent\"></koala-dynamic-component>\n <ng-template #errorList>\n <koala-dynamic-component [dynamicComponent]=\"errorListComponent\"></koala-dynamic-component>\n </ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"!hidePaginator\" class=\"content-paginator\">\n <mat-paginator\n [length]=\"qtdListResult\"\n [pageSizeOptions]=\"limitOptions\"\n [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ListComponent } from './list.component';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { CommonModule } from '@angular/common';\nimport { KoalaFormModule } from '@koalarx/ui/form';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { PaginationProvider } from './providers/pagination/pagination.provider';\nimport { KoalaFolderPageModule } from '@koalarx/ui/folder-page';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { KoalaDynamicComponentModule } from '@koalarx/ui/dynamic-component';\nimport { KoalaButtonModule } from \"@koalarx/ui/button\";\n\n@NgModule({\n declarations: [\n ListComponent\n ],\n imports: [\n CommonModule,\n KoalaFolderPageModule,\n KoalaFormModule,\n KoalaDynamicComponentModule,\n KoalaButtonModule,\n MatMenuModule,\n MatTableModule,\n MatSortModule,\n MatTooltipModule,\n MatPaginatorModule\n ],\n exports: [\n ListComponent\n ],\n providers: [{\n provide: MatPaginatorIntl,\n useClass: PaginationProvider\n }]\n})\nexport class KoalaListModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,18 +7,18 @@ import { KoalaIconModule } from "@koalarx/ui/icon";
7
7
  import * as i0 from "@angular/core";
8
8
  export class KoalaMenuModule {
9
9
  }
10
- KoalaMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- KoalaMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuModule, declarations: [MenuComponent], imports: [CommonModule,
10
+ KoalaMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ KoalaMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuModule, declarations: [MenuComponent], imports: [CommonModule,
12
12
  RouterModule,
13
13
  MatIconModule,
14
14
  KoalaIconModule], exports: [MenuComponent] });
15
- KoalaMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuModule, imports: [[
15
+ KoalaMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuModule, imports: [[
16
16
  CommonModule,
17
17
  RouterModule,
18
18
  MatIconModule,
19
19
  KoalaIconModule
20
20
  ]] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  declarations: [
@@ -15,9 +15,9 @@ export class KoalaMenuService {
15
15
  menuStateSubject.next(null);
16
16
  }
17
17
  }
18
- KoalaMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- KoalaMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuService, providedIn: "any" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KoalaMenuService, decorators: [{
18
+ KoalaMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
+ KoalaMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuService, providedIn: "any" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: KoalaMenuService, decorators: [{
21
21
  type: Injectable,
22
22
  args: [{ providedIn: "any" }]
23
23
  }] });