ngx-sp-infra 1.8.77-test → 1.8.78-test
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.
|
@@ -99,11 +99,11 @@ export class TableComponent {
|
|
|
99
99
|
return path.reduce((value, property) => value ? value[property] : "", obj);
|
|
100
100
|
}
|
|
101
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"], paginationPlacement: ["placement", "paginationPlacement"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}\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: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"], paginationPlacement: ["placement", "paginationPlacement"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n 'justify-content-between': paginationPlacement == 'between'\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}table{border-color:#c4c4c4}table thead{height:50px;font-size:1rem;background-color:#e9ecef}table tbody{font-size:.875rem}table tbody>tr{height:50px}table tbody>tr:hover{background-color:#cce5ff}table.table>tbody{border-top:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
|
|
103
103
|
}
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
|
-
args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}\n"] }]
|
|
106
|
+
args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n 'justify-content-between': paginationPlacement == 'between'\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}table{border-color:#c4c4c4}table thead{height:50px;font-size:1rem;background-color:#e9ecef}table tbody{font-size:.875rem}table tbody>tr{height:50px}table tbody>tr:hover{background-color:#cce5ff}table.table>tbody{border-top:none}\n"] }]
|
|
107
107
|
}], ctorParameters: () => [], propDecorators: { recordsList: [{
|
|
108
108
|
type: Input,
|
|
109
109
|
args: [{ alias: 'list', required: true }]
|
|
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
117
117
|
type: Input,
|
|
118
118
|
args: ['placement']
|
|
119
119
|
}] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbkYsTUFBTSxPQUFPLGNBQWM7SUF3QnpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsK0NBQStDO0lBRS9DLHNCQUFzQjtJQUN0QixRQUFRO0lBQ1IseUJBQXlCO0lBRXpCLHVCQUF1QjtJQUN2QixRQUFRO0lBQ1IsMEJBQTBCO0lBRTFCLGtEQUFrRDtJQUdsRCxpREFBaUQ7SUFDakQ7UUF4QjJCLHdCQUFtQixHQUErQixLQUFLLENBQUM7UUFFNUUsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNyQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBbUR4QiwrQ0FBK0M7UUFFOUM7VUFDRTtRQUVGLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUE4QixFQUFFLENBQUM7UUFFOUMsK0NBQStDO1FBQy9DLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztJQXZDZixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtJQUVsQyxDQUFDO0lBQ0Qsb0RBQW9EO0lBR3BELHdDQUF3QztJQUV4QztrRkFDMkU7SUFDckUsY0FBYyxDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1B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QUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsMkRBQTJEO0lBQ25ELFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBdUI7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQWpKVSxjQUFjO21HQUFkLGNBQWMsc1FDUDNCLHVpSkF1RUM7OzRGRGhFWSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7d0RBYTRCLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1ksV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPUSxZQUFZO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVmLG1CQUFtQjtzQkFBN0MsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgcmVjb3Jkc0xpc3Q6IGFueVtdO1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnaGVhZGVycycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJzTGlzdDoge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgY29sOiAnY29sJ3wnY29sLTEnfCdjb2wtMid8J2NvbC0zJ3wnY29sLTQnfCdjb2wtNSd8J2NvbC02J3wnY29sLTcnfCdjb2wtOCd8J2NvbC05J3wnY29sLTEwJ3wnY29sLTExJ3wnY29sLTEyJyxcclxuICAgIGhhc09yZGVyQnk/OiBib29sZWFuLFxyXG4gICAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZ1xyXG4gIH1bXTtcclxuICBcclxuICBASW5wdXQoeyBhbGlhczogJ2NvdW50cycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBjb3VudE9wdGlvbnM6IG51bWJlcltdO1xyXG4gIFxyXG4gIEBJbnB1dCgncGxhY2VtZW50JykgcHVibGljIHBhZ2luYXRpb25QbGFjZW1lbnQ6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnID0gJ2VuZCc7XHJcbiAgXHJcbiAgcHVibGljIGNvdW50ZXI6IG51bWJlciA9IDA7XHJcblx0cHVibGljIHBhZ2U6IG51bWJlciA9IDE7XHJcblx0cHVibGljIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gIC8vICNlbmRyZWdpb24gUFVCTElDXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBGT1JNIEZJRUxEU1xyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBGT1JNIEZJRUxEU1xyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gQlVJTERFUlxyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBGT1JNIEJVSUxERVJcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gSU5JVElBTElaQVRJT04gPD09PT09PT09PT1cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbXNQZXJQYWdlID0gdGhpcy5jb3VudE9wdGlvbnNbMF07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBcclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBVVElMUyA8PT09PT09PT09PVxyXG4gIFxyXG4gIC8qKiBNb2RpZmljYSBhIHF1YW50aWRhZGUgZGUgaXRlbnMgYSBzZXIgbW9zdHJhZGEgbmEgbGlzdGEuXHJcblx0ICogQHBhcmFtIGV2ZW50IHBhcsOibWV0cm8gZGUgZXZlbnRvIHF1ZSBpcsOhIHNlbGVjaW9uYXIgYSBub3ZhIHF1YW50aWRhZGUuICovXHJcblx0cHVibGljIG9uU2VsZWN0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuXHRcdHRoaXMuaXRlbXNQZXJQYWdlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlLCAxMCk7XHJcblx0XHR0aGlzLnBhZ2UgPSAxO1xyXG5cdH1cclxuXHJcblx0LyoqIFJlc2V0YSBhIHBhZ2luYcOnw6NvIGRhIGxpc3RhZ2VtLiAqL1xyXG5cdHB1YmxpYyByZXNldFBhZ2luYXRpb24obGlzdDogYW55W10pOiB2b2lkIHtcclxuXHRcdC8vIEPDoWxjdWxvIHBhcmEgZW5jb250cmFyIG8gdmFsb3IgaW5pY2lhbCBkbyBpbmRleCBkYSBww6FnaW5hIGF0dWFsXHJcblx0XHRjb25zdCBzdGFydEluZGV4ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XHJcblxyXG5cdFx0Ly8gQ29uZGnDp8OjbyBwYXJhIHJlc2V0YXIgbyB2YWxvciBkYSBwYWdpbmHDp8Ojb1xyXG5cdFx0aWYgKGxpc3QubGVuZ3RoIDw9IHN0YXJ0SW5kZXgpIHsgdGhpcy5wYWdlID0gMTsgfVxyXG5cdH1cclxuXHJcblx0Ly8jcmVnaW9uIE9yZGVyaW5nLCBTb3J0aW5nIG91IGFwZW5hcyBPcmRlbmHDp8Ojb1xyXG5cclxuICAvKiogTcOpdG9kbyBxdWUgZmF6IGEgb3JkZW5hw6fDo28gZG9zIGNvbnRyYXRvcyBuYSB0ZWxhIGRlIGxpc3RhZ2VtLCBlbSBjYWRhIHVtYSBkYXMgY8OpbHVsYXMgZG8gY2FiZcOnYWxobyBkYSB0YWJlbGEsIG9uZGUgY2FkYSB1bSBkb3MgZWxlbWVudG9zIDx0aD4gcmVwcmVzZW50YSB1bWEgY29sdW5hLCBkZSBhY29yZG8gY29tIGEgbGlzdGEgZGUgY29udHJhdG9zIHF1ZSByZXRvcm5hIGRvIGJhY2tlbmQuXHJcbiAgKi9cclxuXHJcbiAgLy8gT2JqZXRvIHBhcmEgYXJtYXplbmFyIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGRlIGNhZGEgY29sdW5hXHJcbiAgc29ydERpcmVjdGlvbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAvLyBDb2x1bmEgYXR1YWxtZW50ZSBzZWxlY2lvbmFkYSBwYXJhIG9yZGVuYcOnw6NvXHJcbiAgY3VycmVudFNvcnRDb2x1bW46IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIC8vIEZ1bsOnw6NvIGNoYW1hZGEgcXVhbmRvIG9jb3JyZSB1bWEgbXVkYW7Dp2EgbmEgb3JkZW5hw6fDo29cclxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IHsgZGlyZWN0aW9uOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBjb2x1bW4gfSA9IGV2ZW50O1xyXG5cclxuICAgIC8vIFZlcmlmaWNhIHNlIGEgY29sdW5hIGF0dWFsbWVudGUgc2VsZWNpb25hZGEgw6kgYSBtZXNtYSBkYSBub3ZhIHNlbGXDp8Ojb1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFNvcnRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICAvLyBBbHRlcm5hIGVudHJlIFwiYXNjXCIgZSBcImRlc2NcIiBwYXJhIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGRhIGNvbHVuYVxyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb25bY29sdW1uXSA9IHRoaXMuc29ydERpcmVjdGlvbltjb2x1bW5dID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gRGVmaW5lIGEgbm92YSBjb2x1bmEgZSBhIGRpcmXDp8OjbyBkZSBvcmRlbmHDp8OjbyBjb21vIFwiYXNjXCJcclxuICAgICAgdGhpcy5jdXJyZW50U29ydENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0geyBbY29sdW1uXTogXCJkZXNjXCIgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZWFsaXphIGEgb3JkZW5hw6fDo28gZG9zIGRhZG9zIGRhIHRhYmVsYVxyXG4gICAgdGhpcy5zb3J0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gRnVuw6fDo28gZGUgb3JkZW5hw6fDo28gZG9zIGRhZG9zIGRhIHRhYmVsYVxyXG4gIHByaXZhdGUgc29ydERhdGEoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMucmVjb3Jkc0xpc3QpIHtcclxuICAgICAgY29uc3QgY29udHJhdG9zTGlzdCA9IHRoaXMucmVjb3Jkc0xpc3Q7XHJcblxyXG4gICAgICBjb250cmF0b3NMaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jdXJyZW50U29ydENvbHVtbjtcclxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb25bYXR0cmlidXRlXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVByb3BlcnRpZXMoYSwgYiwgYXR0cmlidXRlLCBkaXJlY3Rpb24pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLy8gQ29tcGFyYSBvcyB2YWxvcmVzIGRhcyBwcm9wcmllZGFkZXMgZW50cmUgZG9pcyBvYmpldG9zXHJcbiAgcHJpdmF0ZSBjb21wYXJlUHJvcGVydGllcyhhOiBhbnksIGI6IGFueSwgYXR0cmlidXRlOiBzdHJpbmcsIGRpcmVjdGlvbjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHByb3BlcnR5QSA9IHRoaXMuZ2V0UHJvcGVydHkoYSwgYXR0cmlidXRlKTtcclxuICAgIGNvbnN0IHByb3BlcnR5QiA9IHRoaXMuZ2V0UHJvcGVydHkoYiwgYXR0cmlidXRlKTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHByb3BlcnR5QSA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgcHJvcGVydHlCID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyBwcm9wZXJ0eUEubG9jYWxlQ29tcGFyZShwcm9wZXJ0eUIpIDogcHJvcGVydHlCLmxvY2FsZUNvbXBhcmUocHJvcGVydHlBKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvcGVydHlBIDwgcHJvcGVydHlCKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcGVydHlBID4gcHJvcGVydHlCKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAxIDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvLyBPYnTDqW0gbyB2YWxvciBkZSB1bWEgcHJvcHJpZWRhZGUgZXNwZWPDrWZpY2EgZGUgdW0gb2JqZXRvXHJcbiAgcHJpdmF0ZSBnZXRQcm9wZXJ0eShvYmo6IGFueSwgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiBwYXRoID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHBhdGggPSBwYXRoLnNwbGl0KFwiLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGF0aC5yZWR1Y2UoKHZhbHVlLCBwcm9wZXJ0eSkgPT4gdmFsdWUgPyB2YWx1ZVtwcm9wZXJ0eV0gOiBcIlwiLCBvYmopO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uIE9yZGVyaW5nLCBTb3J0aW5nIG91IGFwZW5hcyBPcmRlbmHDp8Ojb1xyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcblxyXG59XHJcbiIsIkBpZiAocmVjb3Jkc0xpc3QpIHtcclxuICAgPGRpdiBjbGFzcz1cInRhYmxlLWxpc3Qgdy0xMDAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcy0xXCI+IEV4aWJpbmRvIHt7IGl0ZW1zUGVyUGFnZSB9fSBkZSB7eyByZWNvcmRzTGlzdC5sZW5ndGggfX0gcmVnaXN0cm9zIDwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWxpc3Qgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlci1ib3R0b20tMCByb3VuZGVkLWJvdHRvbSByb3VuZGVkXCI+XHJcbiAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyIGJvcmRlciBtYi0wXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRlciBvZiBoZWFkZXJzTGlzdFwiIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJ0ZXh0LWRhcmstZ3JleSB7eyBoZWFkZXIuY29sIH19IHt7IGhlYWRlci5jdXN0b21DbGFzc2VzIH19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWRlci5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcblxyXG4gICAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJiZy1saWdodCBmYWRlLWluLXJvd1wiPlxyXG4gICAgICAgICAgICAgICBAaWYgKHJlY29yZHNMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lubmVyUm93c11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICA8dHI+IDx0ZCBjb2xzcGFuPVwiMTJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPjxzcGFuIGNsYXNzPVwiZnctbGlnaHQgZnN0LWl0YWxpYyB0ZXh0LWNlbnRlclwiPiBDb25zdWx0YSBuw6NvIHJldG9ybm91IHJlZ2lzdHJvcy4uLiA8L3NwYW4+PC90ZD4gPC90cj5cclxuICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgPCEtLSAjcmVnaW9uIElNUExFTUVOVEHDh8ODTyBQUsOJVklBIC0tPlxyXG4gICAgICAgICAgICAgICA8IS0tIEBmb3IgKGl0ZW0gb2YgcmVjb3Jkc0xpc3QgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IGl0ZW1zUGVyUGFnZSwgY3VycmVudFBhZ2U6IHBhZ2UgfTsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi1ub25lIGZ3LWJvbGRcIiB0b29sdGlwPVwiRWRpdGFyL1Zpc3VhbGl6YXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9wYWluZWwtcGVzc29hcy9lZGl0YXInLCBpdGVtLklEX1BFU1NPQV1cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+e3sgaXRlbS5UWF9OT01FUEVTU09BIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj48Yj5OYXR1cmFsaWRhZGU6PC9iPiB7eyBpdGVtLklTX0VTVFJBTkdFSVJPID8gJ0VzdHJhbmdlaXJhJyA6ICdCcmFzaWxlaXJhJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uVFhfRE9DVU1FTlRPIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBpdGVtLlRJUE9QRVNTT0FfQ0QgPT0gXCJGSVNcIiA/IChpdGVtLkRUX05BU0NJTUVOVE8gfCBkYXRlOiAnZGQvTU0veXl5eScpIDogKGl0ZW0uRFRfRlVOREFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eScpIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTBcIj48Yj5DcmlhZG8gZW06IDwvYj4ge3sgaXRlbS5EVF9DUklBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXksIEhIOm1tOnNzJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJteS0wXCI+PGI+w5psdGltYSBhbHRlcmHDp8OjbyBlbTogPC9iPiB7eyAoaXRlbS5EVF9VTFRJTUFBTFRFUkFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eScpID09IFwiMDEvMDEvMTkwMFwiID8gXCJOZW5odW1hIGFsdGVyYcOnw6NvIHJlY2VudGVcIiA6IGl0ZW0uRFRfVUxUSU1BQUxURVJBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXksIEhIOm1tOnNzJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItaWNvbiBpY29uTmFtZT1cImVkaXRhclwiIGljb25Db2xvcj1cImJsdWVcIiB0b29sdGlwPVwiVmlzdWFsaXphci9FZGl0YXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBtcy0yXCI+IDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiByb2xlPVwic3dpdGNoXCIgW2NoZWNrZWRdPVwiaXRlbS5JU19BQ1RJVkVcIj4gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIEBlbXB0eSB7IDx0cj4gPHRkIGNvbHNwYW49XCIxMlwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+PHNwYW4gY2xhc3M9XCJmdy1saWdodCBmc3QtaXRhbGljIHRleHQtY2VudGVyXCI+IENvbnN1bHRhIG7Do28gcmV0b3Jub3UgcmVnaXN0cm9zLi4uIDwvc3Bhbj48L3RkPiA8L3RyPiB9IC0tPlxyXG4gICAgICAgICAgICAgICA8IS0tICNlbmRyZWdpb24gSU1QTEVNRU5UQcOHw4NPIFBSw4lWSUEgLS0+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgICA8IS0tICNyZWdpb24gUEFHSU5BVElPTiAtLT5cclxuICAgICAgICAgPGRpdiAqbmdJZj1cInJlY29yZHNMaXN0Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImQtZmxleCBtdC0yXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LXN0YXJ0JzogcGFnaW5hdGlvblBsYWNlbWVudCA9PSAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWNlbnRlcic6IHBhZ2luYXRpb25QbGFjZW1lbnQgPT0gJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtZW5kJzogcGFnaW5hdGlvblBsYWNlbWVudCA9PSAnZW5kJyxcclxuICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtZS0yXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPiBJdGVucyBwb3IgcMOhZ2luYSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3Qgc2VsZWN0LXNlYXJjaFwiIChjaGFuZ2UpPVwib25TZWxlY3RDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudCBvZiBjb3VudE9wdGlvbnM7IGxldCBpID0gaW5kZXhcIiBbdmFsdWVdPVwiY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiY291bnRPcHRpb25zLmxlbmd0aCA+IDAgJiYgaSA9PSAwXCI+e3sgY291bnQgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPHBhZ2luYXRpb24tY29udHJvbHMgY2xhc3M9XCJzcC1wYWdpbmF0aW9uIG10LTNcIiAocGFnZUNoYW5nZSk9XCJwYWdlID0gJGV2ZW50XCIgcHJldmlvdXNMYWJlbD1cIsKrJm5ic3A7Jm5ic3A7Jm5ic3A7XCIgbmV4dExhYmVsPVwiJm5ic3A7Jm5ic3A7Jm5ic3A7wrtcIiBbbWF4U2l6ZV09XCI1XCI+PC9wYWdpbmF0aW9uLWNvbnRyb2xzPlxyXG4gICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIFBBR0lOQVRJT04gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxufSBAZWxzZSB7XHJcbiAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1ib3JkZXJcIiByb2xlPVwic3RhdHVzXCI+IDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+Q2FycmVnYW5kbyBpbmZvcm1hw6fDtWVzLi4uPC9zcGFuPiA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbn0iXX0=
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbkYsTUFBTSxPQUFPLGNBQWM7SUF3QnpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsK0NBQStDO0lBRS9DLHNCQUFzQjtJQUN0QixRQUFRO0lBQ1IseUJBQXlCO0lBRXpCLHVCQUF1QjtJQUN2QixRQUFRO0lBQ1IsMEJBQTBCO0lBRTFCLGtEQUFrRDtJQUdsRCxpREFBaUQ7SUFDakQ7UUF4QjJCLHdCQUFtQixHQUEyQyxLQUFLLENBQUM7UUFFeEYsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNyQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBbUR4QiwrQ0FBK0M7UUFFOUM7VUFDRTtRQUVGLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUE4QixFQUFFLENBQUM7UUFFOUMsK0NBQStDO1FBQy9DLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztJQXZDZixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtJQUVsQyxDQUFDO0lBQ0Qsb0RBQW9EO0lBR3BELHdDQUF3QztJQUV4QztrRkFDMkU7SUFDckUsY0FBYyxDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1B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QUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsMkRBQTJEO0lBQ25ELFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBdUI7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQWpKVSxjQUFjO21HQUFkLGNBQWMsc1FDUDNCLHFuSkF3RUM7OzRGRGpFWSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7d0RBYTRCLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1ksV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPUSxZQUFZO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVmLG1CQUFtQjtzQkFBN0MsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgcmVjb3Jkc0xpc3Q6IGFueVtdO1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnaGVhZGVycycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJzTGlzdDoge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgY29sOiAnY29sJ3wnY29sLTEnfCdjb2wtMid8J2NvbC0zJ3wnY29sLTQnfCdjb2wtNSd8J2NvbC02J3wnY29sLTcnfCdjb2wtOCd8J2NvbC05J3wnY29sLTEwJ3wnY29sLTExJ3wnY29sLTEyJyxcclxuICAgIGhhc09yZGVyQnk/OiBib29sZWFuLFxyXG4gICAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZ1xyXG4gIH1bXTtcclxuICBcclxuICBASW5wdXQoeyBhbGlhczogJ2NvdW50cycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBjb3VudE9wdGlvbnM6IG51bWJlcltdO1xyXG5cclxuICBASW5wdXQoJ3BsYWNlbWVudCcpIHB1YmxpYyBwYWdpbmF0aW9uUGxhY2VtZW50OiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyB8ICdiZXR3ZWVuJyA9ICdlbmQnO1xyXG5cclxuICBwdWJsaWMgY291bnRlcjogbnVtYmVyID0gMDtcclxuXHRwdWJsaWMgcGFnZTogbnVtYmVyID0gMTtcclxuXHRwdWJsaWMgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgLy8gI2VuZHJlZ2lvbiBQVUJMSUNcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gRklFTERTXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gRklFTERTXHJcblxyXG4gIC8vICNyZWdpb24gRk9STSBCVUlMREVSXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gQlVJTERFUlxyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSB0aGlzLmNvdW50T3B0aW9uc1swXTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIFxyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcbiAgXHJcbiAgLyoqIE1vZGlmaWNhIGEgcXVhbnRpZGFkZSBkZSBpdGVucyBhIHNlciBtb3N0cmFkYSBuYSBsaXN0YS5cclxuXHQgKiBAcGFyYW0gZXZlbnQgcGFyw6JtZXRybyBkZSBldmVudG8gcXVlIGlyw6Egc2VsZWNpb25hciBhIG5vdmEgcXVhbnRpZGFkZS4gKi9cclxuXHRwdWJsaWMgb25TZWxlY3RDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cdFx0dGhpcy5pdGVtc1BlclBhZ2UgPSBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUsIDEwKTtcclxuXHRcdHRoaXMucGFnZSA9IDE7XHJcblx0fVxyXG5cclxuXHQvKiogUmVzZXRhIGEgcGFnaW5hw6fDo28gZGEgbGlzdGFnZW0uICovXHJcblx0cHVibGljIHJlc2V0UGFnaW5hdGlvbihsaXN0OiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0Ly8gQ8OhbGN1bG8gcGFyYSBlbmNvbnRyYXIgbyB2YWxvciBpbmljaWFsIGRvIGluZGV4IGRhIHDDoWdpbmEgYXR1YWxcclxuXHRcdGNvbnN0IHN0YXJ0SW5kZXggPSAodGhpcy5wYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZTtcclxuXHJcblx0XHQvLyBDb25kacOnw6NvIHBhcmEgcmVzZXRhciBvIHZhbG9yIGRhIHBhZ2luYcOnw6NvXHJcblx0XHRpZiAobGlzdC5sZW5ndGggPD0gc3RhcnRJbmRleCkgeyB0aGlzLnBhZ2UgPSAxOyB9XHJcblx0fVxyXG5cclxuXHQvLyNyZWdpb24gT3JkZXJpbmcsIFNvcnRpbmcgb3UgYXBlbmFzIE9yZGVuYcOnw6NvXHJcblxyXG4gIC8qKiBNw6l0b2RvIHF1ZSBmYXogYSBvcmRlbmHDp8OjbyBkb3MgY29udHJhdG9zIG5hIHRlbGEgZGUgbGlzdGFnZW0sIGVtIGNhZGEgdW1hIGRhcyBjw6lsdWxhcyBkbyBjYWJlw6dhbGhvIGRhIHRhYmVsYSwgb25kZSBjYWRhIHVtIGRvcyBlbGVtZW50b3MgPHRoPiByZXByZXNlbnRhIHVtYSBjb2x1bmEsIGRlIGFjb3JkbyBjb20gYSBsaXN0YSBkZSBjb250cmF0b3MgcXVlIHJldG9ybmEgZG8gYmFja2VuZC5cclxuICAqL1xyXG5cclxuICAvLyBPYmpldG8gcGFyYSBhcm1hemVuYXIgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gZGUgY2FkYSBjb2x1bmFcclxuICBzb3J0RGlyZWN0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIC8vIENvbHVuYSBhdHVhbG1lbnRlIHNlbGVjaW9uYWRhIHBhcmEgb3JkZW5hw6fDo29cclxuICBjdXJyZW50U29ydENvbHVtbjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLy8gRnVuw6fDo28gY2hhbWFkYSBxdWFuZG8gb2NvcnJlIHVtYSBtdWRhbsOnYSBuYSBvcmRlbmHDp8Ojb1xyXG4gIG9uU29ydENoYW5nZShldmVudDogeyBkaXJlY3Rpb246IHN0cmluZywgY29sdW1uOiBzdHJpbmcgfSkge1xyXG4gICAgY29uc3QgeyBkaXJlY3Rpb24sIGNvbHVtbiB9ID0gZXZlbnQ7XHJcblxyXG4gICAgLy8gVmVyaWZpY2Egc2UgYSBjb2x1bmEgYXR1YWxtZW50ZSBzZWxlY2lvbmFkYSDDqSBhIG1lc21hIGRhIG5vdmEgc2VsZcOnw6NvXHJcbiAgICBpZiAodGhpcy5jdXJyZW50U29ydENvbHVtbiA9PT0gY29sdW1uKSB7XHJcbiAgICAgIC8vIEFsdGVybmEgZW50cmUgXCJhc2NcIiBlIFwiZGVzY1wiIHBhcmEgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gZGEgY29sdW5hXHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbltjb2x1bW5dID0gdGhpcy5zb3J0RGlyZWN0aW9uW2NvbHVtbl0gPT09IFwiYXNjXCIgPyBcImRlc2NcIiA6IFwiYXNjXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBEZWZpbmUgYSBub3ZhIGNvbHVuYSBlIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGNvbW8gXCJhc2NcIlxyXG4gICAgICB0aGlzLmN1cnJlbnRTb3J0Q29sdW1uID0gY29sdW1uO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB7IFtjb2x1bW5dOiBcImRlc2NcIiB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlYWxpemEgYSBvcmRlbmHDp8OjbyBkb3MgZGFkb3MgZGEgdGFiZWxhXHJcbiAgICB0aGlzLnNvcnREYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvLyBGdW7Dp8OjbyBkZSBvcmRlbmHDp8OjbyBkb3MgZGFkb3MgZGEgdGFiZWxhXHJcbiAgcHJpdmF0ZSBzb3J0RGF0YSgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5yZWNvcmRzTGlzdCkge1xyXG4gICAgICBjb25zdCBjb250cmF0b3NMaXN0ID0gdGhpcy5yZWNvcmRzTGlzdDtcclxuXHJcbiAgICAgIGNvbnRyYXRvc0xpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmN1cnJlbnRTb3J0Q29sdW1uO1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvblthdHRyaWJ1dGVdO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlUHJvcGVydGllcyhhLCBiLCBhdHRyaWJ1dGUsIGRpcmVjdGlvbik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICAvLyBDb21wYXJhIG9zIHZhbG9yZXMgZGFzIHByb3ByaWVkYWRlcyBlbnRyZSBkb2lzIG9iamV0b3NcclxuICBwcml2YXRlIGNvbXBhcmVQcm9wZXJ0aWVzKGE6IGFueSwgYjogYW55LCBhdHRyaWJ1dGU6IHN0cmluZywgZGlyZWN0aW9uOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgY29uc3QgcHJvcGVydHlBID0gdGhpcy5nZXRQcm9wZXJ0eShhLCBhdHRyaWJ1dGUpO1xyXG4gICAgY29uc3QgcHJvcGVydHlCID0gdGhpcy5nZXRQcm9wZXJ0eShiLCBhdHRyaWJ1dGUpO1xyXG5cclxuICAgIGlmICh0eXBlb2YgcHJvcGVydHlBID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBwcm9wZXJ0eUIgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IHByb3BlcnR5QS5sb2NhbGVDb21wYXJlKHByb3BlcnR5QikgOiBwcm9wZXJ0eUIubG9jYWxlQ29tcGFyZShwcm9wZXJ0eUEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9wZXJ0eUEgPCBwcm9wZXJ0eUIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IC0xIDogMTtcclxuICAgIH1cclxuICAgIGlmIChwcm9wZXJ0eUEgPiBwcm9wZXJ0eUIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IDEgOiAtMTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIC8vIE9idMOpbSBvIHZhbG9yIGRlIHVtYSBwcm9wcmllZGFkZSBlc3BlY8OtZmljYSBkZSB1bSBvYmpldG9cclxuICBwcml2YXRlIGdldFByb3BlcnR5KG9iajogYW55LCBwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIHBhdGggPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgcGF0aCA9IHBhdGguc3BsaXQoXCIuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwYXRoLnJlZHVjZSgodmFsdWUsIHByb3BlcnR5KSA9PiB2YWx1ZSA/IHZhbHVlW3Byb3BlcnR5XSA6IFwiXCIsIG9iaik7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb24gT3JkZXJpbmcsIFNvcnRpbmcgb3UgYXBlbmFzIE9yZGVuYcOnw6NvXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cclxuXHJcbn1cclxuIiwiQGlmIChyZWNvcmRzTGlzdCkge1xyXG4gICA8ZGl2IGNsYXNzPVwidGFibGUtbGlzdCB3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1zLTFcIj4gRXhpYmluZG8ge3sgaXRlbXNQZXJQYWdlIH19IGRlIHt7IHJlY29yZHNMaXN0Lmxlbmd0aCB9fSByZWdpc3Ryb3MgPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtbGlzdCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyLWJvdHRvbS0wIHJvdW5kZWQtYm90dG9tIHJvdW5kZWRcIj5cclxuICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG92ZXIgYm9yZGVyIG1iLTBcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNMaXN0XCIgc2NvcGU9XCJjb2xcIiBjbGFzcz1cInRleHQtZGFyay1ncmV5IHt7IGhlYWRlci5jb2wgfX0ge3sgaGVhZGVyLmN1c3RvbUNsYXNzZXMgfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAge3sgaGVhZGVyLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuXHJcbiAgICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImJnLWxpZ2h0IGZhZGUtaW4tcm93XCI+XHJcbiAgICAgICAgICAgICAgIEBpZiAocmVjb3Jkc0xpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaW5uZXJSb3dzXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIDx0cj4gPHRkIGNvbHNwYW49XCIxMlwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+PHNwYW4gY2xhc3M9XCJmdy1saWdodCBmc3QtaXRhbGljIHRleHQtY2VudGVyXCI+IENvbnN1bHRhIG7Do28gcmV0b3Jub3UgcmVnaXN0cm9zLi4uIDwvc3Bhbj48L3RkPiA8L3RyPlxyXG4gICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICA8IS0tICNyZWdpb24gSU1QTEVNRU5UQcOHw4NPIFBSw4lWSUEgLS0+XHJcbiAgICAgICAgICAgICAgIDwhLS0gQGZvciAoaXRlbSBvZiByZWNvcmRzTGlzdCB8IHBhZ2luYXRlOiB7IGl0ZW1zUGVyUGFnZTogaXRlbXNQZXJQYWdlLCBjdXJyZW50UGFnZTogcGFnZSB9OyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cImFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLW5vbmUgZnctYm9sZFwiIHRvb2x0aXA9XCJFZGl0YXIvVmlzdWFsaXphclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3BhaW5lbC1wZXNzb2FzL2VkaXRhcicsIGl0ZW0uSURfUEVTU09BXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj57eyBpdGVtLlRYX05PTUVQRVNTT0EgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPjxiPk5hdHVyYWxpZGFkZTo8L2I+IHt7IGl0ZW0uSVNfRVNUUkFOR0VJUk8gPyAnRXN0cmFuZ2VpcmEnIDogJ0JyYXNpbGVpcmEnIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS5UWF9ET0NVTUVOVE8gfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWVuZFwiPnt7IGl0ZW0uVElQT1BFU1NPQV9DRCA9PSBcIkZJU1wiID8gKGl0ZW0uRFRfTkFTQ0lNRU5UTyB8IGRhdGU6ICdkZC9NTS95eXl5JykgOiAoaXRlbS5EVF9GVU5EQUNBTyB8IGRhdGU6ICdkZC9NTS95eXl5JykgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibXktMFwiPjxiPkNyaWFkbyBlbTogPC9iPiB7eyBpdGVtLkRUX0NSSUFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eSwgSEg6bW06c3MnIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTBcIj48Yj7Dmmx0aW1hIGFsdGVyYcOnw6NvIGVtOiA8L2I+IHt7IChpdGVtLkRUX1VMVElNQUFMVEVSQUNBTyB8IGRhdGU6ICdkZC9NTS95eXl5JykgPT0gXCIwMS8wMS8xOTAwXCIgPyBcIk5lbmh1bWEgYWx0ZXJhw6fDo28gcmVjZW50ZVwiIDogaXRlbS5EVF9VTFRJTUFBTFRFUkFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eSwgSEg6bW06c3MnIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1pY29uIGljb25OYW1lPVwiZWRpdGFyXCIgaWNvbkNvbG9yPVwiYmx1ZVwiIHRvb2x0aXA9XCJWaXN1YWxpemFyL0VkaXRhclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIG1zLTJcIj4gPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBbY2hlY2tlZF09XCJpdGVtLklTX0FDVElWRVwiPiA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgQGVtcHR5IHsgPHRyPiA8dGQgY29sc3Bhbj1cIjEyXCIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj48c3BhbiBjbGFzcz1cImZ3LWxpZ2h0IGZzdC1pdGFsaWMgdGV4dC1jZW50ZXJcIj4gQ29uc3VsdGEgbsOjbyByZXRvcm5vdSByZWdpc3Ryb3MuLi4gPC9zcGFuPjwvdGQ+IDwvdHI+IH0gLS0+XHJcbiAgICAgICAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiBJTVBMRU1FTlRBw4fDg08gUFLDiVZJQSAtLT5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgICAgIDwhLS0gI3JlZ2lvbiBQQUdJTkFUSU9OIC0tPlxyXG4gICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjb3Jkc0xpc3QubGVuZ3RoID4gMFwiIGNsYXNzPVwiZC1mbGV4IG10LTJcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnOiBwYWdpbmF0aW9uUGxhY2VtZW50ID09ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogcGFnaW5hdGlvblBsYWNlbWVudCA9PSAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBwYWdpbmF0aW9uUGxhY2VtZW50ID09ICdlbmQnLFxyXG4gICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nOiBwYWdpbmF0aW9uUGxhY2VtZW50ID09ICdiZXR3ZWVuJ1xyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1lLTJcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+IEl0ZW5zIHBvciBww6FnaW5hIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBzZWxlY3Qtc2VhcmNoXCIgKGNoYW5nZSk9XCJvblNlbGVjdENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50IG9mIGNvdW50T3B0aW9uczsgbGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJjb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJjb3VudE9wdGlvbnMubGVuZ3RoID4gMCAmJiBpID09IDBcIj57eyBjb3VudCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8cGFnaW5hdGlvbi1jb250cm9scyBjbGFzcz1cInNwLXBhZ2luYXRpb24gbXQtM1wiIChwYWdlQ2hhbmdlKT1cInBhZ2UgPSAkZXZlbnRcIiBwcmV2aW91c0xhYmVsPVwiwqsmbmJzcDsmbmJzcDsmbmJzcDtcIiBuZXh0TGFiZWw9XCImbmJzcDsmbmJzcDsmbmJzcDvCu1wiIFttYXhTaXplXT1cIjVcIj48L3BhZ2luYXRpb24tY29udHJvbHM+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICA8IS0tICNlbmRyZWdpb24gUEFHSU5BVElPTiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiIHJvbGU9XCJzdGF0dXNcIj4gPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5DYXJyZWdhbmRvIGluZm9ybWHDp8O1ZXMuLi48L3NwYW4+IDwvZGl2PlxyXG4gICA8L2Rpdj5cclxufSJdfQ==
|
|
@@ -2208,11 +2208,11 @@ class TableComponent {
|
|
|
2208
2208
|
return path.reduce((value, property) => value ? value[property] : "", obj);
|
|
2209
2209
|
}
|
|
2210
2210
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2211
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"], paginationPlacement: ["placement", "paginationPlacement"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}\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: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
|
|
2211
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"], paginationPlacement: ["placement", "paginationPlacement"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n 'justify-content-between': paginationPlacement == 'between'\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}table{border-color:#c4c4c4}table thead{height:50px;font-size:1rem;background-color:#e9ecef}table tbody{font-size:.875rem}table tbody>tr{height:50px}table tbody>tr:hover{background-color:#cce5ff}table.table>tbody{border-top:none}\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: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
|
|
2212
2212
|
}
|
|
2213
2213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, decorators: [{
|
|
2214
2214
|
type: Component,
|
|
2215
|
-
args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}\n"] }]
|
|
2215
|
+
args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ itemsPerPage }} de {{ recordsList.length }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"text-dark-grey {{ header.col }} {{ header.customClasses }}\">\r\n {{ header.name }}\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content select=\"[innerRows]\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div *ngIf=\"recordsList.length > 0\" class=\"d-flex mt-2\"\r\n [ngClass]=\"{\r\n 'justify-content-start': paginationPlacement == 'start',\r\n 'justify-content-center': paginationPlacement == 'center',\r\n 'justify-content-end': paginationPlacement == 'end',\r\n 'justify-content-between': paginationPlacement == 'between'\r\n }\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB \" nextLabel=\" \u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".sp-pagination ::ng-deep .ngx-pagination .current{background:#3767b2;border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination a:hover,.sp-pagination ::ng-deep .ngx-pagination button:hover{border-radius:.375rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-previous a:before,.sp-pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"\";display:inline-block;margin-right:.5rem}.sp-pagination ::ng-deep .ngx-pagination .pagination-next a:after,.sp-pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"\";display:inline-block;margin-left:.5rem}.text-dark-grey{color:#63676b!important}table{border-color:#c4c4c4}table thead{height:50px;font-size:1rem;background-color:#e9ecef}table tbody{font-size:.875rem}table tbody>tr{height:50px}table tbody>tr:hover{background-color:#cce5ff}table.table>tbody{border-top:none}\n"] }]
|
|
2216
2216
|
}], ctorParameters: () => [], propDecorators: { recordsList: [{
|
|
2217
2217
|
type: Input,
|
|
2218
2218
|
args: [{ alias: 'list', required: true }]
|