mapa-library-ui 0.14.12 → 0.14.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +3 -3
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/mapa-library-ui-0.14.13.tgz +0 -0
- package/package.json +1 -1
- package/mapa-library-ui-0.14.12.tgz +0 -0
|
@@ -258,10 +258,10 @@ export class MapaTableComponent {
|
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
261
|
-
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por p\u00E1gina\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MapaMenuComponent, selector: "mapa-menu", inputs: ["items"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i8.PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
261
|
+
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MapaMenuComponent, selector: "mapa-menu", inputs: ["items"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i8.PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
262
262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
|
|
263
263
|
type: Component,
|
|
264
|
-
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por p\u00E1gina\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
264
|
+
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
265
265
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
266
266
|
type: Input
|
|
267
267
|
}], data: [{
|
|
@@ -306,4 +306,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
306
306
|
type: ViewChild,
|
|
307
307
|
args: [MatSort]
|
|
308
308
|
}] } });
|
|
309
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVN4RCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0M3QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9CakMsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUNwQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBS3ZCLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUVwQyxjQUFTLEdBQWUsRUFBRSxDQUFDO1FB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QkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWYsUUFBUTtzQkFBakIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFNBQVM7c0JBQWpELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDbkIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIFBhZ2VFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XG5cbmltcG9ydCB7IFJvd0NsaWNrRXZlbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL3RhYmxlLXJvdy1jbGljay1ldmVudC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy90YWJsZS1jb2x1bW4uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBHcm91cFJlcG9ydEl0ZW0gfSBmcm9tIFwiLi9ncm91cC1yZXBvcnQtaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gXCIuLi8uLi9tZW51L3B1YmxpYy1hcGlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtdGFibGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFibGUuY29tcG9uZW50LnNjc3NcIixcIi4vLi4vLi4vY2FwYWJpbGl0eS9zdHlsZXMvY2FwYWJpbGl0eS5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIGRhdGE6IE9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDU7XG4gIEBJbnB1dCgpIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHRvdGFsUGFnZXM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGNoZWNrYm94OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbnM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZpbHRlckNvbnRyb2w6IEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBncm91cFJlcG9ydDogR3JvdXBSZXBvcnRJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgaXNHcm91cFJlcG9ydDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIG1lbnU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7IFxuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcblxuICBAT3V0cHV0KCkgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxSb3dDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgUm93Q2xpY2tFdmVudFxuICA+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3M6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHJlYWQ6IHRydWUgfSkgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIGNoZWNrYm94R3JvdXAhOiBGb3JtR3JvdXA7XG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8T2JqZWN0PjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFNvcnQ6IFNvcnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzR3JvdXBSZXBvcnQpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKCk7XG4gICAgICB0aGlzLmdlbmVyYXRlR3JvdXBEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5rZXkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzW1wiZGF0YVwiXSkge1xuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBjaGFuZ2VzW1wiZGF0YVwiXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbXCJmaWx0ZXJDb250cm9sXCJdICYmIHRoaXMuZmlsdGVyQ29udHJvbCkge1xuICAgICAgdGhpcy5zZXR1cEZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIHNldHVwRmlsdGVyKCkge1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZmlsdGVyQ29udHJvbCEudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlclByZWRpY2F0ZSA9IChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFTdHIgPSBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnRUZXJtLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIGN1cnJlbnRUZXJtICtcbiAgICAgICAgICAgICAgKChkYXRhW2tleV0gJiYgZGF0YVtrZXldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSkgfHwgXCJcIikgK1xuICAgICAgICAgICAgICBcIiBcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LCBcIlwiKVxuICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICByZXR1cm4gZGF0YVN0ci5pbmRleE9mKGZpbHRlcikgIT09IC0xO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVBbGxSb3dzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGFBc1BlcmlvZGljRWxlbWVudHMgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YSBhcyBhbnlbXTtcbiAgICAgICAgZGF0YUFzUGVyaW9kaWNFbGVtZW50cy5mb3JFYWNoKChyb3cpID0+IHRoaXMuc2VsZWN0aW9uPy5zZWxlY3Qocm93KSk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGVja2JveExhYmVsKHJvdz86IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAoIXJvdykge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pc0FsbFNlbGVjdGVkKCkgPyBcImRlc2VsZWN0XCIgOiBcInNlbGVjdFwifSBhbGxgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSA/IFwiZGVzZWxlY3RcIiA6IFwic2VsZWN0XCJ9IHJvdyAke1xuICAgICAgICByb3cucG9zaXRpb24gKyAxXG4gICAgICB9YDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgc29ydERhdGEoY29sdW1uOiBUYWJsZUNvbHVtbik6IHZvaWQge1xuICAgIGlmIChjb2x1bW4uc29ydCkge1xuICAgICAgY29uc3Qgc29ydDogU29ydCA9IHsgYWN0aXZlOiBjb2x1bW4ua2V5LCBkaXJlY3Rpb246IFwiYXNjXCIgfTtcblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0ICYmXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQuYWN0aXZlID09PSBjb2x1bW4ua2V5ICYmXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQuZGlyZWN0aW9uID09PSBcImFzY1wiXG4gICAgICApIHtcbiAgICAgICAgc29ydC5kaXJlY3Rpb24gPSBcImRlc2NcIjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXJyZW50U29ydCA9IHNvcnQ7XG4gICAgICB0aGlzLnNvcnREYXRhRnVuY3Rpb24oc29ydCk7XG4gICAgfVxuICB9XG5cbiAgc29ydERhdGFGdW5jdGlvbihzb3J0OiBTb3J0KSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNsaWNlKCk7XG5cbiAgICBpZiAoIXNvcnQuYWN0aXZlIHx8IHNvcnQuZGlyZWN0aW9uID09PSBcIlwiKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc0FzYyA9IHNvcnQuZGlyZWN0aW9uID09PSBcImFzY1wiO1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShhW3NvcnQuYWN0aXZlXSwgYltzb3J0LmFjdGl2ZV0sIGlzQXNjKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbXBhcmUoYTogYW55LCBiOiBhbnksIGlzQXNjOiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBhID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBiID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gKGEudG9Mb3dlckNhc2UoKSA8IGIudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICAgIH1cbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG4gIH1cblxuICBlbWl0Um93Q2xpY2socm93OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgY29uc3Qgcm93RGF0YTogUm93Q2xpY2tFdmVudCA9IHsgcm93LCBhY3Rpb24gfTtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQocm93RGF0YSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24ocm93OiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3Qocm93KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpO1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdGVkVmFsdWVzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSb3dzID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubWFwKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcm93IH07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmVtaXQoc2VsZWN0ZWRSb3dzKTtcbiAgICAgIGNvbnNvbGUubG9nKHNlbGVjdGVkUm93cyk7XG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVDb2x1bW5zKCkge1xuICAgIGNvbnN0IGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXG4gICAgICB7IGtleTogXCJuYW1lXCIsIGxhYmVsOiBcIlwiLCBzb3J0OiBmYWxzZSB9LFxuICAgICAgeyBrZXk6IFwiZ2VuZXJhbFwiLCBsYWJlbDogXCIlIEdlcmFsXCIsIHNvcnQ6IHRydWUgfSxcbiAgICBdO1xuICAgIHRoaXMuZ3JvdXBSZXBvcnQuZm9yRWFjaCgocmVwb3J0SXRlbSkgPT4ge1xuICAgICAgcmVwb3J0SXRlbS5kaW1lbnNpb25zLmZvckVhY2goKGRpbWVuc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBkaW1lbnNpb25LZXkgPSBkaW1lbnNpb24uZGltZW5zaW9uTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkaW1lbnNpb25MYWJlbCA9IGRpbWVuc2lvbi5kaW1lbnNpb25OYW1lO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uRXhpc3RzKGNvbHVtbnMsIGRpbWVuc2lvbktleSkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAga2V5OiBkaW1lbnNpb25LZXksXG4gICAgICAgICAgICBsYWJlbDogZGltZW5zaW9uTGFiZWwsXG4gICAgICAgICAgICBzb3J0OiBkaW1lbnNpb24uc29ydCB8fCBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJlcG9ydEl0ZW0uaW5kaWNhdG9ycy5mb3JFYWNoKChpbmRpY2F0b3IpID0+IHtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yS2V5ID0gaW5kaWNhdG9yLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yTGFiZWwgPSBpbmRpY2F0b3IubmFtZTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbkV4aXN0cyhjb2x1bW5zLCBpbmRpY2F0b3JLZXkpKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogaW5kaWNhdG9yS2V5LFxuICAgICAgICAgICAgbGFiZWw6IGluZGljYXRvckxhYmVsLFxuICAgICAgICAgICAgc29ydDogaW5kaWNhdG9yLnNvcnQgfHwgZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgfVxuXG4gIGNvbHVtbkV4aXN0cyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdLCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjb2x1bW5zLnNvbWUoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0ga2V5KTtcbiAgfVxuXG4gIGdlbmVyYXRlR3JvdXBEYXRhKCkge1xuICAgIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdID0gW107XG5cbiAgICB0aGlzLmdyb3VwUmVwb3J0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGRhdGFJdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgICBuYW1lOiBpdGVtLmNhbmRpZGF0ZS5uYW1lLFxuICAgICAgICBjcGY6IGl0ZW0uY2FuZGlkYXRlLmNwZixcbiAgICAgICAgZ2VuZXJhbDogaXRlbS5jYW5kaWRhdGUuZ2VuZXJhbCxcbiAgICAgIH07XG5cbiAgICAgIGl0ZW0uZGltZW5zaW9ucy5mb3JFYWNoKChkaW1lbnNpb24pID0+IHtcbiAgICAgICAgZGF0YUl0ZW1bZGltZW5zaW9uLmRpbWVuc2lvbk5hbWUudG9Mb3dlckNhc2UoKV0gPSB7XG4gICAgICAgICAgdmFsdWU6IGRpbWVuc2lvbi5lc2NvcmVULFxuICAgICAgICAgIGRpcmVjdGlvbjogZGltZW5zaW9uLmRpcmVjdGlvbixcbiAgICAgICAgICBjbGFzc2lmaWNhdGlvbklkOiBkaW1lbnNpb24uY2xhc3NpZmljYXRpb25JZCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBpdGVtLmluZGljYXRvcnMuZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgIGRhdGFJdGVtW2luZGljYXRvci5uYW1lLnRvTG93ZXJDYXNlKCldID0ge1xuICAgICAgICAgIHZhbHVlOiBpbmRpY2F0b3IuaW50ZXJ2YWwsXG4gICAgICAgICAgZGlyZWN0aW9uOiBpbmRpY2F0b3IuZGlyZWN0aW9uLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uSWQ6IGluZGljYXRvci5jbGFzc2lmaWNhdGlvbklkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdC5wdXNoKGRhdGFJdGVtKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YSA9IHJlc3VsdDtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEpO1xuICB9XG5cbiAgaXNCb29sZWFuKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiByb3dbY29sdW1uLmtleV0gPT09IFwiYm9vbGVhblwiO1xuICB9XG5cbiAgaXNNYXNrZWREYXRhKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybWF0cyA9IFttb21lbnQuSVNPXzg2MDEsIFwiTU0vREQvWVlZWSAgOikgIEhIKm1tKnNzXCJdO1xuICAgIGNvbnN0IGlzRGF0ZSA9IG1vbWVudChyb3dbY29sdW1uLmtleV0sIGZvcm1hdHMsIHRydWUpLmlzVmFsaWQoKTtcbiAgICByZXR1cm4gKGNvbHVtbi5tYXNrICYmIGlzRGF0ZSkgfHwgZmFsc2U7XG4gIH1cblxuICBnZXRWYWx1ZUFzRGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShyb3dbY29sdW1uLmtleV0pO1xuICB9XG5cbiAgZ2V0Q2VsbENsYXNzKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNHcm91cFJlcG9ydCB8fCBjb2x1bW4ua2V5ID09PSAnbmFtZScgfHwgY29sdW1uLmtleSA9PT0gJ2NwZicgfHwgY29sdW1uLmtleSA9PT0gJ2dlbmVyYWwnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjbGFzc2lmaWNhdGlvbiA9IHJvd1tjb2x1bW4ua2V5XT8uY2xhc3NpZmljYXRpb25JZDtcbiAgICAgIHJldHVybiBgY2xhc3NpZmljYXRpb24gY2xhc3NpZmljYXRpb24tJHsgY2xhc3NpZmljYXRpb24gfWA7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0Um93Q2xhc3MoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBcInJvdy1ob3ZlclwiOiAhdGhpcy5pc0dyb3VwUmVwb3J0LFxuICAgIH07XG4gIH1cblxuICBnZXRWYWx1ZShyb3c6IHsgdmFsdWU6IHN0cmluZzsgfSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiByb3cudmFsdWUgKyAnJSc7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVBhZ2UoZXZlbnQ/OiBQYWdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlUGFnZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoKSB7XG4gICAgdGhpcy50cmlnZ2VyLm9wZW5NZW51KCk7XG4gIH1cblxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYXBhLXRhYmxlXCI+XG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQgKG1hdFNvcnRDaGFuZ2UpPVwic29ydERhdGFGdW5jdGlvbigkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpc0ZpcnN0ID0gZmlyc3RcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIFtkaXNhYmxlZF09XCIhKGNvbHVtbi5rZXkgIT09ICdhY3Rpb25zJyA/IGNvbHVtbi5zb3J0IDogbnVsbClcIj5cbiAgICAgICAgPGRpdiBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlclwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGlvbiwgY29sdW1uLCBpc0ZpcnN0LCBjaGVja2JveCB9XCI+PC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uXCIgKGNsaWNrKT1cImVtaXRSb3dDbGljayhyb3csICcnKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucycgJiYgY29sdW1uLmtleSAhPT0gJ21lbnUnOyBlbHNlIGNvbHVtbkFjdGlvbnNPck1lbnVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZV9fY29sdW1uXCIgW25nQ2xhc3NdPVwieyAnY2VudGVyLWNlbGwnOiBpc0dyb3VwUmVwb3J0ICYmIGNvbHVtbi5rZXkgIT09ICduYW1lJyB9XCI+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNHcm91cFJlcG9ydFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hc2tlZERhdGEoY29sdW1uLCByb3cpOyBlbHNlIHN0YXR1c0NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGdldFZhbHVlQXNEYXRlKGNvbHVtbiwgcm93KSB8IGRhdGU6IGNvbHVtbi5tYXNrIH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGF0dXNDb250ZW50PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5zdGF0dXNMYWJlbDsgZWxzZSBjb21tb25Db250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Jvb2xlYW4oY29sdW1uLCByb3cpOyBlbHNlIGNvbW1vblN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5zdGF0dXNMYWJlbFtyb3dbY29sdW1uLmtleV0gPyAxIDogMF0gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uU3RhdHVzPnt7IGNvbHVtbi5zdGF0dXNMYWJlbFtyb3dbY29sdW1uLmtleV0gLSAxXSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uQ29udGVudD57eyByb3dbY29sdW1uLmtleV0gfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGF0dXNDb250ZW50PlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb21tb25Db250ZW50Pnt7IHJvd1tjb2x1bW4ua2V5XSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0dyb3VwUmVwb3J0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3MoY29sdW1uLCByb3cpXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnIHx8IGNvbHVtbi5rZXkgPT09ICdjcGYnIHx8IGNvbHVtbi5rZXkgPT09ICdnZW5lcmFsJzsgZWxzZSB2YWx1ZUNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICduYW1lJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyByb3cubmFtZSB9fTxicj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3BmXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3Jvdy5jcGZ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdnZW5lcmFsJ1wiIGNsYXNzPVwiZ2VuZXJhbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHJvd1tjb2x1bW4ua2V5XSB8IGN1cnJlbmN5OicnOicnIH19JVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2YWx1ZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFZhbHVlKHJvd1tjb2x1bW4ua2V5XSkgfX1cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjb2x1bW5BY3Rpb25zT3JNZW51PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tYWN0aW9uc1wiICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ2FjdGlvbnMnXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiZW1pdFJvd0NsaWNrKHJvdywgJ2VkaXQnKVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImVtaXRSb3dDbGljayhyb3csICdkZWxldGUnKVwiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiZW1pdFJvd0NsaWNrKHJvdywgJ3Zpc2liaWxpdHknKVwiPnZpc2liaWxpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1tZW51XCIgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnbWVudSdcIj5cbiAgICAgICAgICAgICAgPG1hcGEtbWVudSBbaXRlbXNdPVwibWVudUl0ZW1zXCI+PC9tYXBhLW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIFtuZ0NsYXNzXT1cImdldFJvd0NsYXNzKClcIj48L3RyPlxuICA8L3RhYmxlPlxuXG4gIDxzZWN0aW9uICpuZ0lmPVwiIWlzR3JvdXBSZXBvcnRcIj5cbiAgICA8bWF0LXBhZ2luYXRvciBjbGFzcz1cIm1hcGEtdGFibGVfX3BhZ2luYXRvci1sZWdhY3lcIiBpdGVtc1BlclBhZ2VMYWJlbD1cIkl0ZW0gcG9yIHDDoWdpbmFcIiBhcHBTdHlsZVBhZ2luYXRvck12IFtsZW5ndGhdPVwidG90YWxDb3VudFwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiIChwYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiPjwvbWF0LXBhZ2luYXRvcj5cbiAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlSGVhZGVyIGxldC1zZWxlY3Rpb249XCJzZWxlY3Rpb25cIiBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LWlzRmlyc3Q9XCJpc0ZpcnN0XCIgbGV0LWNoZWNrYm94PVwiY2hlY2tib3hcIj5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbiBtYXBhLXRhYmxlX19jb2x1bW4tLWhlYWRlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICA8bWF0LWNoZWNrYm94ICpuZ0lmPVwic2VsZWN0aW9uXCIgKGNoYW5nZSk9XCIkZXZlbnQgPyB0b2dnbGVBbGxSb3dzKCkgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCIgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj48L21hdC1jaGVja2JveD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fbGFiZWxcIiBbbmdDbGFzc109XCJ7ICdsYWJlbF9yZXBvcnQnOiBpc0dyb3VwUmVwb3J0IH1cIj5cbiAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucycgJiYgY29sdW1uLmtleSAhPT0gJ21lbnUnICYmIGNvbHVtbi5zb3J0XCI+XG4gICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
309
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVN4RCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0M3QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9CakMsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUNwQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBS3ZCLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUVwQyxjQUFTLEdBQWUsRUFBRSxDQUFDO1FB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QkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWYsUUFBUTtzQkFBakIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFNBQVM7c0JBQWpELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDbkIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIFBhZ2VFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XG5cbmltcG9ydCB7IFJvd0NsaWNrRXZlbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL3RhYmxlLXJvdy1jbGljay1ldmVudC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy90YWJsZS1jb2x1bW4uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBHcm91cFJlcG9ydEl0ZW0gfSBmcm9tIFwiLi9ncm91cC1yZXBvcnQtaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gXCIuLi8uLi9tZW51L3B1YmxpYy1hcGlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtdGFibGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFibGUuY29tcG9uZW50LnNjc3NcIixcIi4vLi4vLi4vY2FwYWJpbGl0eS9zdHlsZXMvY2FwYWJpbGl0eS5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIGRhdGE6IE9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDU7XG4gIEBJbnB1dCgpIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHRvdGFsUGFnZXM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGNoZWNrYm94OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbnM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZpbHRlckNvbnRyb2w6IEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBncm91cFJlcG9ydDogR3JvdXBSZXBvcnRJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgaXNHcm91cFJlcG9ydDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIG1lbnU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7IFxuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcblxuICBAT3V0cHV0KCkgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxSb3dDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgUm93Q2xpY2tFdmVudFxuICA+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3M6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHJlYWQ6IHRydWUgfSkgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIGNoZWNrYm94R3JvdXAhOiBGb3JtR3JvdXA7XG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8T2JqZWN0PjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFNvcnQ6IFNvcnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzR3JvdXBSZXBvcnQpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKCk7XG4gICAgICB0aGlzLmdlbmVyYXRlR3JvdXBEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5rZXkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzW1wiZGF0YVwiXSkge1xuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBjaGFuZ2VzW1wiZGF0YVwiXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbXCJmaWx0ZXJDb250cm9sXCJdICYmIHRoaXMuZmlsdGVyQ29udHJvbCkge1xuICAgICAgdGhpcy5zZXR1cEZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIHNldHVwRmlsdGVyKCkge1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZmlsdGVyQ29udHJvbCEudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlclByZWRpY2F0ZSA9IChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFTdHIgPSBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnRUZXJtLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIGN1cnJlbnRUZXJtICtcbiAgICAgICAgICAgICAgKChkYXRhW2tleV0gJiYgZGF0YVtrZXldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSkgfHwgXCJcIikgK1xuICAgICAgICAgICAgICBcIiBcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LCBcIlwiKVxuICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICByZXR1cm4gZGF0YVN0ci5pbmRleE9mKGZpbHRlcikgIT09IC0xO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVBbGxSb3dzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGFBc1BlcmlvZGljRWxlbWVudHMgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YSBhcyBhbnlbXTtcbiAgICAgICAgZGF0YUFzUGVyaW9kaWNFbGVtZW50cy5mb3JFYWNoKChyb3cpID0+IHRoaXMuc2VsZWN0aW9uPy5zZWxlY3Qocm93KSk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGVja2JveExhYmVsKHJvdz86IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAoIXJvdykge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pc0FsbFNlbGVjdGVkKCkgPyBcImRlc2VsZWN0XCIgOiBcInNlbGVjdFwifSBhbGxgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSA/IFwiZGVzZWxlY3RcIiA6IFwic2VsZWN0XCJ9IHJvdyAke1xuICAgICAgICByb3cucG9zaXRpb24gKyAxXG4gICAgICB9YDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgc29ydERhdGEoY29sdW1uOiBUYWJsZUNvbHVtbik6IHZvaWQge1xuICAgIGlmIChjb2x1bW4uc29ydCkge1xuICAgICAgY29uc3Qgc29ydDogU29ydCA9IHsgYWN0aXZlOiBjb2x1bW4ua2V5LCBkaXJlY3Rpb246IFwiYXNjXCIgfTtcblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0ICYmXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQuYWN0aXZlID09PSBjb2x1bW4ua2V5ICYmXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQuZGlyZWN0aW9uID09PSBcImFzY1wiXG4gICAgICApIHtcbiAgICAgICAgc29ydC5kaXJlY3Rpb24gPSBcImRlc2NcIjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXJyZW50U29ydCA9IHNvcnQ7XG4gICAgICB0aGlzLnNvcnREYXRhRnVuY3Rpb24oc29ydCk7XG4gICAgfVxuICB9XG5cbiAgc29ydERhdGFGdW5jdGlvbihzb3J0OiBTb3J0KSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNsaWNlKCk7XG5cbiAgICBpZiAoIXNvcnQuYWN0aXZlIHx8IHNvcnQuZGlyZWN0aW9uID09PSBcIlwiKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc0FzYyA9IHNvcnQuZGlyZWN0aW9uID09PSBcImFzY1wiO1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShhW3NvcnQuYWN0aXZlXSwgYltzb3J0LmFjdGl2ZV0sIGlzQXNjKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbXBhcmUoYTogYW55LCBiOiBhbnksIGlzQXNjOiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBhID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBiID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gKGEudG9Mb3dlckNhc2UoKSA8IGIudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICAgIH1cbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG4gIH1cblxuICBlbWl0Um93Q2xpY2socm93OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgY29uc3Qgcm93RGF0YTogUm93Q2xpY2tFdmVudCA9IHsgcm93LCBhY3Rpb24gfTtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQocm93RGF0YSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24ocm93OiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3Qocm93KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpO1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdGVkVmFsdWVzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSb3dzID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubWFwKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcm93IH07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmVtaXQoc2VsZWN0ZWRSb3dzKTtcbiAgICAgIGNvbnNvbGUubG9nKHNlbGVjdGVkUm93cyk7XG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVDb2x1bW5zKCkge1xuICAgIGNvbnN0IGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXG4gICAgICB7IGtleTogXCJuYW1lXCIsIGxhYmVsOiBcIlwiLCBzb3J0OiBmYWxzZSB9LFxuICAgICAgeyBrZXk6IFwiZ2VuZXJhbFwiLCBsYWJlbDogXCIlIEdlcmFsXCIsIHNvcnQ6IHRydWUgfSxcbiAgICBdO1xuICAgIHRoaXMuZ3JvdXBSZXBvcnQuZm9yRWFjaCgocmVwb3J0SXRlbSkgPT4ge1xuICAgICAgcmVwb3J0SXRlbS5kaW1lbnNpb25zLmZvckVhY2goKGRpbWVuc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBkaW1lbnNpb25LZXkgPSBkaW1lbnNpb24uZGltZW5zaW9uTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkaW1lbnNpb25MYWJlbCA9IGRpbWVuc2lvbi5kaW1lbnNpb25OYW1lO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uRXhpc3RzKGNvbHVtbnMsIGRpbWVuc2lvbktleSkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAga2V5OiBkaW1lbnNpb25LZXksXG4gICAgICAgICAgICBsYWJlbDogZGltZW5zaW9uTGFiZWwsXG4gICAgICAgICAgICBzb3J0OiBkaW1lbnNpb24uc29ydCB8fCBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJlcG9ydEl0ZW0uaW5kaWNhdG9ycy5mb3JFYWNoKChpbmRpY2F0b3IpID0+IHtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yS2V5ID0gaW5kaWNhdG9yLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yTGFiZWwgPSBpbmRpY2F0b3IubmFtZTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbkV4aXN0cyhjb2x1bW5zLCBpbmRpY2F0b3JLZXkpKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogaW5kaWNhdG9yS2V5LFxuICAgICAgICAgICAgbGFiZWw6IGluZGljYXRvckxhYmVsLFxuICAgICAgICAgICAgc29ydDogaW5kaWNhdG9yLnNvcnQgfHwgZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgfVxuXG4gIGNvbHVtbkV4aXN0cyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdLCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjb2x1bW5zLnNvbWUoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0ga2V5KTtcbiAgfVxuXG4gIGdlbmVyYXRlR3JvdXBEYXRhKCkge1xuICAgIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdID0gW107XG5cbiAgICB0aGlzLmdyb3VwUmVwb3J0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGRhdGFJdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgICBuYW1lOiBpdGVtLmNhbmRpZGF0ZS5uYW1lLFxuICAgICAgICBjcGY6IGl0ZW0uY2FuZGlkYXRlLmNwZixcbiAgICAgICAgZ2VuZXJhbDogaXRlbS5jYW5kaWRhdGUuZ2VuZXJhbCxcbiAgICAgIH07XG5cbiAgICAgIGl0ZW0uZGltZW5zaW9ucy5mb3JFYWNoKChkaW1lbnNpb24pID0+IHtcbiAgICAgICAgZGF0YUl0ZW1bZGltZW5zaW9uLmRpbWVuc2lvbk5hbWUudG9Mb3dlckNhc2UoKV0gPSB7XG4gICAgICAgICAgdmFsdWU6IGRpbWVuc2lvbi5lc2NvcmVULFxuICAgICAgICAgIGRpcmVjdGlvbjogZGltZW5zaW9uLmRpcmVjdGlvbixcbiAgICAgICAgICBjbGFzc2lmaWNhdGlvbklkOiBkaW1lbnNpb24uY2xhc3NpZmljYXRpb25JZCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBpdGVtLmluZGljYXRvcnMuZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgIGRhdGFJdGVtW2luZGljYXRvci5uYW1lLnRvTG93ZXJDYXNlKCldID0ge1xuICAgICAgICAgIHZhbHVlOiBpbmRpY2F0b3IuaW50ZXJ2YWwsXG4gICAgICAgICAgZGlyZWN0aW9uOiBpbmRpY2F0b3IuZGlyZWN0aW9uLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uSWQ6IGluZGljYXRvci5jbGFzc2lmaWNhdGlvbklkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdC5wdXNoKGRhdGFJdGVtKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YSA9IHJlc3VsdDtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEpO1xuICB9XG5cbiAgaXNCb29sZWFuKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiByb3dbY29sdW1uLmtleV0gPT09IFwiYm9vbGVhblwiO1xuICB9XG5cbiAgaXNNYXNrZWREYXRhKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybWF0cyA9IFttb21lbnQuSVNPXzg2MDEsIFwiTU0vREQvWVlZWSAgOikgIEhIKm1tKnNzXCJdO1xuICAgIGNvbnN0IGlzRGF0ZSA9IG1vbWVudChyb3dbY29sdW1uLmtleV0sIGZvcm1hdHMsIHRydWUpLmlzVmFsaWQoKTtcbiAgICByZXR1cm4gKGNvbHVtbi5tYXNrICYmIGlzRGF0ZSkgfHwgZmFsc2U7XG4gIH1cblxuICBnZXRWYWx1ZUFzRGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShyb3dbY29sdW1uLmtleV0pO1xuICB9XG5cbiAgZ2V0Q2VsbENsYXNzKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNHcm91cFJlcG9ydCB8fCBjb2x1bW4ua2V5ID09PSAnbmFtZScgfHwgY29sdW1uLmtleSA9PT0gJ2NwZicgfHwgY29sdW1uLmtleSA9PT0gJ2dlbmVyYWwnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjbGFzc2lmaWNhdGlvbiA9IHJvd1tjb2x1bW4ua2V5XT8uY2xhc3NpZmljYXRpb25JZDtcbiAgICAgIHJldHVybiBgY2xhc3NpZmljYXRpb24gY2xhc3NpZmljYXRpb24tJHsgY2xhc3NpZmljYXRpb24gfWA7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0Um93Q2xhc3MoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBcInJvdy1ob3ZlclwiOiAhdGhpcy5pc0dyb3VwUmVwb3J0LFxuICAgIH07XG4gIH1cblxuICBnZXRWYWx1ZShyb3c6IHsgdmFsdWU6IHN0cmluZzsgfSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiByb3cudmFsdWUgKyAnJSc7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVBhZ2UoZXZlbnQ/OiBQYWdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlUGFnZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoKSB7XG4gICAgdGhpcy50cmlnZ2VyLm9wZW5NZW51KCk7XG4gIH1cblxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYXBhLXRhYmxlXCI+XG4gIDx0YWJsZVxuICAgIG1hdC10YWJsZVxuICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgIG1hdFNvcnRcbiAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0RGF0YUZ1bmN0aW9uKCRldmVudClcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaXNGaXJzdCA9IGZpcnN0XCJcbiAgICAgIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmtleVwiXG4gICAgPlxuICAgICAgPHRoXG4gICAgICAgIG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICBtYXQtc29ydC1oZWFkZXJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEoY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnID8gY29sdW1uLnNvcnQgOiBudWxsKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0aW9uLCBjb2x1bW4sIGlzRmlyc3QsIGNoZWNrYm94IH1cIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uXCIgKGNsaWNrKT1cImVtaXRSb3dDbGljayhyb3csICcnKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnICYmIGNvbHVtbi5rZXkgIT09ICdtZW51JzsgZWxzZSBjb2x1bW5BY3Rpb25zT3JNZW51XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGVfX2NvbHVtblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NlbnRlci1jZWxsJzogaXNHcm91cFJlcG9ydCAmJiBjb2x1bW4ua2V5ICE9PSAnbmFtZScgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNHcm91cFJlcG9ydFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbj8udG9nZ2xlKHJvdykgOiBudWxsOyBnZXRTZWxlY3RlZFZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uPy5pc1NlbGVjdGVkKHJvdylcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc01hc2tlZERhdGEoY29sdW1uLCByb3cpOyBlbHNlIHN0YXR1c0NvbnRlbnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGdldFZhbHVlQXNEYXRlKGNvbHVtbiwgcm93KSB8IGRhdGU6IGNvbHVtbi5tYXNrIH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGF0dXNDb250ZW50PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5zdGF0dXNMYWJlbDsgZWxzZSBjb21tb25Db250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzQm9vbGVhbihjb2x1bW4sIHJvdyk7IGVsc2UgY29tbW9uU3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5zdGF0dXNMYWJlbFtyb3dbY29sdW1uLmtleV0gPyAxIDogMF0gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uU3RhdHVzXG4gICAgICAgICAgICAgICAgICAgICAgPnt7IGNvbHVtbi5zdGF0dXNMYWJlbFtyb3dbY29sdW1uLmtleV0gLSAxXVxuICAgICAgICAgICAgICAgICAgICAgIH19PC9uZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uQ29udGVudFxuICAgICAgICAgICAgICAgICAgICA+e3sgcm93W2NvbHVtbi5rZXldIH19PC9uZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGF0dXNDb250ZW50PlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb21tb25Db250ZW50XG4gICAgICAgICAgICAgICAgICAgID57eyByb3dbY29sdW1uLmtleV0gfX08L25nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0dyb3VwUmVwb3J0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3MoY29sdW1uLCByb3cpXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnIHx8IGNvbHVtbi5rZXkgPT09ICdjcGYnIHx8IGNvbHVtbi5rZXkgPT09ICdnZW5lcmFsJzsgZWxzZSB2YWx1ZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyByb3cubmFtZSB9fTxiciAvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcGZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cm93LmNwZn19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ2dlbmVyYWwnXCIgY2xhc3M9XCJnZW5lcmFsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgcm93W2NvbHVtbi5rZXldIHwgY3VycmVuY3k6Jyc6JycgfX0lXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VmFsdWUocm93W2NvbHVtbi5rZXldKSB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbHVtbkFjdGlvbnNPck1lbnU+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnYWN0aW9ucydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImVtaXRSb3dDbGljayhyb3csICdlZGl0JylcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJlbWl0Um93Q2xpY2socm93LCAnZGVsZXRlJylcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImVtaXRSb3dDbGljayhyb3csICd2aXNpYmlsaXR5JylcIlxuICAgICAgICAgICAgICAgID52aXNpYmlsaXR5PC9tYXQtaWNvblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLXRhYmxlX19jb2x1bW4tLW1lbnVcIiAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdtZW51J1wiPlxuICAgICAgICAgICAgICA8bWFwYS1tZW51IFtpdGVtc109XCJtZW51SXRlbXNcIj48L21hcGEtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyXG4gICAgICBtYXQtcm93XG4gICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Um93Q2xhc3MoKVwiXG4gICAgPjwvdHI+XG4gIDwvdGFibGU+XG5cbiAgPHNlY3Rpb24gKm5nSWY9XCIhaXNHcm91cFJlcG9ydFwiPlxuICAgIDxtYXQtcGFnaW5hdG9yXG4gICAgICBjbGFzcz1cIm1hcGEtdGFibGVfX3BhZ2luYXRvci1sZWdhY3lcIlxuICAgICAgaXRlbXNQZXJQYWdlTGFiZWw9XCJJdGVtIHBvciBww6FnaW5hXCJcbiAgICAgIGFwcFN0eWxlUGFnaW5hdG9yTXZcbiAgICAgIFtsZW5ndGhdPVwidG90YWxDb3VudFwiXG4gICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDI1LCAxMDBdXCJcbiAgICAgIChwYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiXG4gICAgPjwvbWF0LXBhZ2luYXRvcj5cbiAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGVcbiAgI3RhYmxlSGVhZGVyXG4gIGxldC1zZWxlY3Rpb249XCJzZWxlY3Rpb25cIlxuICBsZXQtY29sdW1uPVwiY29sdW1uXCJcbiAgbGV0LWlzRmlyc3Q9XCJpc0ZpcnN0XCJcbiAgbGV0LWNoZWNrYm94PVwiY2hlY2tib3hcIlxuPlxuICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uIG1hcGEtdGFibGVfX2NvbHVtbi0taGVhZGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmlyc3QgJiYgY2hlY2tib3hcIj5cbiAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25cIlxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZUFsbFJvd3MoKSA6IG51bGxcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+PC9tYXQtY2hlY2tib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19sYWJlbFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdsYWJlbF9yZXBvcnQnOiBpc0dyb3VwUmVwb3J0IH1cIlxuICAgID5cbiAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnICYmIGNvbHVtbi5rZXkgIT09ICdtZW51JyAmJiBjb2x1bW4uc29ydFwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPmZpbHRlcl9saXN0PC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -511,10 +511,10 @@ class MapaTableComponent {
|
|
|
511
511
|
}
|
|
512
512
|
}
|
|
513
513
|
MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
514
|
-
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por p\u00E1gina\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MapaMenuComponent, selector: "mapa-menu", inputs: ["items"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1$1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
514
|
+
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MapaMenuComponent, selector: "mapa-menu", inputs: ["items"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1$1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
515
515
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
|
|
516
516
|
type: Component,
|
|
517
|
-
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por p\u00E1gina\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
517
|
+
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
518
518
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
519
519
|
type: Input
|
|
520
520
|
}], data: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.module.ts","../../../projects/mapa-library-ui/src/lib/components/menu/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/table.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\n\nexport interface MenuItem {\n icon: string;\n text: string;\n action: () => void;\n}\n\n@Component({\n selector: 'mapa-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MapaMenuComponent {\n @Input() items: MenuItem[] = [];\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let item of items\" mat-menu-item (click)=\"item.action()\">\n <mat-icon>{{item.icon}}</mat-icon>\n <span>{{item.text}}</span>\n </button>\n</mat-menu>\n\n<mat-icon class=\"outside-menu-icon\" (click)=\"toggleMenu()\" \n [matMenuTriggerFor]=\"menu\">more_vert</mat-icon>\n","import { SelectionModel } from \"@angular/cdk/collections\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormGroup, FormControl } from \"@angular/forms\";\nimport moment from \"moment\";\n\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\n\nimport { RowClickEvent } from \"../../../core/interfaces/table-row-click-event.interface\";\nimport { TableColumn } from \"../../../core/interfaces/table-column.interface\";\nimport { GroupReportItem } from \"./group-report-interface\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\nimport { MenuItem } from \"../../menu/public-api\";\n\n@Component({\n selector: \"mapa-table\",\n templateUrl: \"./table.component.html\",\n styleUrls: [\"./table.component.scss\",\"./../../capability/styles/capability.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaTableComponent implements OnInit, AfterViewInit {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() pageIndex: number = 1;\n @Input() pageSize: number = 5;\n @Input() totalCount: number = 0;\n @Input() totalPages: number = 0;\n @Input() checkbox: boolean | undefined;\n @Input() selection: SelectionModel<any> | undefined;\n @Input() actions: boolean | undefined;\n @Input() filterControl: FormControl | undefined;\n @Input() groupReport: GroupReportItem[] = [];\n @Input() isGroupReport: boolean | undefined;\n @Input() menuItems: MenuItem[] = [];\n @Input() menu: boolean | undefined; \n\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n @Output() rowClick: EventEmitter<RowClickEvent> = new EventEmitter<\n RowClickEvent\n >();\n @Output() selectedRows: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() onChangePage: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild(MatPaginator, { read: true }) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n\n checkboxGroup!: FormGroup;\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.isGroupReport) {\n this.generateColumns();\n this.generateGroupData();\n }\n }\n\n ngAfterViewInit(): void {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"data\"]) {\n if (this.dataSource) {\n this.data = changes[\"data\"].currentValue;\n this.dataSource.data = this.data;\n this.cdr.detectChanges();\n }\n }\n\n if (changes[\"filterControl\"] && this.filterControl) {\n this.setupFilter();\n }\n }\n\n setupFilter() {\n if (this.dataSource) {\n this.filterControl!.valueChanges.subscribe((value: string) => {\n this.dataSource.filter = value.trim().toLowerCase();\n });\n\n this.dataSource.filterPredicate = (data: any, filter: string) => {\n const dataStr = Object.keys(data)\n .reduce((currentTerm, key) => {\n return (\n currentTerm +\n ((data[key] && data[key].toString().toLowerCase()) || \"\") +\n \" \"\n );\n }, \"\")\n .trim()\n .toLowerCase();\n\n return dataStr.indexOf(filter) !== -1;\n };\n }\n }\n\n isAllSelected() {\n if (this.selection) {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n return false;\n }\n\n toggleAllRows() {\n if (this.selection) {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.getSelectedValues();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach((row) => this.selection?.select(row));\n this.getSelectedValues();\n }\n }\n }\n\n checkboxLabel(row?: any): string {\n if (this.selection) {\n if (!row) {\n return `${this.isAllSelected() ? \"deselect\" : \"select\"} all`;\n }\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${\n row.position + 1\n }`;\n }\n return '';\n }\n\n sortData(column: TableColumn): void {\n if (column.sort) {\n const sort: Sort = { active: column.key, direction: \"asc\" };\n\n if (\n this.currentSort &&\n this.currentSort.active === column.key &&\n this.currentSort.direction === \"asc\"\n ) {\n sort.direction = \"desc\";\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === \"\") {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === \"asc\";\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === \"string\" && typeof b === \"string\") {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n emitRowClick(row: string, action: string) {\n const rowData: RowClickEvent = { row, action };\n this.rowClick.emit(rowData);\n }\n\n toggleSelection(row: any) {\n if (this.selection) {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n } else {\n this.selection.select(row);\n }\n this.getSelectedValues();\n }\n }\n\n getSelectedValues() {\n if (this.selection) {\n const selectedRows = this.selection.selected.map((row) => {\n return { row };\n });\n this.selectedRows.emit(selectedRows);\n console.log(selectedRows);\n }\n }\n\n generateColumns() {\n const columns: TableColumn[] = [\n { key: \"name\", label: \"\", sort: false },\n { key: \"general\", label: \"% Geral\", sort: true },\n ];\n this.groupReport.forEach((reportItem) => {\n reportItem.dimensions.forEach((dimension) => {\n const dimensionKey = dimension.dimensionName.toLowerCase();\n const dimensionLabel = dimension.dimensionName;\n if (!this.columnExists(columns, dimensionKey)) {\n columns.push({\n key: dimensionKey,\n label: dimensionLabel,\n sort: dimension.sort || false,\n });\n }\n });\n\n reportItem.indicators.forEach((indicator) => {\n const indicatorKey = indicator.name.toLowerCase();\n const indicatorLabel = indicator.name;\n if (!this.columnExists(columns, indicatorKey)) {\n columns.push({\n key: indicatorKey,\n label: indicatorLabel,\n sort: indicator.sort || false,\n });\n }\n });\n });\n\n this.columns = columns;\n }\n\n columnExists(columns: TableColumn[], key: string): boolean {\n return columns.some((column) => column.key === key);\n }\n\n generateGroupData() {\n const result: { [key: string]: any }[] = [];\n\n this.groupReport.forEach((item) => {\n const dataItem: { [key: string]: any } = {\n name: item.candidate.name,\n cpf: item.candidate.cpf,\n general: item.candidate.general,\n };\n\n item.dimensions.forEach((dimension) => {\n dataItem[dimension.dimensionName.toLowerCase()] = {\n value: dimension.escoreT,\n direction: dimension.direction,\n classificationId: dimension.classificationId,\n };\n });\n\n item.indicators.forEach((indicator) => {\n dataItem[indicator.name.toLowerCase()] = {\n value: indicator.interval,\n direction: indicator.direction,\n classificationId: indicator.classificationId,\n };\n });\n\n result.push(dataItem);\n });\n\n this.data = result;\n console.log(this.data);\n }\n\n isBoolean(column: TableColumn, row: any): boolean {\n return typeof row[column.key] === \"boolean\";\n }\n\n isMaskedData(column: TableColumn, row: any): boolean {\n const formats = [moment.ISO_8601, \"MM/DD/YYYY :) HH*mm*ss\"];\n const isDate = moment(row[column.key], formats, true).isValid();\n return (column.mask && isDate) || false;\n }\n\n getValueAsDate(column: TableColumn, row: any): Date {\n return new Date(row[column.key]);\n }\n\n getCellClass(column: TableColumn, row: any): string {\n if (!this.isGroupReport || column.key === 'name' || column.key === 'cpf' || column.key === 'general') {\n return '';\n }\n try {\n const classification = row[column.key]?.classificationId;\n return `classification classification-${ classification }`;\n } catch {\n return '';\n }\n }\n\n getRowClass(): { [key: string]: boolean } {\n return {\n \"row-hover\": !this.isGroupReport,\n };\n }\n\n getValue(row: { value: string; }): string {\n try {\n return row.value + '%';\n } catch {\n return '-';\n }\n }\n\n changePage(event?: PageEvent): void {\n this.onChangePage.emit(event);\n }\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por página\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n const rangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) { return `0 de ${length}`; }\n \n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n}\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n customPaginatorIntl.getRangeLabel = rangeLabel;\n\n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaMenuComponent } from './menu.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\n\n\n\n@NgModule({\n declarations: [\n MapaMenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule, \n MapaButtonModule,\n MatIconModule\n ],\n exports: [\n MapaMenuComponent,\n ]\n})\nexport class MapaMenuModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../menu/src/menu.component';\nexport * from '../menu/src/menu.module';","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport {\n MatPaginatorIntl,\n MatPaginatorModule,\n} from \"@angular/material/paginator\";\n\nimport { MapaTableComponent } from \"./table.component\";\nimport { CustomPaginator } from \"./paginator_customization\";\nimport { PaginatorLegacyDirective } from \"../../../core/directives/custom-paginator-legacy.directive\";\nimport { MapaMenuModule } from \"../../menu/public-api\";\nimport { MatMenuModule } from \"@angular/material/menu\";\n\n@NgModule({\n declarations: [MapaTableComponent],\n imports: [\n CommonModule,\n MapaMenuModule,\n MatCheckboxModule,\n MatIconModule,\n MatMenuModule,\n MatPaginatorModule,\n MatTableModule,\n MatSortModule,\n PaginatorLegacyDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [MapaTableComponent],\n providers: [{ provide: MatPaginatorIntl, useValue: CustomPaginator() }],\n})\nexport class MapaTableModule {}\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/*\n * Public API Surface of mapa-library-ui table\n */\nexport * from './lib/core/directives/custom-paginator-legacy.directive';\nexport * from './lib/components/table/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './table';\n"],"names":["i1","i2.MapaMenuComponent","i3","i4","i5","i8.PaginatorLegacyDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.module.ts","../../../projects/mapa-library-ui/src/lib/components/menu/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/table.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\n\nexport interface MenuItem {\n icon: string;\n text: string;\n action: () => void;\n}\n\n@Component({\n selector: 'mapa-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MapaMenuComponent {\n @Input() items: MenuItem[] = [];\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let item of items\" mat-menu-item (click)=\"item.action()\">\n <mat-icon>{{item.icon}}</mat-icon>\n <span>{{item.text}}</span>\n </button>\n</mat-menu>\n\n<mat-icon class=\"outside-menu-icon\" (click)=\"toggleMenu()\" \n [matMenuTriggerFor]=\"menu\">more_vert</mat-icon>\n","import { SelectionModel } from \"@angular/cdk/collections\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormGroup, FormControl } from \"@angular/forms\";\nimport moment from \"moment\";\n\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\n\nimport { RowClickEvent } from \"../../../core/interfaces/table-row-click-event.interface\";\nimport { TableColumn } from \"../../../core/interfaces/table-column.interface\";\nimport { GroupReportItem } from \"./group-report-interface\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\nimport { MenuItem } from \"../../menu/public-api\";\n\n@Component({\n selector: \"mapa-table\",\n templateUrl: \"./table.component.html\",\n styleUrls: [\"./table.component.scss\",\"./../../capability/styles/capability.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaTableComponent implements OnInit, AfterViewInit {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() pageIndex: number = 1;\n @Input() pageSize: number = 5;\n @Input() totalCount: number = 0;\n @Input() totalPages: number = 0;\n @Input() checkbox: boolean | undefined;\n @Input() selection: SelectionModel<any> | undefined;\n @Input() actions: boolean | undefined;\n @Input() filterControl: FormControl | undefined;\n @Input() groupReport: GroupReportItem[] = [];\n @Input() isGroupReport: boolean | undefined;\n @Input() menuItems: MenuItem[] = [];\n @Input() menu: boolean | undefined; \n\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n @Output() rowClick: EventEmitter<RowClickEvent> = new EventEmitter<\n RowClickEvent\n >();\n @Output() selectedRows: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() onChangePage: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild(MatPaginator, { read: true }) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n\n checkboxGroup!: FormGroup;\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.isGroupReport) {\n this.generateColumns();\n this.generateGroupData();\n }\n }\n\n ngAfterViewInit(): void {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"data\"]) {\n if (this.dataSource) {\n this.data = changes[\"data\"].currentValue;\n this.dataSource.data = this.data;\n this.cdr.detectChanges();\n }\n }\n\n if (changes[\"filterControl\"] && this.filterControl) {\n this.setupFilter();\n }\n }\n\n setupFilter() {\n if (this.dataSource) {\n this.filterControl!.valueChanges.subscribe((value: string) => {\n this.dataSource.filter = value.trim().toLowerCase();\n });\n\n this.dataSource.filterPredicate = (data: any, filter: string) => {\n const dataStr = Object.keys(data)\n .reduce((currentTerm, key) => {\n return (\n currentTerm +\n ((data[key] && data[key].toString().toLowerCase()) || \"\") +\n \" \"\n );\n }, \"\")\n .trim()\n .toLowerCase();\n\n return dataStr.indexOf(filter) !== -1;\n };\n }\n }\n\n isAllSelected() {\n if (this.selection) {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n return false;\n }\n\n toggleAllRows() {\n if (this.selection) {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.getSelectedValues();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach((row) => this.selection?.select(row));\n this.getSelectedValues();\n }\n }\n }\n\n checkboxLabel(row?: any): string {\n if (this.selection) {\n if (!row) {\n return `${this.isAllSelected() ? \"deselect\" : \"select\"} all`;\n }\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${\n row.position + 1\n }`;\n }\n return '';\n }\n\n sortData(column: TableColumn): void {\n if (column.sort) {\n const sort: Sort = { active: column.key, direction: \"asc\" };\n\n if (\n this.currentSort &&\n this.currentSort.active === column.key &&\n this.currentSort.direction === \"asc\"\n ) {\n sort.direction = \"desc\";\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === \"\") {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === \"asc\";\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === \"string\" && typeof b === \"string\") {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n emitRowClick(row: string, action: string) {\n const rowData: RowClickEvent = { row, action };\n this.rowClick.emit(rowData);\n }\n\n toggleSelection(row: any) {\n if (this.selection) {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n } else {\n this.selection.select(row);\n }\n this.getSelectedValues();\n }\n }\n\n getSelectedValues() {\n if (this.selection) {\n const selectedRows = this.selection.selected.map((row) => {\n return { row };\n });\n this.selectedRows.emit(selectedRows);\n console.log(selectedRows);\n }\n }\n\n generateColumns() {\n const columns: TableColumn[] = [\n { key: \"name\", label: \"\", sort: false },\n { key: \"general\", label: \"% Geral\", sort: true },\n ];\n this.groupReport.forEach((reportItem) => {\n reportItem.dimensions.forEach((dimension) => {\n const dimensionKey = dimension.dimensionName.toLowerCase();\n const dimensionLabel = dimension.dimensionName;\n if (!this.columnExists(columns, dimensionKey)) {\n columns.push({\n key: dimensionKey,\n label: dimensionLabel,\n sort: dimension.sort || false,\n });\n }\n });\n\n reportItem.indicators.forEach((indicator) => {\n const indicatorKey = indicator.name.toLowerCase();\n const indicatorLabel = indicator.name;\n if (!this.columnExists(columns, indicatorKey)) {\n columns.push({\n key: indicatorKey,\n label: indicatorLabel,\n sort: indicator.sort || false,\n });\n }\n });\n });\n\n this.columns = columns;\n }\n\n columnExists(columns: TableColumn[], key: string): boolean {\n return columns.some((column) => column.key === key);\n }\n\n generateGroupData() {\n const result: { [key: string]: any }[] = [];\n\n this.groupReport.forEach((item) => {\n const dataItem: { [key: string]: any } = {\n name: item.candidate.name,\n cpf: item.candidate.cpf,\n general: item.candidate.general,\n };\n\n item.dimensions.forEach((dimension) => {\n dataItem[dimension.dimensionName.toLowerCase()] = {\n value: dimension.escoreT,\n direction: dimension.direction,\n classificationId: dimension.classificationId,\n };\n });\n\n item.indicators.forEach((indicator) => {\n dataItem[indicator.name.toLowerCase()] = {\n value: indicator.interval,\n direction: indicator.direction,\n classificationId: indicator.classificationId,\n };\n });\n\n result.push(dataItem);\n });\n\n this.data = result;\n console.log(this.data);\n }\n\n isBoolean(column: TableColumn, row: any): boolean {\n return typeof row[column.key] === \"boolean\";\n }\n\n isMaskedData(column: TableColumn, row: any): boolean {\n const formats = [moment.ISO_8601, \"MM/DD/YYYY :) HH*mm*ss\"];\n const isDate = moment(row[column.key], formats, true).isValid();\n return (column.mask && isDate) || false;\n }\n\n getValueAsDate(column: TableColumn, row: any): Date {\n return new Date(row[column.key]);\n }\n\n getCellClass(column: TableColumn, row: any): string {\n if (!this.isGroupReport || column.key === 'name' || column.key === 'cpf' || column.key === 'general') {\n return '';\n }\n try {\n const classification = row[column.key]?.classificationId;\n return `classification classification-${ classification }`;\n } catch {\n return '';\n }\n }\n\n getRowClass(): { [key: string]: boolean } {\n return {\n \"row-hover\": !this.isGroupReport,\n };\n }\n\n getValue(row: { value: string; }): string {\n try {\n return row.value + '%';\n } catch {\n return '-';\n }\n }\n\n changePage(event?: PageEvent): void {\n this.onChangePage.emit(event);\n }\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por página\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n const rangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) { return `0 de ${length}`; }\n \n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n}\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n customPaginatorIntl.getRangeLabel = rangeLabel;\n\n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaMenuComponent } from './menu.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\n\n\n\n@NgModule({\n declarations: [\n MapaMenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule, \n MapaButtonModule,\n MatIconModule\n ],\n exports: [\n MapaMenuComponent,\n ]\n})\nexport class MapaMenuModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../menu/src/menu.component';\nexport * from '../menu/src/menu.module';","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport {\n MatPaginatorIntl,\n MatPaginatorModule,\n} from \"@angular/material/paginator\";\n\nimport { MapaTableComponent } from \"./table.component\";\nimport { CustomPaginator } from \"./paginator_customization\";\nimport { PaginatorLegacyDirective } from \"../../../core/directives/custom-paginator-legacy.directive\";\nimport { MapaMenuModule } from \"../../menu/public-api\";\nimport { MatMenuModule } from \"@angular/material/menu\";\n\n@NgModule({\n declarations: [MapaTableComponent],\n imports: [\n CommonModule,\n MapaMenuModule,\n MatCheckboxModule,\n MatIconModule,\n MatMenuModule,\n MatPaginatorModule,\n MatTableModule,\n MatSortModule,\n PaginatorLegacyDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [MapaTableComponent],\n providers: [{ provide: MatPaginatorIntl, useValue: CustomPaginator() }],\n})\nexport class MapaTableModule {}\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/*\n * Public API Surface of mapa-library-ui table\n */\nexport * from './lib/core/directives/custom-paginator-legacy.directive';\nexport * from './lib/components/table/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './table';\n"],"names":["i1","i2.MapaMenuComponent","i3","i4","i5","i8.PaginatorLegacyDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;MAiBa,wBAAwB,CAAA;AASnC,IAAA,WAAA,CAC+C,MAAoB,EAChD,aAA+B,EAC/B,QAAmB,EAAA;AAFS,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAChD,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC/B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAP9B,QAAA,IAAO,CAAA,OAAA,GAAgB,EAAE,CAAC;AAmF1B,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,IAAe,CAAC;AACpB,YAAA,IAAI,IAAY,CAAC;AACjB,YAAA,IAAI,cAAsB,CAAC;AAC3B,YAAA,IAAI,UAAkB,CAAC;AACvB,YAAA,IAAI,UAAkB,CAAC;AACvB,YAAA,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;;AAE5C,YAAA,MAAM,eAAe,GACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACpD,iCAAiC,CAClC,CAAC;;AAEJ,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACzE,sCAAsC,CACvC,CAAC;;AAEF,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACtE,+BAA+B,CAChC,CAAC;AAEF,YAAA,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;;YAG1C,IAAI,eAAe,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;oBAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACrD,iBAAC,CAAC,CAAC;;gBAEH,eAAe,GAAG,CAAC,CAAC;AACrB,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;;YAGtE,IAAI,eAAe,KAAK,CAAC,EAAE;AACzB,gBAAA,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC;gBAC7C,UAAU,CAAC,MAAK;AACd,oBAAA,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;AAC5B,wBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;;4BAE9B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;gCAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;gCAChE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;AACnE,6BAAA;AAAM,iCAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gCACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;gCAC/D,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,EACJ,iCAAiC,CAClC,CAAC;AACH,6BAAA;AACF,yBAAA;AACF,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AAED,YAAA,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEtB,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7C,YAAY,CACb,CAAC;AACH,aAAA;AAED,YAAA,IAAI,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AAC/B,YAAA,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;AACnC,YAAA,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAErE,YAAA,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE;AACtE,gBAAA,IACE,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc;qBACvD,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC;qBACnD,IAAI,CAAC,WAAW,GAAG,cAAc,IAAI,KAAK,IAAI,cAAc,CAAC;AAC9D,oBAAA,UAAU,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EACvC;oBACA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,CAAA,EAAG,KAAK,CAAE,CAAA,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EACpD,YAAY,CACb,CAAC;AACH,iBAAA;AAAM,qBAAA;oBACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC5D,YAAY,CACb,CAAC;AACF,wBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBACf,MAAM;AACP,qBAAA;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC5D,YAAY,CACb,CAAC;AACF,wBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAChB,qBAAA;AACF,iBAAA;AACF,aAAA;YAED,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,eAAe,EACf,IAAI,CAAC,YAAY,CAAC,CAAG,EAAA,UAAU,GAAG,CAAC,CAAA,CAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7D,YAAY,CACb,CAAC;AACH,aAAA;AACH,SAAC,CAAC;AAzLA,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;AAE3B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAChC,IAAY,EACZ,QAAgB,EAChB,MAAc,KACJ;AACV,YAAA,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AACnC,YAAA,MAAM,QAAQ,GACZ,UAAU,GAAG,MAAM;kBACf,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC;AACzC,kBAAE,UAAU,GAAG,QAAQ,CAAC;YAC5B,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,OAAO,2BAA2B,CAAC;AACpC,aAAA;YACD,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,QACE,YAAY;qBACX,UAAU,GAAG,CAAC,CAAC;oBAChB,KAAK;oBACL,QAAQ;oBACR,MAAM;oBACN,MAAM;AACN,oBAAA,OAAO,EACP;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,QACE,YAAY;qBACX,UAAU,GAAG,CAAC,CAAC;oBAChB,KAAK;oBACL,QAAQ;oBACR,MAAM;oBACN,MAAM;AACN,oBAAA,QAAQ,EACR;AACH,aAAA;AACH,SAAC,CAAC;;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AAClD,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,kBAAkB,CAAC;AACzD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,QAAA,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC;AACjC,QAAA,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAC;KACtC;IAED,SAAS,GAAA;;;AAEP,QAAA,IACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,YAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,YAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,MAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5C;YACA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,WAAW,GAAG,SAAS,IAAI,SAAS,KAAK,CAAC,EAAE;AACnD,gBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3B,aAAA;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM;gBAClB,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACpB,IAAI,CAAC,MAAM,CAAC,SAAS;aACtB,CAAC;AACH,SAAA;KACF;IAmHO,YAAY,CAAC,KAAa,EAAE,SAAiB,EAAA;QACnD,MAAM,OAAO,GAAc,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;AACjE,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;AACnE,SAAA;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;AAClE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACnD,QAAA,QAAQ,KAAK;YACX,KAAK,CAAA,EAAG,SAAS,CAAE,CAAA;gBACjB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;gBACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAK;oBAC1C,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;AACxC,0BAAE,IAAI,CAAC,cAAc,GAAG,CAAC;0BACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAC/C,CAAC;AACJ,iBAAC,CAAC,CAAC;gBACH,MAAM;AACR,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAK;AAC1C,oBAAA,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,WAAW;wBACd,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;AACxD,0BAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;0BACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAC/C,CAAC;AACJ,iBAAC,CAAC,CAAC;gBACH,MAAM;AACR,YAAA;gBACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAK;AAC1C,oBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1B,iBAAC,CAAC,CAAC;gBACH,MAAM;AACT,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;AAEzC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,OAAO,OAAO,CAAC;KAChB;AAED;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;AAEO,IAAA,UAAU,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,iBAAiB,EAAE,IAAI,CAAC,WAAW;AACnC,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC9B,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AAC3B,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEM,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;sHAjRU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;iBACjB,CAAA;;;8BAWI,IAAI;;8BAAI,IAAI;;8BAAI,QAAQ;;;;MCbhB,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;AAMW,QAAA,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;KAOjC;IAJC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;KACzB;;+GANU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEjB,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB3B,mVASA,EAAA,MAAA,EAAA,CAAA,qMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDKa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,mVAAA,EAAA,MAAA,EAAA,CAAA,qMAAA,CAAA,EAAA,CAAA;8BAKZ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACqB,OAAO,EAAA,CAAA;sBAAjC,SAAS;uBAAC,cAAc,CAAA;;;MEgBd,kBAAkB,CAAA;AAgC7B,IAAA,WAAA,CAAoB,GAAsB,EAAA;AAAtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AA/BjC,QAAA,IAAO,CAAA,OAAA,GAAkB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAA,IAAA,GAAa,EAAE,CAAC;AACpB,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;AACrB,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AACvB,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AAKvB,QAAA,IAAW,CAAA,WAAA,GAAsB,EAAE,CAAC;AAEpC,QAAA,IAAS,CAAA,SAAA,GAAe,EAAE,CAAC;AAK1B,QAAA,IAAA,CAAA,QAAQ,GAAgC,IAAI,YAAY,EAE/D,CAAC;AACM,QAAA,IAAA,CAAA,YAAY,GAAwB,IAAI,YAAY,EAAS,CAAC;AAC9D,QAAA,IAAA,CAAA,YAAY,GAAsB,IAAI,YAAY,EAAO,CAAC;AAOpE,QAAA,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;KAGc;IAE9C,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;KACF;IAED,eAAe,GAAA;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACjC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;KAClE;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACjC,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC1B,aAAA;AACF,SAAA;QAED,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;YAClD,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,aAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAa,KAAI;AAC3D,gBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACtD,aAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,IAAS,EAAE,MAAc,KAAI;AAC9D,gBAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,qBAAA,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,KAAI;AAC3B,oBAAA,QACE,WAAW;AACX,yBAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;AACzD,wBAAA,GAAG,EACH;iBACH,EAAE,EAAE,CAAC;AACL,qBAAA,IAAI,EAAE;AACN,qBAAA,WAAW,EAAE,CAAC;gBAEjB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,aAAC,CAAC;AACH,SAAA;KACF;IAED,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5C,OAAO,WAAW,KAAK,OAAO,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAa,CAAC;gBAC7D,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,eAAK,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;gBACrE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,aAAA;AACF,SAAA;KACF;AAED,IAAA,aAAa,CAAC,GAAS,EAAA;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,GAAG,EAAE;AACR,gBAAA,OAAO,CAAG,EAAA,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,GAAG,QAAQ,MAAM,CAAC;AAC9D,aAAA;YACD,OAAO,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,QAAQ,CAC9D,KAAA,EAAA,GAAG,CAAC,QAAQ,GAAG,CACjB,CAAA,CAAE,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,QAAQ,CAAC,MAAmB,EAAA;QAC1B,IAAI,MAAM,CAAC,IAAI,EAAE;AACf,YAAA,MAAM,IAAI,GAAS,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAE5D,IACE,IAAI,CAAC,WAAW;AAChB,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG;AACtC,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,KAAK,EACpC;AACA,gBAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AACzB,aAAA;AAED,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,IAAU,EAAA;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,KAAI;AAClD,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;YACvC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7D,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,CAAC,CAAM,EAAE,CAAM,EAAE,KAAc,EAAA;QACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAClD,YAAA,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,SAAA;QACD,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC5C;IAED,YAAY,CAAC,GAAW,EAAE,MAAc,EAAA;AACtC,QAAA,MAAM,OAAO,GAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED,IAAA,eAAe,CAAC,GAAQ,EAAA;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9B,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B,aAAA;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;KACF;IAED,iBAAiB,GAAA;QACf,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;gBACvD,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACrC,YAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC3B,SAAA;KACF;IAED,eAAe,GAAA;AACb,QAAA,MAAM,OAAO,GAAkB;YAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACvC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;SACjD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;YACtC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;gBAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAC3D,gBAAA,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;oBAC7C,OAAO,CAAC,IAAI,CAAC;AACX,wBAAA,GAAG,EAAE,YAAY;AACjB,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,KAAK;AAC9B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACH,aAAC,CAAC,CAAC;YAEH,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;gBAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAClD,gBAAA,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;oBAC7C,OAAO,CAAC,IAAI,CAAC;AACX,wBAAA,GAAG,EAAE,YAAY;AACjB,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,KAAK;AAC9B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;IAED,YAAY,CAAC,OAAsB,EAAE,GAAW,EAAA;AAC9C,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;KACrD;IAED,iBAAiB,GAAA;QACf,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAChC,YAAA,MAAM,QAAQ,GAA2B;AACvC,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AACzB,gBAAA,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG;AACvB,gBAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;aAChC,CAAC;YAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;gBACpC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG;oBAChD,KAAK,EAAE,SAAS,CAAC,OAAO;oBACxB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C,CAAC;AACJ,aAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;gBACpC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;oBACvC,KAAK,EAAE,SAAS,CAAC,QAAQ;oBACzB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C,CAAC;AACJ,aAAC,CAAC,CAAC;AAEH,YAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACnB,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,SAAS,CAAC,MAAmB,EAAE,GAAQ,EAAA;QACrC,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;KAC7C;IAED,YAAY,CAAC,MAAmB,EAAE,GAAQ,EAAA;QACxC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;AAC9D,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC;KACzC;IAED,cAAc,CAAC,MAAmB,EAAE,GAAQ,EAAA;QAC1C,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAClC;IAED,YAAY,CAAC,MAAmB,EAAE,GAAQ,EAAA;;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;AACpG,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QACD,IAAI;YACF,MAAM,cAAc,GAAG,CAAA,EAAA,GAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC;YACzD,OAAO,CAAA,8BAAA,EAAkC,cAAe,CAAA,CAAE,CAAC;AAC5D,SAAA;QAAC,OAAM,EAAA,EAAA;AACN,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;KACF;IAED,WAAW,GAAA;QACT,OAAO;AACL,YAAA,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa;SACjC,CAAC;KACH;AAED,IAAA,QAAQ,CAAC,GAAuB,EAAA;QAC9B,IAAI;AACF,YAAA,OAAO,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;AACxB,SAAA;QAAC,OAAM,EAAA,EAAA;AACN,YAAA,OAAO,GAAG,CAAC;AACZ,SAAA;KACF;AAED,IAAA,UAAU,CAAC,KAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;KACzB;;gHA3SU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAlB,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgBlB,cAAc,EAQd,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,YAAY,2BAAU,IAAI,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC1B,OAAO,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzDpB,gxLA+JA,EAAA,MAAA,EAAA,CAAA,yoHAAA,EAAA,olCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,uBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FD/Ha,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gxLAAA,EAAA,MAAA,EAAA,CAAA,yoHAAA,EAAA,olCAAA,CAAA,EAAA,CAAA;wGAG5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEqB,OAAO,EAAA,CAAA;sBAAjC,SAAS;uBAAC,cAAc,CAAA;gBAEf,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAGG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAEkC,SAAS,EAAA,CAAA;sBAAjD,SAAS;gBAAC,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBACnB,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;SEvDJ,eAAe,GAAA;AAC7B,IAAA,MAAM,mBAAmB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAEnD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAc,KAAI;AACtE,QAAA,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;YAAE,OAAO,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAC;AAAE,SAAA;QAE9D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE7B,QAAA,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEnC,QAAA,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM;YAChC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC;YACvC,UAAU,GAAG,QAAQ,CAAC;QAE1B,OAAO,CAAA,EAAG,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAA,IAAA,EAAO,MAAM,CAAA,CAAE,CAAC;AACxD,KAAC,CAAA;AAEC,IAAA,mBAAmB,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;AAC5D,IAAA,mBAAmB,CAAC,aAAa,GAAG,gBAAgB,CAAC;AACrD,IAAA,mBAAmB,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC1D,IAAA,mBAAmB,CAAC,aAAa,GAAG,UAAU,CAAC;AAE/C,IAAA,OAAO,mBAAmB,CAAC;AAC7B;;MCFa,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,CAZvB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAGjB,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,aAAa,aAGb,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGR,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YATvB,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,aAAa,CAAA,EAAA,CAAA,CAAA;4FAMJ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAd1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;wBACb,gBAAgB;wBAChB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;AAClB,qBAAA;iBACF,CAAA;;;ACtBD;;AAEG;;MCmCU,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAjBX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAE/B,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,wBAAwB;QACxB,WAAW;QACX,mBAAmB,aAEX,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAGjB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAFf,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,YAbrE,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,aAAa;QAEb,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAKV,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,kBAAkB;wBAClB,cAAc;wBACd,aAAa;wBACb,wBAAwB;wBACxB,WAAW;wBACX,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC;iBACxE,CAAA;;;ACpCD;;AAEG;;ACFH;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -507,10 +507,10 @@ class MapaTableComponent {
|
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
510
|
-
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por p\u00E1gina\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MapaMenuComponent, selector: "mapa-menu", inputs: ["items"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1$1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
510
|
+
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MapaMenuComponent, selector: "mapa-menu", inputs: ["items"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1$1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
511
511
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
|
|
512
512
|
type: Component,
|
|
513
|
-
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por p\u00E1gina\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
513
|
+
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px 0 0;font-size:14px;height:14px;width:14px}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{margin:0 7px}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .center-cell{margin:auto}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
514
514
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
515
515
|
type: Input
|
|
516
516
|
}], data: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.module.ts","../../../projects/mapa-library-ui/src/lib/components/menu/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/table.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\n\nexport interface MenuItem {\n icon: string;\n text: string;\n action: () => void;\n}\n\n@Component({\n selector: 'mapa-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MapaMenuComponent {\n @Input() items: MenuItem[] = [];\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let item of items\" mat-menu-item (click)=\"item.action()\">\n <mat-icon>{{item.icon}}</mat-icon>\n <span>{{item.text}}</span>\n </button>\n</mat-menu>\n\n<mat-icon class=\"outside-menu-icon\" (click)=\"toggleMenu()\" \n [matMenuTriggerFor]=\"menu\">more_vert</mat-icon>\n","import { SelectionModel } from \"@angular/cdk/collections\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormGroup, FormControl } from \"@angular/forms\";\nimport moment from \"moment\";\n\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\n\nimport { RowClickEvent } from \"../../../core/interfaces/table-row-click-event.interface\";\nimport { TableColumn } from \"../../../core/interfaces/table-column.interface\";\nimport { GroupReportItem } from \"./group-report-interface\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\nimport { MenuItem } from \"../../menu/public-api\";\n\n@Component({\n selector: \"mapa-table\",\n templateUrl: \"./table.component.html\",\n styleUrls: [\"./table.component.scss\",\"./../../capability/styles/capability.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaTableComponent implements OnInit, AfterViewInit {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() pageIndex: number = 1;\n @Input() pageSize: number = 5;\n @Input() totalCount: number = 0;\n @Input() totalPages: number = 0;\n @Input() checkbox: boolean | undefined;\n @Input() selection: SelectionModel<any> | undefined;\n @Input() actions: boolean | undefined;\n @Input() filterControl: FormControl | undefined;\n @Input() groupReport: GroupReportItem[] = [];\n @Input() isGroupReport: boolean | undefined;\n @Input() menuItems: MenuItem[] = [];\n @Input() menu: boolean | undefined; \n\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n @Output() rowClick: EventEmitter<RowClickEvent> = new EventEmitter<\n RowClickEvent\n >();\n @Output() selectedRows: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() onChangePage: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild(MatPaginator, { read: true }) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n\n checkboxGroup!: FormGroup;\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.isGroupReport) {\n this.generateColumns();\n this.generateGroupData();\n }\n }\n\n ngAfterViewInit(): void {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"data\"]) {\n if (this.dataSource) {\n this.data = changes[\"data\"].currentValue;\n this.dataSource.data = this.data;\n this.cdr.detectChanges();\n }\n }\n\n if (changes[\"filterControl\"] && this.filterControl) {\n this.setupFilter();\n }\n }\n\n setupFilter() {\n if (this.dataSource) {\n this.filterControl!.valueChanges.subscribe((value: string) => {\n this.dataSource.filter = value.trim().toLowerCase();\n });\n\n this.dataSource.filterPredicate = (data: any, filter: string) => {\n const dataStr = Object.keys(data)\n .reduce((currentTerm, key) => {\n return (\n currentTerm +\n ((data[key] && data[key].toString().toLowerCase()) || \"\") +\n \" \"\n );\n }, \"\")\n .trim()\n .toLowerCase();\n\n return dataStr.indexOf(filter) !== -1;\n };\n }\n }\n\n isAllSelected() {\n if (this.selection) {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n return false;\n }\n\n toggleAllRows() {\n if (this.selection) {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.getSelectedValues();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach((row) => this.selection?.select(row));\n this.getSelectedValues();\n }\n }\n }\n\n checkboxLabel(row?: any): string {\n if (this.selection) {\n if (!row) {\n return `${this.isAllSelected() ? \"deselect\" : \"select\"} all`;\n }\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${\n row.position + 1\n }`;\n }\n return '';\n }\n\n sortData(column: TableColumn): void {\n if (column.sort) {\n const sort: Sort = { active: column.key, direction: \"asc\" };\n\n if (\n this.currentSort &&\n this.currentSort.active === column.key &&\n this.currentSort.direction === \"asc\"\n ) {\n sort.direction = \"desc\";\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === \"\") {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === \"asc\";\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === \"string\" && typeof b === \"string\") {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n emitRowClick(row: string, action: string) {\n const rowData: RowClickEvent = { row, action };\n this.rowClick.emit(rowData);\n }\n\n toggleSelection(row: any) {\n if (this.selection) {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n } else {\n this.selection.select(row);\n }\n this.getSelectedValues();\n }\n }\n\n getSelectedValues() {\n if (this.selection) {\n const selectedRows = this.selection.selected.map((row) => {\n return { row };\n });\n this.selectedRows.emit(selectedRows);\n console.log(selectedRows);\n }\n }\n\n generateColumns() {\n const columns: TableColumn[] = [\n { key: \"name\", label: \"\", sort: false },\n { key: \"general\", label: \"% Geral\", sort: true },\n ];\n this.groupReport.forEach((reportItem) => {\n reportItem.dimensions.forEach((dimension) => {\n const dimensionKey = dimension.dimensionName.toLowerCase();\n const dimensionLabel = dimension.dimensionName;\n if (!this.columnExists(columns, dimensionKey)) {\n columns.push({\n key: dimensionKey,\n label: dimensionLabel,\n sort: dimension.sort || false,\n });\n }\n });\n\n reportItem.indicators.forEach((indicator) => {\n const indicatorKey = indicator.name.toLowerCase();\n const indicatorLabel = indicator.name;\n if (!this.columnExists(columns, indicatorKey)) {\n columns.push({\n key: indicatorKey,\n label: indicatorLabel,\n sort: indicator.sort || false,\n });\n }\n });\n });\n\n this.columns = columns;\n }\n\n columnExists(columns: TableColumn[], key: string): boolean {\n return columns.some((column) => column.key === key);\n }\n\n generateGroupData() {\n const result: { [key: string]: any }[] = [];\n\n this.groupReport.forEach((item) => {\n const dataItem: { [key: string]: any } = {\n name: item.candidate.name,\n cpf: item.candidate.cpf,\n general: item.candidate.general,\n };\n\n item.dimensions.forEach((dimension) => {\n dataItem[dimension.dimensionName.toLowerCase()] = {\n value: dimension.escoreT,\n direction: dimension.direction,\n classificationId: dimension.classificationId,\n };\n });\n\n item.indicators.forEach((indicator) => {\n dataItem[indicator.name.toLowerCase()] = {\n value: indicator.interval,\n direction: indicator.direction,\n classificationId: indicator.classificationId,\n };\n });\n\n result.push(dataItem);\n });\n\n this.data = result;\n console.log(this.data);\n }\n\n isBoolean(column: TableColumn, row: any): boolean {\n return typeof row[column.key] === \"boolean\";\n }\n\n isMaskedData(column: TableColumn, row: any): boolean {\n const formats = [moment.ISO_8601, \"MM/DD/YYYY :) HH*mm*ss\"];\n const isDate = moment(row[column.key], formats, true).isValid();\n return (column.mask && isDate) || false;\n }\n\n getValueAsDate(column: TableColumn, row: any): Date {\n return new Date(row[column.key]);\n }\n\n getCellClass(column: TableColumn, row: any): string {\n if (!this.isGroupReport || column.key === 'name' || column.key === 'cpf' || column.key === 'general') {\n return '';\n }\n try {\n const classification = row[column.key]?.classificationId;\n return `classification classification-${ classification }`;\n } catch {\n return '';\n }\n }\n\n getRowClass(): { [key: string]: boolean } {\n return {\n \"row-hover\": !this.isGroupReport,\n };\n }\n\n getValue(row: { value: string; }): string {\n try {\n return row.value + '%';\n } catch {\n return '-';\n }\n }\n\n changePage(event?: PageEvent): void {\n this.onChangePage.emit(event);\n }\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<section class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"sortDataFunction($event)\">\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\">\n <div [ngTemplateOutlet]=\"tableHeader\" [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\">\n <div class=\"table__column\" [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\">\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\">\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\">\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus>{{ column.statusLabel[row[column.key] - 1] }}</ng-template>\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\">\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">\n {{ row.name }}<br>\n </div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div class=\"mapa-table__column--actions\" *ngIf=\"column.key === 'actions'\">\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"getRowClass()\"></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator class=\"mapa-table__paginator-legacy\" itemsPerPageLabel=\"Item por página\" appStylePaginatorMv [length]=\"totalCount\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"changePage($event)\"></mat-paginator>\n </section>\n</section>\n\n<ng-template #tableHeader let-selection=\"selection\" let-column=\"column\" let-isFirst=\"isFirst\" let-checkbox=\"checkbox\">\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox *ngIf=\"selection\" (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\" [indeterminate]=\"selection.hasValue() && !isAllSelected()\" (click)=\"$event.stopPropagation()\"></mat-checkbox>\n </ng-container>\n <div class=\"mapa-table__label\" [ngClass]=\"{ 'label_report': isGroupReport }\">\n {{ column.label }}\n </div>\n <div *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\">\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n const rangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) { return `0 de ${length}`; }\n \n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n}\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n customPaginatorIntl.getRangeLabel = rangeLabel;\n\n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaMenuComponent } from './menu.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\n\n\n\n@NgModule({\n declarations: [\n MapaMenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule, \n MapaButtonModule,\n MatIconModule\n ],\n exports: [\n MapaMenuComponent,\n ]\n})\nexport class MapaMenuModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../menu/src/menu.component';\nexport * from '../menu/src/menu.module';","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport {\n MatPaginatorIntl,\n MatPaginatorModule,\n} from \"@angular/material/paginator\";\n\nimport { MapaTableComponent } from \"./table.component\";\nimport { CustomPaginator } from \"./paginator_customization\";\nimport { PaginatorLegacyDirective } from \"../../../core/directives/custom-paginator-legacy.directive\";\nimport { MapaMenuModule } from \"../../menu/public-api\";\nimport { MatMenuModule } from \"@angular/material/menu\";\n\n@NgModule({\n declarations: [MapaTableComponent],\n imports: [\n CommonModule,\n MapaMenuModule,\n MatCheckboxModule,\n MatIconModule,\n MatMenuModule,\n MatPaginatorModule,\n MatTableModule,\n MatSortModule,\n PaginatorLegacyDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [MapaTableComponent],\n providers: [{ provide: MatPaginatorIntl, useValue: CustomPaginator() }],\n})\nexport class MapaTableModule {}\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/*\n * Public API Surface of mapa-library-ui table\n */\nexport * from './lib/core/directives/custom-paginator-legacy.directive';\nexport * from './lib/components/table/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './table';\n"],"names":["i1","i2.MapaMenuComponent","i3","i4","i5","i8.PaginatorLegacyDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.module.ts","../../../projects/mapa-library-ui/src/lib/components/menu/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/table.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\n\nexport interface MenuItem {\n icon: string;\n text: string;\n action: () => void;\n}\n\n@Component({\n selector: 'mapa-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MapaMenuComponent {\n @Input() items: MenuItem[] = [];\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let item of items\" mat-menu-item (click)=\"item.action()\">\n <mat-icon>{{item.icon}}</mat-icon>\n <span>{{item.text}}</span>\n </button>\n</mat-menu>\n\n<mat-icon class=\"outside-menu-icon\" (click)=\"toggleMenu()\" \n [matMenuTriggerFor]=\"menu\">more_vert</mat-icon>\n","import { SelectionModel } from \"@angular/cdk/collections\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormGroup, FormControl } from \"@angular/forms\";\nimport moment from \"moment\";\n\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\n\nimport { RowClickEvent } from \"../../../core/interfaces/table-row-click-event.interface\";\nimport { TableColumn } from \"../../../core/interfaces/table-column.interface\";\nimport { GroupReportItem } from \"./group-report-interface\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\nimport { MenuItem } from \"../../menu/public-api\";\n\n@Component({\n selector: \"mapa-table\",\n templateUrl: \"./table.component.html\",\n styleUrls: [\"./table.component.scss\",\"./../../capability/styles/capability.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaTableComponent implements OnInit, AfterViewInit {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() pageIndex: number = 1;\n @Input() pageSize: number = 5;\n @Input() totalCount: number = 0;\n @Input() totalPages: number = 0;\n @Input() checkbox: boolean | undefined;\n @Input() selection: SelectionModel<any> | undefined;\n @Input() actions: boolean | undefined;\n @Input() filterControl: FormControl | undefined;\n @Input() groupReport: GroupReportItem[] = [];\n @Input() isGroupReport: boolean | undefined;\n @Input() menuItems: MenuItem[] = [];\n @Input() menu: boolean | undefined; \n\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n @Output() rowClick: EventEmitter<RowClickEvent> = new EventEmitter<\n RowClickEvent\n >();\n @Output() selectedRows: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() onChangePage: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild(MatPaginator, { read: true }) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n\n checkboxGroup!: FormGroup;\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.isGroupReport) {\n this.generateColumns();\n this.generateGroupData();\n }\n }\n\n ngAfterViewInit(): void {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"data\"]) {\n if (this.dataSource) {\n this.data = changes[\"data\"].currentValue;\n this.dataSource.data = this.data;\n this.cdr.detectChanges();\n }\n }\n\n if (changes[\"filterControl\"] && this.filterControl) {\n this.setupFilter();\n }\n }\n\n setupFilter() {\n if (this.dataSource) {\n this.filterControl!.valueChanges.subscribe((value: string) => {\n this.dataSource.filter = value.trim().toLowerCase();\n });\n\n this.dataSource.filterPredicate = (data: any, filter: string) => {\n const dataStr = Object.keys(data)\n .reduce((currentTerm, key) => {\n return (\n currentTerm +\n ((data[key] && data[key].toString().toLowerCase()) || \"\") +\n \" \"\n );\n }, \"\")\n .trim()\n .toLowerCase();\n\n return dataStr.indexOf(filter) !== -1;\n };\n }\n }\n\n isAllSelected() {\n if (this.selection) {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n return false;\n }\n\n toggleAllRows() {\n if (this.selection) {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.getSelectedValues();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach((row) => this.selection?.select(row));\n this.getSelectedValues();\n }\n }\n }\n\n checkboxLabel(row?: any): string {\n if (this.selection) {\n if (!row) {\n return `${this.isAllSelected() ? \"deselect\" : \"select\"} all`;\n }\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${\n row.position + 1\n }`;\n }\n return '';\n }\n\n sortData(column: TableColumn): void {\n if (column.sort) {\n const sort: Sort = { active: column.key, direction: \"asc\" };\n\n if (\n this.currentSort &&\n this.currentSort.active === column.key &&\n this.currentSort.direction === \"asc\"\n ) {\n sort.direction = \"desc\";\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === \"\") {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === \"asc\";\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === \"string\" && typeof b === \"string\") {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n emitRowClick(row: string, action: string) {\n const rowData: RowClickEvent = { row, action };\n this.rowClick.emit(rowData);\n }\n\n toggleSelection(row: any) {\n if (this.selection) {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n } else {\n this.selection.select(row);\n }\n this.getSelectedValues();\n }\n }\n\n getSelectedValues() {\n if (this.selection) {\n const selectedRows = this.selection.selected.map((row) => {\n return { row };\n });\n this.selectedRows.emit(selectedRows);\n console.log(selectedRows);\n }\n }\n\n generateColumns() {\n const columns: TableColumn[] = [\n { key: \"name\", label: \"\", sort: false },\n { key: \"general\", label: \"% Geral\", sort: true },\n ];\n this.groupReport.forEach((reportItem) => {\n reportItem.dimensions.forEach((dimension) => {\n const dimensionKey = dimension.dimensionName.toLowerCase();\n const dimensionLabel = dimension.dimensionName;\n if (!this.columnExists(columns, dimensionKey)) {\n columns.push({\n key: dimensionKey,\n label: dimensionLabel,\n sort: dimension.sort || false,\n });\n }\n });\n\n reportItem.indicators.forEach((indicator) => {\n const indicatorKey = indicator.name.toLowerCase();\n const indicatorLabel = indicator.name;\n if (!this.columnExists(columns, indicatorKey)) {\n columns.push({\n key: indicatorKey,\n label: indicatorLabel,\n sort: indicator.sort || false,\n });\n }\n });\n });\n\n this.columns = columns;\n }\n\n columnExists(columns: TableColumn[], key: string): boolean {\n return columns.some((column) => column.key === key);\n }\n\n generateGroupData() {\n const result: { [key: string]: any }[] = [];\n\n this.groupReport.forEach((item) => {\n const dataItem: { [key: string]: any } = {\n name: item.candidate.name,\n cpf: item.candidate.cpf,\n general: item.candidate.general,\n };\n\n item.dimensions.forEach((dimension) => {\n dataItem[dimension.dimensionName.toLowerCase()] = {\n value: dimension.escoreT,\n direction: dimension.direction,\n classificationId: dimension.classificationId,\n };\n });\n\n item.indicators.forEach((indicator) => {\n dataItem[indicator.name.toLowerCase()] = {\n value: indicator.interval,\n direction: indicator.direction,\n classificationId: indicator.classificationId,\n };\n });\n\n result.push(dataItem);\n });\n\n this.data = result;\n console.log(this.data);\n }\n\n isBoolean(column: TableColumn, row: any): boolean {\n return typeof row[column.key] === \"boolean\";\n }\n\n isMaskedData(column: TableColumn, row: any): boolean {\n const formats = [moment.ISO_8601, \"MM/DD/YYYY :) HH*mm*ss\"];\n const isDate = moment(row[column.key], formats, true).isValid();\n return (column.mask && isDate) || false;\n }\n\n getValueAsDate(column: TableColumn, row: any): Date {\n return new Date(row[column.key]);\n }\n\n getCellClass(column: TableColumn, row: any): string {\n if (!this.isGroupReport || column.key === 'name' || column.key === 'cpf' || column.key === 'general') {\n return '';\n }\n try {\n const classification = row[column.key]?.classificationId;\n return `classification classification-${ classification }`;\n } catch {\n return '';\n }\n }\n\n getRowClass(): { [key: string]: boolean } {\n return {\n \"row-hover\": !this.isGroupReport,\n };\n }\n\n getValue(row: { value: string; }): string {\n try {\n return row.value + '%';\n } catch {\n return '-';\n }\n }\n\n changePage(event?: PageEvent): void {\n this.onChangePage.emit(event);\n }\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n}\n","<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"mapa-table__column\" (click)=\"emitRowClick(row, '')\">\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div\n class=\"table__column\"\n [ngClass]=\"{ 'center-cell': isGroupReport && column.key !== 'name' }\"\n >\n <div *ngIf=\"!isGroupReport\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container\n *ngIf=\"isMaskedData(column, row); else statusContent\"\n >\n {{ getValueAsDate(column, row) | date: column.mask }}\n </ng-container>\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.statusLabel; else commonContent\">\n <ng-container\n *ngIf=\"isBoolean(column, row); else commonStatus\"\n >\n {{ column.statusLabel[row[column.key] ? 1 : 0] }}\n </ng-container>\n <ng-template #commonStatus\n >{{ column.statusLabel[row[column.key] - 1]\n }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n >{{ row[column.key] }}</ng-template\n >\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions'\"\n >\n <mat-icon (click)=\"emitRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"emitRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu [items]=\"menuItems\"></mapa-menu>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por página\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n const rangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) { return `0 de ${length}`; }\n \n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n}\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n customPaginatorIntl.getRangeLabel = rangeLabel;\n\n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaMenuComponent } from './menu.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\n\n\n\n@NgModule({\n declarations: [\n MapaMenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule, \n MapaButtonModule,\n MatIconModule\n ],\n exports: [\n MapaMenuComponent,\n ]\n})\nexport class MapaMenuModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../menu/src/menu.component';\nexport * from '../menu/src/menu.module';","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport {\n MatPaginatorIntl,\n MatPaginatorModule,\n} from \"@angular/material/paginator\";\n\nimport { MapaTableComponent } from \"./table.component\";\nimport { CustomPaginator } from \"./paginator_customization\";\nimport { PaginatorLegacyDirective } from \"../../../core/directives/custom-paginator-legacy.directive\";\nimport { MapaMenuModule } from \"../../menu/public-api\";\nimport { MatMenuModule } from \"@angular/material/menu\";\n\n@NgModule({\n declarations: [MapaTableComponent],\n imports: [\n CommonModule,\n MapaMenuModule,\n MatCheckboxModule,\n MatIconModule,\n MatMenuModule,\n MatPaginatorModule,\n MatTableModule,\n MatSortModule,\n PaginatorLegacyDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [MapaTableComponent],\n providers: [{ provide: MatPaginatorIntl, useValue: CustomPaginator() }],\n})\nexport class MapaTableModule {}\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/*\n * Public API Surface of mapa-library-ui table\n */\nexport * from './lib/core/directives/custom-paginator-legacy.directive';\nexport * from './lib/components/table/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './table';\n"],"names":["i1","i2.MapaMenuComponent","i3","i4","i5","i8.PaginatorLegacyDirective"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|