ngx-sp-infra 1.8.75-test → 1.8.77-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 }\">\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"] }] }); }
|
|
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 }\">\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"] }]
|
|
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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T0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsMkRBQTJEO0lBQ25ELFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBdUI7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQTdJVSxjQUFjO21HQUFkLGNBQWMsMk1DUDNCLGd6SUFpRUM7OzRGRDFEWSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7d0RBYTRCLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1ksV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPbkIsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgcmVjb3Jkc0xpc3Q6IGFueVtdO1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnaGVhZGVycycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJzTGlzdDoge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgY29sOiAnY29sJ3wnY29sLTEnfCdjb2wtMid8J2NvbC0zJ3wnY29sLTQnfCdjb2wtNSd8J2NvbC02J3wnY29sLTcnfCdjb2wtOCd8J2NvbC05J3wnY29sLTEwJ3wnY29sLTExJ3wnY29sLTEyJyxcclxuICAgIGhhc09yZGVyQnk/OiBib29sZWFuLFxyXG4gICAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyxcclxuICB9W107XHJcbiAgXHJcbiAgQElucHV0KCdjb3VudHMnKSBwdWJsaWMgY291bnRPcHRpb25zOiBudW1iZXJbXTtcclxuXHJcbiAgcHVibGljIGNvdW50ZXI6IG51bWJlciA9IDA7XHJcblx0cHVibGljIHBhZ2U6IG51bWJlciA9IDE7XHJcblx0cHVibGljIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gIC8vICNlbmRyZWdpb24gUFVCTElDXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBGT1JNIEZJRUxEU1xyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBGT1JNIEZJRUxEU1xyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gQlVJTERFUlxyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBGT1JNIEJVSUxERVJcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gSU5JVElBTElaQVRJT04gPD09PT09PT09PT1cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbXNQZXJQYWdlID0gdGhpcy5jb3VudE9wdGlvbnNbMF07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7ICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBVVElMUyA8PT09PT09PT09PVxyXG4gIFxyXG4gIC8qKiBNb2RpZmljYSBhIHF1YW50aWRhZGUgZGUgaXRlbnMgYSBzZXIgbW9zdHJhZGEgbmEgbGlzdGEuXHJcblx0ICogQHBhcmFtIGV2ZW50IHBhcsOibWV0cm8gZGUgZXZlbnRvIHF1ZSBpcsOhIHNlbGVjaW9uYXIgYSBub3ZhIHF1YW50aWRhZGUuICovXHJcblx0cHVibGljIG9uU2VsZWN0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuXHRcdHRoaXMuaXRlbXNQZXJQYWdlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlLCAxMCk7XHJcblx0XHR0aGlzLnBhZ2UgPSAxO1xyXG5cdH1cclxuXHJcblx0LyoqIFJlc2V0YSBhIHBhZ2luYcOnw6NvIGRhIGxpc3RhZ2VtLiAqL1xyXG5cdHB1YmxpYyByZXNldFBhZ2luYXRpb24obGlzdDogYW55W10pOiB2b2lkIHtcclxuXHRcdC8vIEPDoWxjdWxvIHBhcmEgZW5jb250cmFyIG8gdmFsb3IgaW5pY2lhbCBkbyBpbmRleCBkYSBww6FnaW5hIGF0dWFsXHJcblx0XHRjb25zdCBzdGFydEluZGV4ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XHJcblxyXG5cdFx0Ly8gQ29uZGnDp8OjbyBwYXJhIHJlc2V0YXIgbyB2YWxvciBkYSBwYWdpbmHDp8Ojb1xyXG5cdFx0aWYgKGxpc3QubGVuZ3RoIDw9IHN0YXJ0SW5kZXgpIHsgdGhpcy5wYWdlID0gMTsgfVxyXG5cdH1cclxuXHJcblx0Ly8jcmVnaW9uIE9yZGVyaW5nLCBTb3J0aW5nIG91IGFwZW5hcyBPcmRlbmHDp8Ojb1xyXG5cclxuICAvKiogTcOpdG9kbyBxdWUgZmF6IGEgb3JkZW5hw6fDo28gZG9zIGNvbnRyYXRvcyBuYSB0ZWxhIGRlIGxpc3RhZ2VtLCBlbSBjYWRhIHVtYSBkYXMgY8OpbHVsYXMgZG8gY2FiZcOnYWxobyBkYSB0YWJlbGEsIG9uZGUgY2FkYSB1bSBkb3MgZWxlbWVudG9zIDx0aD4gcmVwcmVzZW50YSB1bWEgY29sdW5hLCBkZSBhY29yZG8gY29tIGEgbGlzdGEgZGUgY29udHJhdG9zIHF1ZSByZXRvcm5hIGRvIGJhY2tlbmQuXHJcbiAgKi9cclxuXHJcbiAgLy8gT2JqZXRvIHBhcmEgYXJtYXplbmFyIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGRlIGNhZGEgY29sdW5hXHJcbiAgc29ydERpcmVjdGlvbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAvLyBDb2x1bmEgYXR1YWxtZW50ZSBzZWxlY2lvbmFkYSBwYXJhIG9yZGVuYcOnw6NvXHJcbiAgY3VycmVudFNvcnRDb2x1bW46IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIC8vIEZ1bsOnw6NvIGNoYW1hZGEgcXVhbmRvIG9jb3JyZSB1bWEgbXVkYW7Dp2EgbmEgb3JkZW5hw6fDo29cclxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IHsgZGlyZWN0aW9uOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBjb2x1bW4gfSA9IGV2ZW50O1xyXG5cclxuICAgIC8vIFZlcmlmaWNhIHNlIGEgY29sdW5hIGF0dWFsbWVudGUgc2VsZWNpb25hZGEgw6kgYSBtZXNtYSBkYSBub3ZhIHNlbGXDp8Ojb1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFNvcnRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICAvLyBBbHRlcm5hIGVudHJlIFwiYXNjXCIgZSBcImRlc2NcIiBwYXJhIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGRhIGNvbHVuYVxyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb25bY29sdW1uXSA9IHRoaXMuc29ydERpcmVjdGlvbltjb2x1bW5dID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gRGVmaW5lIGEgbm92YSBjb2x1bmEgZSBhIGRpcmXDp8OjbyBkZSBvcmRlbmHDp8OjbyBjb21vIFwiYXNjXCJcclxuICAgICAgdGhpcy5jdXJyZW50U29ydENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0geyBbY29sdW1uXTogXCJkZXNjXCIgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZWFsaXphIGEgb3JkZW5hw6fDo28gZG9zIGRhZG9zIGRhIHRhYmVsYVxyXG4gICAgdGhpcy5zb3J0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gRnVuw6fDo28gZGUgb3JkZW5hw6fDo28gZG9zIGRhZG9zIGRhIHRhYmVsYVxyXG4gIHByaXZhdGUgc29ydERhdGEoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMucmVjb3Jkc0xpc3QpIHtcclxuICAgICAgY29uc3QgY29udHJhdG9zTGlzdCA9IHRoaXMucmVjb3Jkc0xpc3Q7XHJcblxyXG4gICAgICBjb250cmF0b3NMaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jdXJyZW50U29ydENvbHVtbjtcclxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb25bYXR0cmlidXRlXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVByb3BlcnRpZXMoYSwgYiwgYXR0cmlidXRlLCBkaXJlY3Rpb24pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLy8gQ29tcGFyYSBvcyB2YWxvcmVzIGRhcyBwcm9wcmllZGFkZXMgZW50cmUgZG9pcyBvYmpldG9zXHJcbiAgcHJpdmF0ZSBjb21wYXJlUHJvcGVydGllcyhhOiBhbnksIGI6IGFueSwgYXR0cmlidXRlOiBzdHJpbmcsIGRpcmVjdGlvbjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHByb3BlcnR5QSA9IHRoaXMuZ2V0UHJvcGVydHkoYSwgYXR0cmlidXRlKTtcclxuICAgIGNvbnN0IHByb3BlcnR5QiA9IHRoaXMuZ2V0UHJvcGVydHkoYiwgYXR0cmlidXRlKTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHByb3BlcnR5QSA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgcHJvcGVydHlCID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyBwcm9wZXJ0eUEubG9jYWxlQ29tcGFyZShwcm9wZXJ0eUIpIDogcHJvcGVydHlCLmxvY2FsZUNvbXBhcmUocHJvcGVydHlBKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvcGVydHlBIDwgcHJvcGVydHlCKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcGVydHlBID4gcHJvcGVydHlCKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAxIDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvLyBPYnTDqW0gbyB2YWxvciBkZSB1bWEgcHJvcHJpZWRhZGUgZXNwZWPDrWZpY2EgZGUgdW0gb2JqZXRvXHJcbiAgcHJpdmF0ZSBnZXRQcm9wZXJ0eShvYmo6IGFueSwgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiBwYXRoID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHBhdGggPSBwYXRoLnNwbGl0KFwiLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGF0aC5yZWR1Y2UoKHZhbHVlLCBwcm9wZXJ0eSkgPT4gdmFsdWUgPyB2YWx1ZVtwcm9wZXJ0eV0gOiBcIlwiLCBvYmopO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uIE9yZGVyaW5nLCBTb3J0aW5nIG91IGFwZW5hcyBPcmRlbmHDp8Ojb1xyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcblxyXG59XHJcbiIsIkBpZiAocmVjb3Jkc0xpc3QpIHtcclxuICAgPGRpdiBjbGFzcz1cInRhYmxlLWxpc3Qgdy0xMDAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcy0xXCI+IEV4aWJpbmRvIHt7IHRoaXMuY291bnRlciB9fSByZWdpc3Ryb3MgPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtbGlzdCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyLWJvdHRvbS0wIHJvdW5kZWQtYm90dG9tIHJvdW5kZWRcIj5cclxuICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG92ZXIgYm9yZGVyIG1iLTBcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnbGItdGV4dC1kYXJrLWRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNMaXN0XCIgc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdsYi10ZXh0LWRhcmstZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaGVhZGVyLmNvbFwiIFtjbGFzc109XCJoZWFkZXIuY3VzdG9tQ2xhc3Nlc1wiPiB7eyBoZWFkZXIubmFtZSB9fSA8L3RoPlxyXG4gICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiYmctbGlnaHQgZmFkZS1pbi1yb3dcIj5cclxuICAgICAgICAgICAgICAgQGlmIChyZWNvcmRzTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IFtzZWxlY3RdPVwiaW5uZXJSb3dzXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgPHRyPiA8dGQgY29sc3Bhbj1cIjEyXCIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj48c3BhbiBjbGFzcz1cImZ3LWxpZ2h0IGZzdC1pdGFsaWMgdGV4dC1jZW50ZXJcIj4gQ29uc3VsdGEgbsOjbyByZXRvcm5vdSByZWdpc3Ryb3MuLi4gPC9zcGFuPjwvdGQ+IDwvdHI+XHJcbiAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBJTVBMRU1FTlRBw4fDg08gUFLDiVZJQSAtLT5cclxuICAgICAgICAgICAgICAgPCEtLSBAZm9yIChpdGVtIG9mIHJlY29yZHNMaXN0IHwgcGFnaW5hdGU6IHsgaXRlbXNQZXJQYWdlOiBpdGVtc1BlclBhZ2UsIGN1cnJlbnRQYWdlOiBwYWdlIH07IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWRlY29yYXRpb24tbm9uZSBmdy1ib2xkXCIgdG9vbHRpcD1cIkVkaXRhci9WaXN1YWxpemFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvcGFpbmVsLXBlc3NvYXMvZWRpdGFyJywgaXRlbS5JRF9QRVNTT0FdXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPnt7IGl0ZW0uVFhfTk9NRVBFU1NPQSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+PGI+TmF0dXJhbGlkYWRlOjwvYj4ge3sgaXRlbS5JU19FU1RSQU5HRUlSTyA/ICdFc3RyYW5nZWlyYScgOiAnQnJhc2lsZWlyYScgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLlRYX0RPQ1VNRU5UTyB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtZW5kXCI+e3sgaXRlbS5USVBPUEVTU09BX0NEID09IFwiRklTXCIgPyAoaXRlbS5EVF9OQVNDSU1FTlRPIHwgZGF0ZTogJ2RkL01NL3l5eXknKSA6IChpdGVtLkRUX0ZVTkRBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXknKSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJteS0wXCI+PGI+Q3JpYWRvIGVtOiA8L2I+IHt7IGl0ZW0uRFRfQ1JJQUNBTyB8IGRhdGU6ICdkZC9NTS95eXl5LCBISDptbTpzcycgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibXktMFwiPjxiPsOabHRpbWEgYWx0ZXJhw6fDo28gZW06IDwvYj4ge3sgKGl0ZW0uRFRfVUxUSU1BQUxURVJBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXknKSA9PSBcIjAxLzAxLzE5MDBcIiA/IFwiTmVuaHVtYSBhbHRlcmHDp8OjbyByZWNlbnRlXCIgOiBpdGVtLkRUX1VMVElNQUFMVEVSQUNBTyB8IGRhdGU6ICdkZC9NTS95eXl5LCBISDptbTpzcycgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWljb24gaWNvbk5hbWU9XCJlZGl0YXJcIiBpY29uQ29sb3I9XCJibHVlXCIgdG9vbHRpcD1cIlZpc3VhbGl6YXIvRWRpdGFyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggbXMtMlwiPiA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgcm9sZT1cInN3aXRjaFwiIFtjaGVja2VkXT1cIml0ZW0uSVNfQUNUSVZFXCI+IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBAZW1wdHkgeyA8dHI+IDx0ZCBjb2xzcGFuPVwiMTJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPjxzcGFuIGNsYXNzPVwiZnctbGlnaHQgZnN0LWl0YWxpYyB0ZXh0LWNlbnRlclwiPiBDb25zdWx0YSBuw6NvIHJldG9ybm91IHJlZ2lzdHJvcy4uLiA8L3NwYW4+PC90ZD4gPC90cj4gfSAtLT5cclxuICAgICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIElNUExFTUVOVEHDh8ODTyBQUsOJVklBIC0tPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgPCEtLSAjcmVnaW9uIFBBR0lOQVRJT04gLS0+XHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yXCIgKm5nSWY9XCJyZWNvcmRzTGlzdC5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1lLTJcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+IEl0ZW5zIHBvciBww6FnaW5hIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBzZWxlY3Qtc2VhcmNoXCIgKGNoYW5nZSk9XCJvblNlbGVjdENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50IG9mIGNvdW50T3B0aW9uczsgbGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJjb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJjb3VudE9wdGlvbnMubGVuZ3RoID4gMCAmJiBpID09IDBcIj57eyBjb3VudCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8cGFnaW5hdGlvbi1jb250cm9scyBjbGFzcz1cInNwLXBhZ2luYXRpb24gbXQtM1wiIChwYWdlQ2hhbmdlKT1cInBhZ2UgPSAkZXZlbnRcIiBwcmV2aW91c0xhYmVsPVwiwqsmbmJzcDsmbmJzcDsmbmJzcDtcIiBuZXh0TGFiZWw9XCImbmJzcDsmbmJzcDsmbmJzcDvCu1wiIFttYXhTaXplXT1cIjVcIj48L3BhZ2luYXRpb24tY29udHJvbHM+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICA8IS0tICNlbmRyZWdpb24gUEFHSU5BVElPTiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiIHJvbGU9XCJzdGF0dXNcIj4gPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5DYXJyZWdhbmRvIGluZm9ybWHDp8O1ZXMuLi48L3NwYW4+IDwvZGl2PlxyXG4gICA8L2Rpdj5cclxufSJdfQ==
|
|
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=
|
|
@@ -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 }\">\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"] }] }); }
|
|
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 }\">\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"] }]
|
|
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 {
|