ngx-sp-infra 1.8.76-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.
|
@@ -16,6 +16,7 @@ export class TableComponent {
|
|
|
16
16
|
// #endregion ==========> FORM BUILDER <==========
|
|
17
17
|
// #region ==========> INITIALIZATION <==========
|
|
18
18
|
constructor() {
|
|
19
|
+
this.paginationPlacement = 'end';
|
|
19
20
|
this.counter = 0;
|
|
20
21
|
this.page = 1;
|
|
21
22
|
//#region Ordering, Sorting ou apenas Ordenação
|
|
@@ -29,7 +30,8 @@ export class TableComponent {
|
|
|
29
30
|
ngOnInit() {
|
|
30
31
|
this.itemsPerPage = this.countOptions[0];
|
|
31
32
|
}
|
|
32
|
-
ngOnChanges(changes) {
|
|
33
|
+
ngOnChanges(changes) {
|
|
34
|
+
}
|
|
33
35
|
// #endregion ==========> INITIALIZATION <==========
|
|
34
36
|
// #region ==========> UTILS <==========
|
|
35
37
|
/** Modifica a quantidade de itens a ser mostrada na lista.
|
|
@@ -97,11 +99,11 @@ export class TableComponent {
|
|
|
97
99
|
return path.reduce((value, property) => value ? value[property] : "", obj);
|
|
98
100
|
}
|
|
99
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
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"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{
|
|
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"] }] }); }
|
|
101
103
|
}
|
|
102
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, decorators: [{
|
|
103
105
|
type: Component,
|
|
104
|
-
args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{
|
|
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"] }]
|
|
105
107
|
}], ctorParameters: () => [], propDecorators: { recordsList: [{
|
|
106
108
|
type: Input,
|
|
107
109
|
args: [{ alias: 'list', required: true }]
|
|
@@ -110,6 +112,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
110
112
|
args: [{ alias: 'headers', required: true }]
|
|
111
113
|
}], countOptions: [{
|
|
112
114
|
type: Input,
|
|
113
|
-
args: ['counts']
|
|
115
|
+
args: [{ alias: 'counts', required: true }]
|
|
116
|
+
}], paginationPlacement: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: ['placement']
|
|
114
119
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbkYsTUFBTSxPQUFPLGNBQWM7SUFzQnpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsK0NBQStDO0lBRS9DLHNCQUFzQjtJQUN0QixRQUFRO0lBQ1IseUJBQXlCO0lBRXpCLHVCQUF1QjtJQUN2QixRQUFRO0lBQ1IsMEJBQTBCO0lBRTFCLGtEQUFrRDtJQUdsRCxpREFBaUQ7SUFDakQ7UUF0Qk8sWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNyQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBaUR4QiwrQ0FBK0M7UUFFOUM7VUFDRTtRQUVGLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUE4QixFQUFFLENBQUM7UUFFOUMsK0NBQStDO1FBQy9DLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztJQXJDZixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQixJQUFXLENBQUM7SUFDOUMsb0RBQW9EO0lBR3BELHdDQUF3QztJQUV4QztrRkFDMkU7SUFDckUsY0FBYyxDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENB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T0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsMkRBQTJEO0lBQ25ELFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBdUI7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQTdJVSxjQUFjO21HQUFkLGNBQWMsMk1DUDNCLG16SUFpRUM7OzRGRDFEWSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7d0RBYTRCLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1ksV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPbkIsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgcmVjb3Jkc0xpc3Q6IGFueVtdO1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnaGVhZGVycycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJzTGlzdDoge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgY29sOiAnY29sJ3wnY29sLTEnfCdjb2wtMid8J2NvbC0zJ3wnY29sLTQnfCdjb2wtNSd8J2NvbC02J3wnY29sLTcnfCdjb2wtOCd8J2NvbC05J3wnY29sLTEwJ3wnY29sLTExJ3wnY29sLTEyJyxcclxuICAgIGhhc09yZGVyQnk/OiBib29sZWFuLFxyXG4gICAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZ1xyXG4gIH1bXTtcclxuICBcclxuICBASW5wdXQoJ2NvdW50cycpIHB1YmxpYyBjb3VudE9wdGlvbnM6IG51bWJlcltdO1xyXG5cclxuICBwdWJsaWMgY291bnRlcjogbnVtYmVyID0gMDtcclxuXHRwdWJsaWMgcGFnZTogbnVtYmVyID0gMTtcclxuXHRwdWJsaWMgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgLy8gI2VuZHJlZ2lvbiBQVUJMSUNcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gRklFTERTXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gRklFTERTXHJcblxyXG4gIC8vICNyZWdpb24gRk9STSBCVUlMREVSXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gQlVJTERFUlxyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSB0aGlzLmNvdW50T3B0aW9uc1swXTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHsgIH1cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcbiAgXHJcbiAgLyoqIE1vZGlmaWNhIGEgcXVhbnRpZGFkZSBkZSBpdGVucyBhIHNlciBtb3N0cmFkYSBuYSBsaXN0YS5cclxuXHQgKiBAcGFyYW0gZXZlbnQgcGFyw6JtZXRybyBkZSBldmVudG8gcXVlIGlyw6Egc2VsZWNpb25hciBhIG5vdmEgcXVhbnRpZGFkZS4gKi9cclxuXHRwdWJsaWMgb25TZWxlY3RDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cdFx0dGhpcy5pdGVtc1BlclBhZ2UgPSBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUsIDEwKTtcclxuXHRcdHRoaXMucGFnZSA9IDE7XHJcblx0fVxyXG5cclxuXHQvKiogUmVzZXRhIGEgcGFnaW5hw6fDo28gZGEgbGlzdGFnZW0uICovXHJcblx0cHVibGljIHJlc2V0UGFnaW5hdGlvbihsaXN0OiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0Ly8gQ8OhbGN1bG8gcGFyYSBlbmNvbnRyYXIgbyB2YWxvciBpbmljaWFsIGRvIGluZGV4IGRhIHDDoWdpbmEgYXR1YWxcclxuXHRcdGNvbnN0IHN0YXJ0SW5kZXggPSAodGhpcy5wYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZTtcclxuXHJcblx0XHQvLyBDb25kacOnw6NvIHBhcmEgcmVzZXRhciBvIHZhbG9yIGRhIHBhZ2luYcOnw6NvXHJcblx0XHRpZiAobGlzdC5sZW5ndGggPD0gc3RhcnRJbmRleCkgeyB0aGlzLnBhZ2UgPSAxOyB9XHJcblx0fVxyXG5cclxuXHQvLyNyZWdpb24gT3JkZXJpbmcsIFNvcnRpbmcgb3UgYXBlbmFzIE9yZGVuYcOnw6NvXHJcblxyXG4gIC8qKiBNw6l0b2RvIHF1ZSBmYXogYSBvcmRlbmHDp8OjbyBkb3MgY29udHJhdG9zIG5hIHRlbGEgZGUgbGlzdGFnZW0sIGVtIGNhZGEgdW1hIGRhcyBjw6lsdWxhcyBkbyBjYWJlw6dhbGhvIGRhIHRhYmVsYSwgb25kZSBjYWRhIHVtIGRvcyBlbGVtZW50b3MgPHRoPiByZXByZXNlbnRhIHVtYSBjb2x1bmEsIGRlIGFjb3JkbyBjb20gYSBsaXN0YSBkZSBjb250cmF0b3MgcXVlIHJldG9ybmEgZG8gYmFja2VuZC5cclxuICAqL1xyXG5cclxuICAvLyBPYmpldG8gcGFyYSBhcm1hemVuYXIgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gZGUgY2FkYSBjb2x1bmFcclxuICBzb3J0RGlyZWN0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIC8vIENvbHVuYSBhdHVhbG1lbnRlIHNlbGVjaW9uYWRhIHBhcmEgb3JkZW5hw6fDo29cclxuICBjdXJyZW50U29ydENvbHVtbjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLy8gRnVuw6fDo28gY2hhbWFkYSBxdWFuZG8gb2NvcnJlIHVtYSBtdWRhbsOnYSBuYSBvcmRlbmHDp8Ojb1xyXG4gIG9uU29ydENoYW5nZShldmVudDogeyBkaXJlY3Rpb246IHN0cmluZywgY29sdW1uOiBzdHJpbmcgfSkge1xyXG4gICAgY29uc3QgeyBkaXJlY3Rpb24sIGNvbHVtbiB9ID0gZXZlbnQ7XHJcblxyXG4gICAgLy8gVmVyaWZpY2Egc2UgYSBjb2x1bmEgYXR1YWxtZW50ZSBzZWxlY2lvbmFkYSDDqSBhIG1lc21hIGRhIG5vdmEgc2VsZcOnw6NvXHJcbiAgICBpZiAodGhpcy5jdXJyZW50U29ydENvbHVtbiA9PT0gY29sdW1uKSB7XHJcbiAgICAgIC8vIEFsdGVybmEgZW50cmUgXCJhc2NcIiBlIFwiZGVzY1wiIHBhcmEgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gZGEgY29sdW5hXHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbltjb2x1bW5dID0gdGhpcy5zb3J0RGlyZWN0aW9uW2NvbHVtbl0gPT09IFwiYXNjXCIgPyBcImRlc2NcIiA6IFwiYXNjXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBEZWZpbmUgYSBub3ZhIGNvbHVuYSBlIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGNvbW8gXCJhc2NcIlxyXG4gICAgICB0aGlzLmN1cnJlbnRTb3J0Q29sdW1uID0gY29sdW1uO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB7IFtjb2x1bW5dOiBcImRlc2NcIiB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlYWxpemEgYSBvcmRlbmHDp8OjbyBkb3MgZGFkb3MgZGEgdGFiZWxhXHJcbiAgICB0aGlzLnNvcnREYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvLyBGdW7Dp8OjbyBkZSBvcmRlbmHDp8OjbyBkb3MgZGFkb3MgZGEgdGFiZWxhXHJcbiAgcHJpdmF0ZSBzb3J0RGF0YSgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5yZWNvcmRzTGlzdCkge1xyXG4gICAgICBjb25zdCBjb250cmF0b3NMaXN0ID0gdGhpcy5yZWNvcmRzTGlzdDtcclxuXHJcbiAgICAgIGNvbnRyYXRvc0xpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmN1cnJlbnRTb3J0Q29sdW1uO1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvblthdHRyaWJ1dGVdO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlUHJvcGVydGllcyhhLCBiLCBhdHRyaWJ1dGUsIGRpcmVjdGlvbik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICAvLyBDb21wYXJhIG9zIHZhbG9yZXMgZGFzIHByb3ByaWVkYWRlcyBlbnRyZSBkb2lzIG9iamV0b3NcclxuICBwcml2YXRlIGNvbXBhcmVQcm9wZXJ0aWVzKGE6IGFueSwgYjogYW55LCBhdHRyaWJ1dGU6IHN0cmluZywgZGlyZWN0aW9uOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgY29uc3QgcHJvcGVydHlBID0gdGhpcy5nZXRQcm9wZXJ0eShhLCBhdHRyaWJ1dGUpO1xyXG4gICAgY29uc3QgcHJvcGVydHlCID0gdGhpcy5nZXRQcm9wZXJ0eShiLCBhdHRyaWJ1dGUpO1xyXG5cclxuICAgIGlmICh0eXBlb2YgcHJvcGVydHlBID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBwcm9wZXJ0eUIgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IHByb3BlcnR5QS5sb2NhbGVDb21wYXJlKHByb3BlcnR5QikgOiBwcm9wZXJ0eUIubG9jYWxlQ29tcGFyZShwcm9wZXJ0eUEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9wZXJ0eUEgPCBwcm9wZXJ0eUIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IC0xIDogMTtcclxuICAgIH1cclxuICAgIGlmIChwcm9wZXJ0eUEgPiBwcm9wZXJ0eUIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IDEgOiAtMTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIC8vIE9idMOpbSBvIHZhbG9yIGRlIHVtYSBwcm9wcmllZGFkZSBlc3BlY8OtZmljYSBkZSB1bSBvYmpldG9cclxuICBwcml2YXRlIGdldFByb3BlcnR5KG9iajogYW55LCBwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIHBhdGggPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgcGF0aCA9IHBhdGguc3BsaXQoXCIuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwYXRoLnJlZHVjZSgodmFsdWUsIHByb3BlcnR5KSA9PiB2YWx1ZSA/IHZhbHVlW3Byb3BlcnR5XSA6IFwiXCIsIG9iaik7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb24gT3JkZXJpbmcsIFNvcnRpbmcgb3UgYXBlbmFzIE9yZGVuYcOnw6NvXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cclxuXHJcbn1cclxuIiwiQGlmIChyZWNvcmRzTGlzdCkge1xyXG4gICA8ZGl2IGNsYXNzPVwidGFibGUtbGlzdCB3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1zLTFcIj4gRXhpYmluZG8ge3sgdGhpcy5jb3VudGVyIH19IHJlZ2lzdHJvcyA8L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1saXN0IG92ZXJmbG93LWhpZGRlbiBib3JkZXItYm90dG9tLTAgcm91bmRlZC1ib3R0b20gcm91bmRlZFwiPlxyXG4gICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ob3ZlciBib3JkZXIgbWItMFwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtZGFyay1ncmV5XCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNMaXN0XCIgc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdsYi10ZXh0LWRhcmstZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaGVhZGVyLmNvbC50b1N0cmluZygpXCIgW2NsYXNzXT1cImhlYWRlci5jdXN0b21DbGFzc2VzXCI+IHt7IGhlYWRlci5uYW1lIH19IDwvdGg+XHJcbiAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcblxyXG4gICAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJiZy1saWdodCBmYWRlLWluLXJvd1wiPlxyXG4gICAgICAgICAgICAgICBAaWYgKHJlY29yZHNMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgW3NlbGVjdF09XCJpbm5lclJvd3NcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICA8dHI+IDx0ZCBjb2xzcGFuPVwiMTJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPjxzcGFuIGNsYXNzPVwiZnctbGlnaHQgZnN0LWl0YWxpYyB0ZXh0LWNlbnRlclwiPiBDb25zdWx0YSBuw6NvIHJldG9ybm91IHJlZ2lzdHJvcy4uLiA8L3NwYW4+PC90ZD4gPC90cj5cclxuICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgPCEtLSAjcmVnaW9uIElNUExFTUVOVEHDh8ODTyBQUsOJVklBIC0tPlxyXG4gICAgICAgICAgICAgICA8IS0tIEBmb3IgKGl0ZW0gb2YgcmVjb3Jkc0xpc3QgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IGl0ZW1zUGVyUGFnZSwgY3VycmVudFBhZ2U6IHBhZ2UgfTsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi1ub25lIGZ3LWJvbGRcIiB0b29sdGlwPVwiRWRpdGFyL1Zpc3VhbGl6YXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9wYWluZWwtcGVzc29hcy9lZGl0YXInLCBpdGVtLklEX1BFU1NPQV1cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+e3sgaXRlbS5UWF9OT01FUEVTU09BIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj48Yj5OYXR1cmFsaWRhZGU6PC9iPiB7eyBpdGVtLklTX0VTVFJBTkdFSVJPID8gJ0VzdHJhbmdlaXJhJyA6ICdCcmFzaWxlaXJhJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uVFhfRE9DVU1FTlRPIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBpdGVtLlRJUE9QRVNTT0FfQ0QgPT0gXCJGSVNcIiA/IChpdGVtLkRUX05BU0NJTUVOVE8gfCBkYXRlOiAnZGQvTU0veXl5eScpIDogKGl0ZW0uRFRfRlVOREFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eScpIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTBcIj48Yj5DcmlhZG8gZW06IDwvYj4ge3sgaXRlbS5EVF9DUklBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXksIEhIOm1tOnNzJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJteS0wXCI+PGI+w5psdGltYSBhbHRlcmHDp8OjbyBlbTogPC9iPiB7eyAoaXRlbS5EVF9VTFRJTUFBTFRFUkFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eScpID09IFwiMDEvMDEvMTkwMFwiID8gXCJOZW5odW1hIGFsdGVyYcOnw6NvIHJlY2VudGVcIiA6IGl0ZW0uRFRfVUxUSU1BQUxURVJBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXksIEhIOm1tOnNzJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItaWNvbiBpY29uTmFtZT1cImVkaXRhclwiIGljb25Db2xvcj1cImJsdWVcIiB0b29sdGlwPVwiVmlzdWFsaXphci9FZGl0YXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBtcy0yXCI+IDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiByb2xlPVwic3dpdGNoXCIgW2NoZWNrZWRdPVwiaXRlbS5JU19BQ1RJVkVcIj4gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIEBlbXB0eSB7IDx0cj4gPHRkIGNvbHNwYW49XCIxMlwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+PHNwYW4gY2xhc3M9XCJmdy1saWdodCBmc3QtaXRhbGljIHRleHQtY2VudGVyXCI+IENvbnN1bHRhIG7Do28gcmV0b3Jub3UgcmVnaXN0cm9zLi4uIDwvc3Bhbj48L3RkPiA8L3RyPiB9IC0tPlxyXG4gICAgICAgICAgICAgICA8IS0tICNlbmRyZWdpb24gSU1QTEVNRU5UQcOHw4NPIFBSw4lWSUEgLS0+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgICA8IS0tICNyZWdpb24gUEFHSU5BVElPTiAtLT5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTJcIiAqbmdJZj1cInJlY29yZHNMaXN0Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWUtMlwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj4gSXRlbnMgcG9yIHDDoWdpbmEgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IHNlbGVjdC1zZWFyY2hcIiAoY2hhbmdlKT1cIm9uU2VsZWN0Q2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnQgb2YgY291bnRPcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgW3ZhbHVlXT1cImNvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImNvdW50T3B0aW9ucy5sZW5ndGggPiAwICYmIGkgPT0gMFwiPnt7IGNvdW50IH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxwYWdpbmF0aW9uLWNvbnRyb2xzIGNsYXNzPVwic3AtcGFnaW5hdGlvbiBtdC0zXCIgKHBhZ2VDaGFuZ2UpPVwicGFnZSA9ICRldmVudFwiIHByZXZpb3VzTGFiZWw9XCLCqyZuYnNwOyZuYnNwOyZuYnNwO1wiIG5leHRMYWJlbD1cIiZuYnNwOyZuYnNwOyZuYnNwO8K7XCIgW21heFNpemVdPVwiNVwiPjwvcGFnaW5hdGlvbi1jb250cm9scz5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiBQQUdJTkFUSU9OIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbn0gQGVsc2Uge1xyXG4gICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCIgcm9sZT1cInN0YXR1c1wiPiA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPkNhcnJlZ2FuZG8gaW5mb3JtYcOnw7Vlcy4uLjwvc3Bhbj4gPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG59Il19
|
|
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==
|
|
@@ -2125,6 +2125,7 @@ class TableComponent {
|
|
|
2125
2125
|
// #endregion ==========> FORM BUILDER <==========
|
|
2126
2126
|
// #region ==========> INITIALIZATION <==========
|
|
2127
2127
|
constructor() {
|
|
2128
|
+
this.paginationPlacement = 'end';
|
|
2128
2129
|
this.counter = 0;
|
|
2129
2130
|
this.page = 1;
|
|
2130
2131
|
//#region Ordering, Sorting ou apenas Ordenação
|
|
@@ -2138,7 +2139,8 @@ class TableComponent {
|
|
|
2138
2139
|
ngOnInit() {
|
|
2139
2140
|
this.itemsPerPage = this.countOptions[0];
|
|
2140
2141
|
}
|
|
2141
|
-
ngOnChanges(changes) {
|
|
2142
|
+
ngOnChanges(changes) {
|
|
2143
|
+
}
|
|
2142
2144
|
// #endregion ==========> INITIALIZATION <==========
|
|
2143
2145
|
// #region ==========> UTILS <==========
|
|
2144
2146
|
/** Modifica a quantidade de itens a ser mostrada na lista.
|
|
@@ -2206,11 +2208,11 @@ class TableComponent {
|
|
|
2206
2208
|
return path.reduce((value, property) => value ? value[property] : "", obj);
|
|
2207
2209
|
}
|
|
2208
2210
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2209
|
-
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"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{
|
|
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"] }] }); }
|
|
2210
2212
|
}
|
|
2211
2213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, decorators: [{
|
|
2212
2214
|
type: Component,
|
|
2213
|
-
args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{
|
|
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"] }]
|
|
2214
2216
|
}], ctorParameters: () => [], propDecorators: { recordsList: [{
|
|
2215
2217
|
type: Input,
|
|
2216
2218
|
args: [{ alias: 'list', required: true }]
|
|
@@ -2219,7 +2221,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
2219
2221
|
args: [{ alias: 'headers', required: true }]
|
|
2220
2222
|
}], countOptions: [{
|
|
2221
2223
|
type: Input,
|
|
2222
|
-
args: ['counts']
|
|
2224
|
+
args: [{ alias: 'counts', required: true }]
|
|
2225
|
+
}], paginationPlacement: [{
|
|
2226
|
+
type: Input,
|
|
2227
|
+
args: ['placement']
|
|
2223
2228
|
}] } });
|
|
2224
2229
|
|
|
2225
2230
|
class InfraModule {
|