@seniorsistemas/data-seniorx-core 1.10.0 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/features/card-list/card-list.component.mjs +16 -6
- package/esm2022/features/paginator/paginator.component.mjs +27 -21
- package/features/paginator/paginator.component.d.ts +0 -2
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +40 -24
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, computed, signal,
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy, ViewEncapsulation, computed, signal, } from '@angular/core';
|
|
3
3
|
import { CardComponent } from './card/card.component';
|
|
4
4
|
import { isMobile, isTablet } from '../../core/utils/layout.util';
|
|
5
5
|
import { EmptyStateModule } from '@seniorsistemas/angular-components/empty-state';
|
|
@@ -63,7 +63,7 @@ export class CardListComponent {
|
|
|
63
63
|
return;
|
|
64
64
|
this.page.set({
|
|
65
65
|
first: event.first ?? 0,
|
|
66
|
-
rows: event.rows ?? this.page().rows
|
|
66
|
+
rows: event.rows ?? this.page().rows,
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
nextPage() {
|
|
@@ -102,7 +102,9 @@ export class CardListComponent {
|
|
|
102
102
|
if (Array.isArray(v))
|
|
103
103
|
return v;
|
|
104
104
|
const o = v;
|
|
105
|
-
return Object.keys(o)
|
|
105
|
+
return Object.keys(o)
|
|
106
|
+
.sort()
|
|
107
|
+
.reduce((acc, key) => {
|
|
106
108
|
acc[key] = o[key];
|
|
107
109
|
return acc;
|
|
108
110
|
}, {});
|
|
@@ -119,11 +121,19 @@ export class CardListComponent {
|
|
|
119
121
|
}
|
|
120
122
|
}
|
|
121
123
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <
|
|
124
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <div (click)=\"onCardClick(card)\">\n <sdc-card [options]=\"options().customCard\" [data]=\"card\"></sdc-card>\n </div>\n </div>\n }\n </div>\n\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-between sdc-paginator pt-3\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"[5, 10, 20]\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:25rem;min-width:17rem;align-content:center}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%;padding:.5rem}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardComponent, selector: "sdc-card", inputs: ["data", "options"], outputs: ["cardAction"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "model"], outputs: ["onClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i4.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
123
125
|
}
|
|
124
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, decorators: [{
|
|
125
127
|
type: Component,
|
|
126
|
-
args: [{ selector: 'sdc-card-list', standalone: true, imports: [
|
|
128
|
+
args: [{ selector: 'sdc-card-list', standalone: true, imports: [
|
|
129
|
+
CommonModule,
|
|
130
|
+
CardComponent,
|
|
131
|
+
TranslateModule,
|
|
132
|
+
ButtonComponent,
|
|
133
|
+
PaginatorComponent,
|
|
134
|
+
EmptyStateModule,
|
|
135
|
+
LoadingStateModule,
|
|
136
|
+
], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <div (click)=\"onCardClick(card)\">\n <sdc-card [options]=\"options().customCard\" [data]=\"card\"></sdc-card>\n </div>\n </div>\n }\n </div>\n\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-between sdc-paginator pt-3\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"[5, 10, 20]\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:25rem;min-width:17rem;align-content:center}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%;padding:.5rem}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"] }]
|
|
127
137
|
}], propDecorators: { data: [{
|
|
128
138
|
type: Input
|
|
129
139
|
}], loading: [{
|
|
@@ -133,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
133
143
|
}], cardButtonClick: [{
|
|
134
144
|
type: Output
|
|
135
145
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvY2FyZC1saXN0L2NhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBOEQsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEssT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBVXRELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE1BQU0sR0FBb0IseUJBQXlCLENBQUM7SUFFbkQsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFbEMsUUFBUSxHQUFH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QUFpQixDQUFDLFFBQVE7OEJBR2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGNvbXB1dGVkLCBzaWduYWwsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgRG9DaGVjaywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdpbmF0b3JTdGF0ZSB9IGZyb20gJ3ByaW1lbmcvcGFnaW5hdG9yJztcbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZCwgQ2FyZExpc3RPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9jYXJkLnR5cGUnO1xuaW1wb3J0IHsgaXNNb2JpbGUsIGlzVGFibGV0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9sYXlvdXQudXRpbCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9lbXB0eS1zdGF0ZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvYWRpbmctc3RhdGUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9DQVJEX0xJU1RfT1BUSU9OUyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlnL2NhcmQudHlwZS5jb25maWcnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1jYXJkLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDYXJkQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgUGFnaW5hdG9yQ29tcG9uZW50LCBFbXB0eVN0YXRlTW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcmQtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRG9DaGVjayB7XG4gIEBJbnB1dCgpIGRhdGE6IENhcmRbXSA9IFtdO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbmZpZzogQ2FyZExpc3RPcHRpb25zID0gREVGQVVMVF9DQVJEX0xJU1RfT1BUSU9OUztcblxuICBAT3V0cHV0KCkgY2FyZEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSA9IGlzTW9iaWxlKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1RhYmxldCA9IGlzVGFibGV0KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBzaWduYWw8Q2FyZExpc3RPcHRpb25zPihERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvdGFsUmVjb3Jkc0xhYmVsID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB0aGlzLm9wdGlvbnMoKS50b3RhbFJlY29yZHNMYWJlbCA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8udGl0bGUgPz8gJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHlUZXh0ID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8ubWVzc2FnZSA/PyAnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2UgPSBzaWduYWwoeyBmaXJzdDogMCwgcm93czogNSB9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRmlyc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkuZmlyc3QgPT09IDApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMYXN0UGFnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGFnZSgpLmZpcnN0ICsgdGhpcy5wYWdlKCkucm93cyA+PSB0aGlzLmZpbHRlcmVkKCkubGVuZ3RoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJhdyA9IHNpZ25hbDxDYXJkW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlcmVkID0gc2lnbmFsPENhcmRbXT4oW10pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwYWdlZERhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZmlsdGVyZWQoKTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHJldHVybiBsaXN0O1xuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuICAgIHJldHVybiBsaXN0LnNsaWNlKGZpcnN0LCBmaXJzdCArIHJvd3MpO1xuICB9KTtcblxuICBwcml2YXRlIGNvbmZpZ0hhc2ggPSAnJztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2RhdGEnXSkge1xuICAgICAgY29uc3QgdiA9IHRoaXMuZGF0YSA/PyBbXTtcbiAgICAgIHRoaXMucmF3LnNldCh2KTtcbiAgICAgIHRoaXMuZmlsdGVyZWQuc2V0KHYpO1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiAwLCByb3dzOiB0aGlzLnBhZ2UoKS5yb3dzIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMuYXBwbHlDb25maWdPcHRpb25zKCk7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHsgZmlyc3Q6IDAsIHJvd3M6IHRoaXMucGFnZSgpLnJvd3MgfSk7XG4gICAgICB0aGlzLmNvbmZpZ0hhc2ggPSB0aGlzLnN0YWJsZVN0cmluZ2lmeSh0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRIYXNoID0gdGhpcy5zdGFibGVTdHJpbmdpZnkodGhpcy5jb25maWcpO1xuICAgIGlmIChuZXh0SGFzaCAhPT0gdGhpcy5jb25maWdIYXNoKSB7XG4gICAgICB0aGlzLmNvbmZpZ0hhc2ggPSBuZXh0SGFzaDtcbiAgICAgIHRoaXMuYXBwbHlDb25maWdPcHRpb25zKCk7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHsgZmlyc3Q6IDAsIHJvd3M6IHRoaXMucGFnZSgpLnJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlUGFnaW5hdG9yKGV2ZW50OiBQYWdpbmF0b3JTdGF0ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikgcmV0dXJuO1xuICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgZmlyc3Q6IGV2ZW50LmZpcnN0ID8/IDAsXG4gICAgICByb3dzOiBldmVudC5yb3dzID8/IHRoaXMucGFnZSgpLnJvd3NcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHJldHVybjtcbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBpZiAodGhpcy5maWx0ZXJlZCgpLmxlbmd0aCA+IGZpcnN0ICsgcm93cykge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCArIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZQYWdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikgcmV0dXJuO1xuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuICAgIGlmIChmaXJzdCAtIHJvd3MgPj0gMCkge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCAtIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FyZENsaWNrKGNhcmQ6IENhcmQpOiB2b2lkIHtcbiAgICB0aGlzLmNhcmRCdXR0b25DbGljay5lbWl0KGNhcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUNvbmZpZ09wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYmFzZSA9IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM7XG4gICAgY29uc3QgY2ZnOiBDYXJkTGlzdE9wdGlvbnMgPSB7IC4uLmJhc2UsIC4uLih0aGlzLmNvbmZpZyA/PyB7fSkgfTtcbiAgICBjZmcuY3VzdG9tQ2FyZCA9IHsgLi4uYmFzZS5jdXN0b21DYXJkLCAuLi4odGhpcy5jb25maWc/LmN1c3RvbUNhcmQgPz8ge30pIH07XG4gICAgdGhpcy5vcHRpb25zLnNldChjZmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFibGVTdHJpbmdpZnkob2JqOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQ8b2JqZWN0PigpO1xuICAgIGNvbnN0IHJlcGxhY2VyID0gKF9rOiBzdHJpbmcsIHY6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgICAgIGlmICh2ICYmIHR5cGVvZiB2ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCBhc09iaiA9IHYgYXMgb2JqZWN0O1xuICAgICAgICBpZiAoc2Vlbi5oYXMoYXNPYmopKSByZXR1cm47XG4gICAgICAgIHNlZW4uYWRkKGFzT2JqKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHJldHVybiB2O1xuICAgICAgICBjb25zdCBvID0gdiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG8pLnNvcnQoKS5yZWR1Y2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgIGFjY1trZXldID0gb1trZXldO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdiA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdiA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdjtcbiAgICB9O1xuICAgIHRyeSB7IHJldHVybiBKU09OLnN0cmluZ2lmeShvYmogPz8ge30sIHJlcGxhY2VyIGFzIGFueSk7IH0gY2F0Y2ggeyByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqID8/IHt9KTsgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWNhcmQtbGlzdFwiPlxuICA8ZGl2IFtjbGFzcy5teS0zXT1cImlzTW9iaWxlXCI+XG4gICAgQGlmIChsb2FkaW5nKSB7XG4gICAgPHMtbG9hZGluZy1zdGF0ZSBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Jsb2NrV2luZG93XT1cImZhbHNlXCIgY2xhc3M9XCJzZGMtY2FyZGxpc3QtbG9hZGluZy1zdGF0ZVwiPjwvcy1sb2FkaW5nLXN0YXRlPlxuICAgIH0gQGVsc2UgeyBAaWYgKHBhZ2VkRGF0YSgpLmxlbmd0aCkge1xuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgQGlmIChvcHRpb25zKCkuZW5hYmxlU2lkZUJ1dHRvbnMpIHtcbiAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgIHdpZHRoPVwiM3JlbVwiXG4gICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlXCJcbiAgICAgICAgKGNsaWNrKT1cInByZXZQYWdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbGVmdC0wIHRvcC01MCB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS15LTUwIHotMVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uPVwiZmFzIGZhLWFycm93LWxlZnRcIlxuICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZmxleC0xXCIgW2NsYXNzLm14LTVdPVwiIWlzTW9iaWxlICYmIG9wdGlvbnMoKS5lbmFibGVTaWRlQnV0dG9uc1wiPlxuICAgICAgICBAZm9yIChjYXJkIG9mIHBhZ2VkRGF0YSgpOyB0cmFjayBjYXJkLm5hbWUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNiBsZzpjb2wtNCB4bDpjb2wtNXRoXCI+XG4gICAgICAgICAgPHNkYy1jYXJkIChjYXJkQWN0aW9uKT1cIm9uQ2FyZENsaWNrKCRldmVudClcIiBbb3B0aW9uc109XCJvcHRpb25zKCkuY3VzdG9tQ2FyZFwiIFtkYXRhXT1cImNhcmRcIj48L3NkYy1jYXJkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAob3B0aW9ucygpLmVuYWJsZVNpZGVCdXR0b25zKSB7XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICB3aWR0aD1cIjNyZW1cIlxuICAgICAgICAqbmdJZj1cIiFpc01vYmlsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0xhc3RQYWdlKClcIlxuICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMCB0b3AtNTAgdHJhbnNmb3JtIC10cmFuc2xhdGUteS01MCB6LTFcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbj1cImZhcyBmYS1hcnJvdy1yaWdodFwiXG4gICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgIDxzLWVtcHR5LXN0YXRlXG4gICAgICBpZD1cImNhcmRsaXN0LWVtcHR5XCJcbiAgICAgIGljb25DbGFzcz1cImZhIGZhLWluYm94XCJcbiAgICAgIFt0aXRsZV09XCJlbXB0eVRpdGxlKCkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5VGV4dCgpIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNsYXNzPVwic2RjLWNhcmRsaXN0LWVtcHR5LXN0YXRlXCJcbiAgICA+PC9zLWVtcHR5LXN0YXRlPlxuICAgIH0gQGlmIChvcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHNkYy1wYWdpbmF0b3IgcHQtM1wiIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXT1cImlzTW9iaWxlIHx8IGlzVGFibGV0XCI+XG4gICAgICA8c2RjLXBhZ2luYXRvclxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogMTAwJVwiXG4gICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnaW5hdG9yKCRldmVudClcIlxuICAgICAgICBbZmlyc3RdPVwicGFnZSgpLmZpcnN0XCJcbiAgICAgICAgW3Jvd3NdPVwicGFnZSgpLnJvd3NcIlxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIls1LCAxMCwgMjBdXCJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJmaWx0ZXJlZCgpLmxlbmd0aFwiXG4gICAgICAgIFt0b3RhbFJlY29yZHNMYWJlbF09XCJ0b3RhbFJlY29yZHNMYWJlbCgpIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgID5cbiAgICAgIDwvc2RjLXBhZ2luYXRvcj5cbiAgICA8L2Rpdj5cbiAgICB9IH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvY2FyZC1saXN0L2NhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBSU4sdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQW1CdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFvQix5QkFBeUIsQ0FBQztJQUVuRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJ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O3dCQUNoQixrQkFBa0I7cUJBQ25CLGlCQUdjLGlCQUFpQixDQUFDLFFBQVEsbUJBQ3hCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgRG9DaGVjayxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2luYXRvclN0YXRlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkLCBDYXJkTGlzdE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2NhcmQudHlwZSc7XG5pbXBvcnQgeyBpc01vYmlsZSwgaXNUYWJsZXQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2xheW91dC51dGlsJztcbmltcG9ydCB7IEVtcHR5U3RhdGVNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2VtcHR5LXN0YXRlJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9hZGluZy1zdGF0ZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcvY2FyZC50eXBlLmNvbmZpZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWNhcmQtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2FyZENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlTW9kdWxlLFxuICAgIExvYWRpbmdTdGF0ZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLWxpc3QuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBEb0NoZWNrIHtcbiAgQElucHV0KCkgZGF0YTogQ2FyZFtdID0gW107XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY29uZmlnOiBDYXJkTGlzdE9wdGlvbnMgPSBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TO1xuXG4gIEBPdXRwdXQoKSBjYXJkQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlID0gaXNNb2JpbGUoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzVGFibGV0ID0gaXNUYWJsZXQoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxDYXJkTGlzdE9wdGlvbnM+KERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG90YWxSZWNvcmRzTGFiZWwgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHRoaXMub3B0aW9ucygpLnRvdGFsUmVjb3Jkc0xhYmVsID8/ICcnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVtcHR5VGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py50aXRsZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py5tZXNzYWdlID8/ICcnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZSA9IHNpZ25hbCh7IGZpcnN0OiAwLCByb3dzOiA1IH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNGaXJzdFBhZ2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhZ2UoKS5maXJzdCA9PT0gMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0xhc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkuZmlyc3QgKyB0aGlzLnBhZ2UoKS5yb3dzID49IHRoaXMuZmlsdGVyZWQoKS5sZW5ndGgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmF3ID0gc2lnbmFsPENhcmRbXT4oW10pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyZWQgPSBzaWduYWw8Q2FyZFtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2VkRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5maWx0ZXJlZCgpO1xuICAgIGlmICghdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikgcmV0dXJuIGxpc3Q7XG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgcmV0dXJuIGxpc3Quc2xpY2UoZmlyc3QsIGZpcnN0ICsgcm93cyk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY29uZmlnSGFzaCA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICBjb25zdCB2ID0gdGhpcy5kYXRhID8/IFtdO1xuICAgICAgdGhpcy5yYXcuc2V0KHYpO1xuICAgICAgdGhpcy5maWx0ZXJlZC5zZXQodik7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHsgZmlyc3Q6IDAsIHJvd3M6IHRoaXMucGFnZSgpLnJvd3MgfSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogMCwgcm93czogdGhpcy5wYWdlKCkucm93cyB9KTtcbiAgICAgIHRoaXMuY29uZmlnSGFzaCA9IHRoaXMuc3RhYmxlU3RyaW5naWZ5KHRoaXMuY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEhhc2ggPSB0aGlzLnN0YWJsZVN0cmluZ2lmeSh0aGlzLmNvbmZpZyk7XG4gICAgaWYgKG5leHRIYXNoICE9PSB0aGlzLmNvbmZpZ0hhc2gpIHtcbiAgICAgIHRoaXMuY29uZmlnSGFzaCA9IG5leHRIYXNoO1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogMCwgcm93czogdGhpcy5wYWdlKCkucm93cyB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25DaGFuZ2VQYWdpbmF0b3IoZXZlbnQ6IFBhZ2luYXRvclN0YXRlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uKSByZXR1cm47XG4gICAgdGhpcy5wYWdlLnNldCh7XG4gICAgICBmaXJzdDogZXZlbnQuZmlyc3QgPz8gMCxcbiAgICAgIHJvd3M6IGV2ZW50LnJvd3MgPz8gdGhpcy5wYWdlKCkucm93cyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHJldHVybjtcbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBpZiAodGhpcy5maWx0ZXJlZCgpLmxlbmd0aCA+IGZpcnN0ICsgcm93cykge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCArIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZQYWdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikgcmV0dXJuO1xuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuICAgIGlmIChmaXJzdCAtIHJvd3MgPj0gMCkge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCAtIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FyZENsaWNrKGNhcmQ6IENhcmQpOiB2b2lkIHtcbiAgICB0aGlzLmNhcmRCdXR0b25DbGljay5lbWl0KGNhcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUNvbmZpZ09wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYmFzZSA9IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM7XG4gICAgY29uc3QgY2ZnOiBDYXJkTGlzdE9wdGlvbnMgPSB7IC4uLmJhc2UsIC4uLih0aGlzLmNvbmZpZyA/PyB7fSkgfTtcbiAgICBjZmcuY3VzdG9tQ2FyZCA9IHsgLi4uYmFzZS5jdXN0b21DYXJkLCAuLi4odGhpcy5jb25maWc/LmN1c3RvbUNhcmQgPz8ge30pIH07XG4gICAgdGhpcy5vcHRpb25zLnNldChjZmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFibGVTdHJpbmdpZnkob2JqOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQ8b2JqZWN0PigpO1xuICAgIGNvbnN0IHJlcGxhY2VyID0gKF9rOiBzdHJpbmcsIHY6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgICAgIGlmICh2ICYmIHR5cGVvZiB2ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCBhc09iaiA9IHYgYXMgb2JqZWN0O1xuICAgICAgICBpZiAoc2Vlbi5oYXMoYXNPYmopKSByZXR1cm47XG4gICAgICAgIHNlZW4uYWRkKGFzT2JqKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHJldHVybiB2O1xuICAgICAgICBjb25zdCBvID0gdiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG8pXG4gICAgICAgICAgLnNvcnQoKVxuICAgICAgICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgICAgYWNjW2tleV0gPSBvW2tleV07XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdiA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdiA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdjtcbiAgICB9O1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqID8/IHt9LCByZXBsYWNlciBhcyBhbnkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiA/PyB7fSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWNhcmQtbGlzdFwiPlxuICA8ZGl2IFtjbGFzcy5teS0zXT1cImlzTW9iaWxlXCI+XG4gICAgQGlmIChsb2FkaW5nKSB7XG4gICAgPHMtbG9hZGluZy1zdGF0ZSBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Jsb2NrV2luZG93XT1cImZhbHNlXCIgY2xhc3M9XCJzZGMtY2FyZGxpc3QtbG9hZGluZy1zdGF0ZVwiPjwvcy1sb2FkaW5nLXN0YXRlPlxuICAgIH0gQGVsc2UgeyBAaWYgKHBhZ2VkRGF0YSgpLmxlbmd0aCkge1xuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgQGlmIChvcHRpb25zKCkuZW5hYmxlU2lkZUJ1dHRvbnMpIHtcbiAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgIHdpZHRoPVwiM3JlbVwiXG4gICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlXCJcbiAgICAgICAgKGNsaWNrKT1cInByZXZQYWdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbGVmdC0wIHRvcC01MCB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS15LTUwIHotMVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uPVwiZmFzIGZhLWFycm93LWxlZnRcIlxuICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZmxleC0xXCIgW2NsYXNzLm14LTVdPVwiIWlzTW9iaWxlICYmIG9wdGlvbnMoKS5lbmFibGVTaWRlQnV0dG9uc1wiPlxuICAgICAgICBAZm9yIChjYXJkIG9mIHBhZ2VkRGF0YSgpOyB0cmFjayBjYXJkLm5hbWUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNiBsZzpjb2wtNCB4bDpjb2wtNXRoXCI+XG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwib25DYXJkQ2xpY2soY2FyZClcIj5cbiAgICAgICAgICAgIDxzZGMtY2FyZCBbb3B0aW9uc109XCJvcHRpb25zKCkuY3VzdG9tQ2FyZFwiIFtkYXRhXT1cImNhcmRcIj48L3NkYy1jYXJkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAob3B0aW9ucygpLmVuYWJsZVNpZGVCdXR0b25zKSB7XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICB3aWR0aD1cIjNyZW1cIlxuICAgICAgICAqbmdJZj1cIiFpc01vYmlsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0xhc3RQYWdlKClcIlxuICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMCB0b3AtNTAgdHJhbnNmb3JtIC10cmFuc2xhdGUteS01MCB6LTFcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbj1cImZhcyBmYS1hcnJvdy1yaWdodFwiXG4gICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgIDxzLWVtcHR5LXN0YXRlXG4gICAgICBpZD1cImNhcmRsaXN0LWVtcHR5XCJcbiAgICAgIGljb25DbGFzcz1cImZhIGZhLWluYm94XCJcbiAgICAgIFt0aXRsZV09XCJlbXB0eVRpdGxlKCkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5VGV4dCgpIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNsYXNzPVwic2RjLWNhcmRsaXN0LWVtcHR5LXN0YXRlXCJcbiAgICA+PC9zLWVtcHR5LXN0YXRlPlxuICAgIH0gQGlmIChvcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHNkYy1wYWdpbmF0b3IgcHQtM1wiIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXT1cImlzTW9iaWxlIHx8IGlzVGFibGV0XCI+XG4gICAgICA8c2RjLXBhZ2luYXRvclxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogMTAwJVwiXG4gICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnaW5hdG9yKCRldmVudClcIlxuICAgICAgICBbZmlyc3RdPVwicGFnZSgpLmZpcnN0XCJcbiAgICAgICAgW3Jvd3NdPVwicGFnZSgpLnJvd3NcIlxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIls1LCAxMCwgMjBdXCJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJmaWx0ZXJlZCgpLmxlbmd0aFwiXG4gICAgICAgIFt0b3RhbFJlY29yZHNMYWJlbF09XCJ0b3RhbFJlY29yZHNMYWJlbCgpIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgID5cbiAgICAgIDwvc2RjLXBhZ2luYXRvcj5cbiAgICA8L2Rpdj5cbiAgICB9IH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Output, computed,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Output, computed, input } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { ComboboxComponent } from '../combobox/combobox.component';
|
|
@@ -13,16 +13,10 @@ export class PaginatorComponent {
|
|
|
13
13
|
isMobile = input(false);
|
|
14
14
|
totalRecordsLabel = input('');
|
|
15
15
|
pageChange = new EventEmitter();
|
|
16
|
-
selectedRows = signal('0');
|
|
17
|
-
constructor() {
|
|
18
|
-
effect(() => {
|
|
19
|
-
this.selectedRows.set(String(this.rows()));
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
16
|
rowOptions = computed(() => {
|
|
23
17
|
const opts = (this.rowsPerPageOptions() ?? []).map(v => ({
|
|
24
18
|
text: String(v),
|
|
25
|
-
value: String(v)
|
|
19
|
+
value: String(v),
|
|
26
20
|
}));
|
|
27
21
|
const cur = String(this.rows());
|
|
28
22
|
if (!opts.some(o => o.value === cur)) {
|
|
@@ -56,19 +50,27 @@ export class PaginatorComponent {
|
|
|
56
50
|
return list;
|
|
57
51
|
});
|
|
58
52
|
emitChange(first, rows = this.rows()) {
|
|
59
|
-
const
|
|
60
|
-
|
|
53
|
+
const safeRows = rows > 0 ? rows : 1;
|
|
54
|
+
const page = Math.floor(first / safeRows);
|
|
55
|
+
this.pageChange.emit({ first, rows: safeRows, page, pageCount: this.pageCount() });
|
|
61
56
|
}
|
|
62
57
|
gotoPage(index) {
|
|
63
58
|
const safe = Math.min(Math.max(index, 0), this.pageCount() - 1);
|
|
64
59
|
this.emitChange(safe * this.rows());
|
|
65
60
|
}
|
|
66
|
-
firstPage() {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
firstPage() {
|
|
62
|
+
this.gotoPage(0);
|
|
63
|
+
}
|
|
64
|
+
prevPage() {
|
|
65
|
+
this.gotoPage(this.currentPage() - 1);
|
|
66
|
+
}
|
|
67
|
+
nextPage() {
|
|
68
|
+
this.gotoPage(this.currentPage() + 1);
|
|
69
|
+
}
|
|
70
|
+
lastPage() {
|
|
71
|
+
this.gotoPage(this.pageCount() - 1);
|
|
72
|
+
}
|
|
70
73
|
onRowsChange(rows) {
|
|
71
|
-
this.selectedRows.set(String(rows));
|
|
72
74
|
this.emitChange(0, rows);
|
|
73
75
|
}
|
|
74
76
|
onRowsComboModel(val) {
|
|
@@ -77,15 +79,19 @@ export class PaginatorComponent {
|
|
|
77
79
|
if (!Number.isNaN(n))
|
|
78
80
|
this.onRowsChange(n);
|
|
79
81
|
}
|
|
80
|
-
isCurrent(p) {
|
|
81
|
-
|
|
82
|
+
isCurrent(p) {
|
|
83
|
+
return p === this.currentPage();
|
|
84
|
+
}
|
|
85
|
+
asNumber(p) {
|
|
86
|
+
return typeof p === 'number';
|
|
87
|
+
}
|
|
82
88
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PaginatorComponent, isStandalone: true, selector: "sdc-paginator", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: true, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsLabel: { classPropertyName: "totalRecordsLabel", publicName: "totalRecordsLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PaginatorComponent, isStandalone: true, selector: "sdc-paginator", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: true, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsLabel: { classPropertyName: "totalRecordsLabel", publicName: "totalRecordsLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"firstPage()\"\n aria-label=\"Primeira p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward fa-rotate-180\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"prevPage()\"\n aria-label=\"P\u00E1gina anterior\"\n >\n <i class=\"fas fa-caret-left\" aria-hidden=\"true\"></i>\n </button>\n\n <ng-container *ngFor=\"let p of pages()\">\n <button\n *ngIf=\"asNumber(p)\"\n type=\"button\"\n class=\"sdc-page\"\n [class.is-active]=\"isCurrent(p)\"\n [attr.aria-current]=\"isCurrent(p) ? 'page' : null\"\n (click)=\"gotoPage(p)\"\n >\n {{ p + 1 }}\n </button>\n <span *ngIf=\"!asNumber(p)\" class=\"sdc-ellipsis\" aria-hidden=\"true\">\u2026</span>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"nextPage()\"\n aria-label=\"Pr\u00F3xima p\u00E1gina\"\n >\n <i class=\"fas fa-caret-right\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"lastPage()\"\n aria-label=\"\u00DAltima p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward\" aria-hidden=\"true\"></i>\n </button>\n\n <sdc-combobox\n class=\"sdc-rows-combobox\"\n [multiple]=\"false\"\n [options]=\"rowOptions()\"\n [appendTo]=\"'body'\"\n [showClear]=\"false\"\n [ngModel]=\"rows().toString()\"\n (onSelectedItem)=\"onRowsComboModel($event)\"\n >\n </sdc-combobox>\n </div>\n\n <span class=\"sdc-total\" *ngIf=\"totalRecordsLabel()\"> {{ totalRecordsLabel() }}: {{ totalRecords() }} </span>\n</div>\n", styles: [":host{--sdc-paginator-page-size: var(--sdc-table-paginator-size, 34px);--sdc-paginator-border: #cccccc;--sdc-paginator-primary: #428bca;--sdc-paginator-primary-hover: #6aa3d5;display:block}.sdc-paginator{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;box-sizing:border-box;padding:10px 10px 10px 0}.sdc-paginator .sdc-paginator-left{display:inline-flex;align-items:center;gap:0}.sdc-paginator .sdc-paginator-left ::ng-deep .sdc-combobox{width:6.5rem!important;padding-left:1rem!important}.sdc-paginator .sdc-page{min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);padding:.4em .25em;margin:0;border:1px solid var(--sdc-paginator-border);border-right-width:0;background:transparent;color:var(--sdc-paginator-primary);cursor:pointer;transition:background-color .2s ease-out;text-align:center}.sdc-paginator .sdc-page:first-child{border-radius:4px 0 0 4px}.sdc-paginator .sdc-page:last-of-type{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator .sdc-page:hover{background-color:#f7f7f7}.sdc-paginator .sdc-page.is-active{background:var(--sdc-paginator-primary);color:#fff;border-color:var(--sdc-paginator-primary)}.sdc-paginator .sdc-page.is-active:hover{background:var(--sdc-paginator-primary-hover);border-color:var(--sdc-paginator-primary-hover)}.sdc-paginator .sdc-page:disabled{opacity:.5;cursor:not-allowed}.sdc-paginator .sdc-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);border:1px solid var(--sdc-paginator-border);border-right-width:0}.sdc-paginator .sdc-rows-combobox{width:max-content;min-width:88px}.sdc-paginator .sdc-total{white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ComboboxComponent, selector: "sdc-combobox", inputs: ["multiple", "appendTo", "zIndex", "options", "overrideChipMessage", "maxSelectedLabels", "showClear"], outputs: ["onSelectedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
84
90
|
}
|
|
85
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
86
92
|
type: Component,
|
|
87
|
-
args: [{ selector: 'sdc-paginator', standalone: true, imports: [CommonModule, FormsModule, ComboboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n
|
|
88
|
-
}],
|
|
93
|
+
args: [{ selector: 'sdc-paginator', standalone: true, imports: [CommonModule, FormsModule, ComboboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"firstPage()\"\n aria-label=\"Primeira p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward fa-rotate-180\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"prevPage()\"\n aria-label=\"P\u00E1gina anterior\"\n >\n <i class=\"fas fa-caret-left\" aria-hidden=\"true\"></i>\n </button>\n\n <ng-container *ngFor=\"let p of pages()\">\n <button\n *ngIf=\"asNumber(p)\"\n type=\"button\"\n class=\"sdc-page\"\n [class.is-active]=\"isCurrent(p)\"\n [attr.aria-current]=\"isCurrent(p) ? 'page' : null\"\n (click)=\"gotoPage(p)\"\n >\n {{ p + 1 }}\n </button>\n <span *ngIf=\"!asNumber(p)\" class=\"sdc-ellipsis\" aria-hidden=\"true\">\u2026</span>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"nextPage()\"\n aria-label=\"Pr\u00F3xima p\u00E1gina\"\n >\n <i class=\"fas fa-caret-right\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"lastPage()\"\n aria-label=\"\u00DAltima p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward\" aria-hidden=\"true\"></i>\n </button>\n\n <sdc-combobox\n class=\"sdc-rows-combobox\"\n [multiple]=\"false\"\n [options]=\"rowOptions()\"\n [appendTo]=\"'body'\"\n [showClear]=\"false\"\n [ngModel]=\"rows().toString()\"\n (onSelectedItem)=\"onRowsComboModel($event)\"\n >\n </sdc-combobox>\n </div>\n\n <span class=\"sdc-total\" *ngIf=\"totalRecordsLabel()\"> {{ totalRecordsLabel() }}: {{ totalRecords() }} </span>\n</div>\n", styles: [":host{--sdc-paginator-page-size: var(--sdc-table-paginator-size, 34px);--sdc-paginator-border: #cccccc;--sdc-paginator-primary: #428bca;--sdc-paginator-primary-hover: #6aa3d5;display:block}.sdc-paginator{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;box-sizing:border-box;padding:10px 10px 10px 0}.sdc-paginator .sdc-paginator-left{display:inline-flex;align-items:center;gap:0}.sdc-paginator .sdc-paginator-left ::ng-deep .sdc-combobox{width:6.5rem!important;padding-left:1rem!important}.sdc-paginator .sdc-page{min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);padding:.4em .25em;margin:0;border:1px solid var(--sdc-paginator-border);border-right-width:0;background:transparent;color:var(--sdc-paginator-primary);cursor:pointer;transition:background-color .2s ease-out;text-align:center}.sdc-paginator .sdc-page:first-child{border-radius:4px 0 0 4px}.sdc-paginator .sdc-page:last-of-type{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator .sdc-page:hover{background-color:#f7f7f7}.sdc-paginator .sdc-page.is-active{background:var(--sdc-paginator-primary);color:#fff;border-color:var(--sdc-paginator-primary)}.sdc-paginator .sdc-page.is-active:hover{background:var(--sdc-paginator-primary-hover);border-color:var(--sdc-paginator-primary-hover)}.sdc-paginator .sdc-page:disabled{opacity:.5;cursor:not-allowed}.sdc-paginator .sdc-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);border:1px solid var(--sdc-paginator-border);border-right-width:0}.sdc-paginator .sdc-rows-combobox{width:max-content;min-width:88px}.sdc-paginator .sdc-total{white-space:nowrap}\n"] }]
|
|
94
|
+
}], propDecorators: { pageChange: [{
|
|
89
95
|
type: Output
|
|
90
96
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBaUJuRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7SUFDakMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUNoQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO0lBQ3hDLGtCQUFrQixHQUFHLEtBQUssQ0FBdUIsU0FBUyxDQUFDLENBQUM7SUFDNUQsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixpQkFBaUIsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFFNUIsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTFELFlBQVksR0FBRyxNQUFNLENBQWMsR0FBRyxDQUFDLENBQUM7SUFFeEM7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFB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QUMsTUFBTTt3REFVckMsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBjb21wdXRlZCwgZWZmZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IE9wdGlvbkl0ZW0sIE9wdGlvblZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9zZW1hbnRpY3MudHlwZSc7XG5pbXBvcnQgeyBDb21ib2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRvclN0YXRlID0ge1xuICBmaXJzdDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZUNvdW50OiBudW1iZXI7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtcGFnaW5hdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIENvbWJvYm94Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQge1xuICBmaXJzdCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgcm93cyA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgdG90YWxSZWNvcmRzID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xuICByb3dzUGVyUGFnZU9wdGlvbnMgPSBpbnB1dDxudW1iZXJbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgaXNNb2JpbGUgPSBpbnB1dChmYWxzZSk7XG4gIHRvdGFsUmVjb3Jkc0xhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2luYXRvclN0YXRlPigpO1xuXG4gIHNlbGVjdGVkUm93cyA9IHNpZ25hbDxPcHRpb25WYWx1ZT4oJzAnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3Muc2V0KFN0cmluZyh0aGlzLnJvd3MoKSkgYXMgT3B0aW9uVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVhZG9ubHkgcm93T3B0aW9ucyA9IGNvbXB1dGVkPE9wdGlvbkl0ZW1bXT4oKCkgPT4ge1xuICAgIGNvbnN0IG9wdHMgPSAodGhpcy5yb3dzUGVyUGFnZU9wdGlvbnMoKSA/PyBbXSkubWFwKHYgPT4gKHtcbiAgICAgIHRleHQ6IFN0cmluZyh2KSxcbiAgICAgIHZhbHVlOiBTdHJpbmcodikgYXMgT3B0aW9uVmFsdWVcbiAgICB9KSk7XG4gICAgY29uc3QgY3VyID0gU3RyaW5nKHRoaXMucm93cygpKTtcbiAgICBpZiAoIW9wdHMuc29tZShvID0+IG8udmFsdWUgPT09IGN1cikpIHtcbiAgICAgIG9wdHMudW5zaGlmdCh7IHRleHQ6IGN1ciwgdmFsdWU6IGN1ciBhcyBPcHRpb25WYWx1ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdHM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHBhZ2VDb3VudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCByID0gdGhpcy5yb3dzKCk7XG4gICAgY29uc3QgdCA9IHRoaXMudG90YWxSZWNvcmRzKCk7XG4gICAgcmV0dXJuIHIgPiAwID8gTWF0aC5tYXgoMSwgTWF0aC5jZWlsKHQgLyByKSkgOiAxO1xuICB9KTtcblxuICByZWFkb25seSBjdXJyZW50UGFnZSA9IGNvbXB1dGVkKCgpID0+IE1hdGguZmxvb3IodGhpcy5maXJzdCgpIC8gTWF0aC5tYXgoMSwgdGhpcy5yb3dzKCkpKSk7XG5cbiAgcmVhZG9ubHkgcGFnZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnBhZ2VDb3VudCgpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmN1cnJlbnRQYWdlKCk7XG4gICAgY29uc3Qgd2luID0gdGhpcy5pc01vYmlsZSgpID8gMyA6IDc7XG4gICAgaWYgKGNvdW50IDw9IHdpbikgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IGNvdW50IH0sIChfLCBpKSA9PiBpKTtcbiAgICBjb25zdCBuZWFyID0gTWF0aC5mbG9vcigod2luIC0gMykgLyAyKTtcbiAgICBjb25zdCBzdGFydCA9IE1hdGgubWF4KDEsIGN1cnJlbnQgLSBuZWFyKTtcbiAgICBjb25zdCBlbmQgPSBNYXRoLm1pbihjb3VudCAtIDIsIGN1cnJlbnQgKyBuZWFyKTtcbiAgICBjb25zdCBsaXN0OiBBcnJheTxudW1iZXIgfCAn4oCmJz4gPSBbMF07XG4gICAgaWYgKHN0YXJ0ID4gMSkgbGlzdC5wdXNoKCfigKYnKTtcbiAgICBmb3IgKGxldCBwID0gc3RhcnQ7IHAgPD0gZW5kOyBwKyspIGxpc3QucHVzaChwKTtcbiAgICBpZiAoZW5kIDwgY291bnQgLSAyKSBsaXN0LnB1c2goJ+KApicpO1xuICAgIGxpc3QucHVzaChjb3VudCAtIDEpO1xuICAgIHJldHVybiBsaXN0O1xuICB9KTtcblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoZmlyc3Q6IG51bWJlciwgcm93cyA9IHRoaXMucm93cygpKSB7XG4gICAgY29uc3QgcGFnZSA9IE1hdGguZmxvb3IoZmlyc3QgLyBNYXRoLm1heCgxLCByb3dzKSk7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBmaXJzdCwgcm93cywgcGFnZSwgcGFnZUNvdW50OiB0aGlzLnBhZ2VDb3VudCgpIH0pO1xuICB9XG5cbiAgZ290b1BhZ2UoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNhZmUgPSBNYXRoLm1pbihNYXRoLm1heChpbmRleCwgMCksIHRoaXMucGFnZUNvdW50KCkgLSAxKTtcbiAgICB0aGlzLmVtaXRDaGFuZ2Uoc2FmZSAqIHRoaXMucm93cygpKTtcbiAgfVxuXG4gIGZpcnN0UGFnZSgpIHsgdGhpcy5nb3RvUGFnZSgwKTsgfVxuICBwcmV2UGFnZSgpIHsgdGhpcy5nb3RvUGFnZSh0aGlzLmN1cnJlbnRQYWdlKCkgLSAxKTsgfVxuICBuZXh0UGFnZSgpIHsgdGhpcy5nb3RvUGFnZSh0aGlzLmN1cnJlbnRQYWdlKCkgKyAxKTsgfVxuICBsYXN0UGFnZSgpIHsgdGhpcy5nb3RvUGFnZSh0aGlzLnBhZ2VDb3VudCgpIC0gMSk7IH1cblxuICBvblJvd3NDaGFuZ2Uocm93czogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJvd3Muc2V0KFN0cmluZyhyb3dzKSBhcyBPcHRpb25WYWx1ZSk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlKDAsIHJvd3MpO1xuICB9XG5cbiAgb25Sb3dzQ29tYm9Nb2RlbCh2YWw6IE9wdGlvblZhbHVlIHwgT3B0aW9uVmFsdWVbXSB8IG51bGwpIHtcbiAgICBjb25zdCByYXcgPSBBcnJheS5pc0FycmF5KHZhbCkgPyB2YWxbMF0gOiB2YWw7XG4gICAgY29uc3QgbiA9IE51bWJlcihyYXcpO1xuICAgIGlmICghTnVtYmVyLmlzTmFOKG4pKSB0aGlzLm9uUm93c0NoYW5nZShuKTtcbiAgfVxuXG4gIGlzQ3VycmVudChwOiBudW1iZXIpIHsgcmV0dXJuIHAgPT09IHRoaXMuY3VycmVudFBhZ2UoKTsgfVxuICBhc051bWJlcihwOiBudW1iZXIgfCAn4oCmJyk6IHAgaXMgbnVtYmVyIHsgcmV0dXJuIHR5cGVvZiBwID09PSAnbnVtYmVyJzsgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1wYWdpbmF0b3JcIiByb2xlPVwibmF2aWdhdGlvblwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJzZGMtcGFnaW5hdG9yLWxlZnRcIj5cbiAgICA8IS0tIGJvdMO1ZXMgZSBww6FnaW5hcyAoaW5hbHRlcmFkbykgLS0+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1wYWdlIHNkYy1lZGdlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSgpID09PSAwXCJcbiAgICAgIChjbGljayk9XCJmaXJzdFBhZ2UoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUHJpbWVpcmEgcMOhZ2luYVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtc3RlcC1mb3J3YXJkIGZhLXJvdGF0ZS0xODBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1wYWdlIHNkYy1lZGdlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSgpID09PSAwXCJcbiAgICAgIChjbGljayk9XCJwcmV2UGFnZSgpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQw6FnaW5hIGFudGVyaW9yXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1jYXJldC1sZWZ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcCBvZiBwYWdlcygpXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiYXNOdW1iZXIocClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtcGFnZVwiXG4gICAgICAgIFtjbGFzcy5pcy1hY3RpdmVdPVwiaXNDdXJyZW50KHApXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImlzQ3VycmVudChwKSA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwiZ290b1BhZ2UocClcIlxuICAgICAgPlxuICAgICAgICB7eyBwICsgMSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFhc051bWJlcihwKVwiIGNsYXNzPVwic2RjLWVsbGlwc2lzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+4oCmPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1wYWdlIHNkYy1lZGdlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSgpID49IHBhZ2VDb3VudCgpIC0gMVwiXG4gICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUHLDs3hpbWEgcMOhZ2luYVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2FyZXQtcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1wYWdlIHNkYy1lZGdlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSgpID49IHBhZ2VDb3VudCgpIC0gMVwiXG4gICAgICAoY2xpY2spPVwibGFzdFBhZ2UoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiw5psdGltYSBww6FnaW5hXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1zdGVwLWZvcndhcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPHNkYy1jb21ib2JveFxuICAgICAgY2xhc3M9XCJzZGMtcm93cy1jb21ib2JveFwiXG4gICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgW29wdGlvbnNdPVwicm93T3B0aW9ucygpXCJcbiAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgW3Nob3dDbGVhcl09XCJmYWxzZVwiXG4gICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJvd3MoKVwiXG4gICAgICAob25TZWxlY3RlZEl0ZW0pPVwib25Sb3dzQ29tYm9Nb2RlbCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zZGMtY29tYm9ib3g+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cInNkYy10b3RhbFwiICpuZ0lmPVwidG90YWxSZWNvcmRzTGFiZWwoKVwiPiB7eyB0b3RhbFJlY29yZHNMYWJlbCgpIH19OiB7eyB0b3RhbFJlY29yZHMoKSB9fSA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQWlCbkUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO0lBQ2pDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7SUFDaEMsWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUN4QyxrQkFBa0IsR0FBRyxLQUFLLENBQXVCLFNBQVMsQ0FBQyxDQUFDO0lBQzVELFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTVCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUVqRCxVQUFVLEdBQUcsUUFBUSxDQUFlLEdBQUcsRUFBRTtRQUNoRCxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxD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LFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUF1QztRQUN0RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVM7UUFDakIsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBZTtRQUN0QixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUMvQixDQUFDO3dHQTdGVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiwrNkJDckIvQixrbUVBc0VBLGl3RER0RFksWUFBWSwrUEFBRSxXQUFXLCtWQUFFLGlCQUFpQjs7NEZBSzNDLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxtQkFHdEMsdUJBQXVCLENBQUMsTUFBTTs4QkFVckMsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgT3B0aW9uSXRlbSwgT3B0aW9uVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB7IENvbWJvYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgUGFnaW5hdG9yU3RhdGUgPSB7XG4gIGZpcnN0OiBudW1iZXI7XG4gIHJvd3M6IG51bWJlcjtcbiAgcGFnZTogbnVtYmVyO1xuICBwYWdlQ291bnQ6IG51bWJlcjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1wYWdpbmF0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQ29tYm9ib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQge1xuICBmaXJzdCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgcm93cyA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgdG90YWxSZWNvcmRzID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xuICByb3dzUGVyUGFnZU9wdGlvbnMgPSBpbnB1dDxudW1iZXJbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgaXNNb2JpbGUgPSBpbnB1dChmYWxzZSk7XG4gIHRvdGFsUmVjb3Jkc0xhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2luYXRvclN0YXRlPigpO1xuXG4gIHJlYWRvbmx5IHJvd09wdGlvbnMgPSBjb21wdXRlZDxPcHRpb25JdGVtW10+KCgpID0+IHtcbiAgICBjb25zdCBvcHRzID0gKHRoaXMucm93c1BlclBhZ2VPcHRpb25zKCkgPz8gW10pLm1hcCh2ID0+ICh7XG4gICAgICB0ZXh0OiBTdHJpbmcodiksXG4gICAgICB2YWx1ZTogU3RyaW5nKHYpIGFzIE9wdGlvblZhbHVlLFxuICAgIH0pKTtcbiAgICBjb25zdCBjdXIgPSBTdHJpbmcodGhpcy5yb3dzKCkpO1xuICAgIGlmICghb3B0cy5zb21lKG8gPT4gby52YWx1ZSA9PT0gY3VyKSkge1xuICAgICAgb3B0cy51bnNoaWZ0KHsgdGV4dDogY3VyLCB2YWx1ZTogY3VyIGFzIE9wdGlvblZhbHVlIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3B0cztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcGFnZUNvdW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHIgPSB0aGlzLnJvd3MoKTtcbiAgICBjb25zdCB0ID0gdGhpcy50b3RhbFJlY29yZHMoKTtcbiAgICByZXR1cm4gciA+IDAgPyBNYXRoLm1heCgxLCBNYXRoLmNlaWwodCAvIHIpKSA6IDE7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRQYWdlID0gY29tcHV0ZWQoKCkgPT4gTWF0aC5mbG9vcih0aGlzLmZpcnN0KCkgLyBNYXRoLm1heCgxLCB0aGlzLnJvd3MoKSkpKTtcblxuICByZWFkb25seSBwYWdlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMucGFnZUNvdW50KCk7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuY3VycmVudFBhZ2UoKTtcbiAgICBjb25zdCB3aW4gPSB0aGlzLmlzTW9iaWxlKCkgPyAzIDogNztcblxuICAgIGlmIChjb3VudCA8PSB3aW4pIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBjb3VudCB9LCAoXywgaSkgPT4gaSk7XG5cbiAgICBjb25zdCBuZWFyID0gTWF0aC5mbG9vcigod2luIC0gMykgLyAyKTtcbiAgICBjb25zdCBzdGFydCA9IE1hdGgubWF4KDEsIGN1cnJlbnQgLSBuZWFyKTtcbiAgICBjb25zdCBlbmQgPSBNYXRoLm1pbihjb3VudCAtIDIsIGN1cnJlbnQgKyBuZWFyKTtcbiAgICBjb25zdCBsaXN0OiBBcnJheTxudW1iZXIgfCAn4oCmJz4gPSBbMF07XG5cbiAgICBpZiAoc3RhcnQgPiAxKSBsaXN0LnB1c2goJ+KApicpO1xuICAgIGZvciAobGV0IHAgPSBzdGFydDsgcCA8PSBlbmQ7IHArKykgbGlzdC5wdXNoKHApO1xuICAgIGlmIChlbmQgPCBjb3VudCAtIDIpIGxpc3QucHVzaCgn4oCmJyk7XG4gICAgbGlzdC5wdXNoKGNvdW50IC0gMSk7XG5cbiAgICByZXR1cm4gbGlzdDtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBlbWl0Q2hhbmdlKGZpcnN0OiBudW1iZXIsIHJvd3MgPSB0aGlzLnJvd3MoKSkge1xuICAgIGNvbnN0IHNhZmVSb3dzID0gcm93cyA+IDAgPyByb3dzIDogMTtcbiAgICBjb25zdCBwYWdlID0gTWF0aC5mbG9vcihmaXJzdCAvIHNhZmVSb3dzKTtcbiAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IGZpcnN0LCByb3dzOiBzYWZlUm93cywgcGFnZSwgcGFnZUNvdW50OiB0aGlzLnBhZ2VDb3VudCgpIH0pO1xuICB9XG5cbiAgZ290b1BhZ2UoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNhZmUgPSBNYXRoLm1pbihNYXRoLm1heChpbmRleCwgMCksIHRoaXMucGFnZUNvdW50KCkgLSAxKTtcbiAgICB0aGlzLmVtaXRDaGFuZ2Uoc2FmZSAqIHRoaXMucm93cygpKTtcbiAgfVxuXG4gIGZpcnN0UGFnZSgpIHtcbiAgICB0aGlzLmdvdG9QYWdlKDApO1xuICB9XG5cbiAgcHJldlBhZ2UoKSB7XG4gICAgdGhpcy5nb3RvUGFnZSh0aGlzLmN1cnJlbnRQYWdlKCkgLSAxKTtcbiAgfVxuXG4gIG5leHRQYWdlKCkge1xuICAgIHRoaXMuZ290b1BhZ2UodGhpcy5jdXJyZW50UGFnZSgpICsgMSk7XG4gIH1cblxuICBsYXN0UGFnZSgpIHtcbiAgICB0aGlzLmdvdG9QYWdlKHRoaXMucGFnZUNvdW50KCkgLSAxKTtcbiAgfVxuXG4gIG9uUm93c0NoYW5nZShyb3dzOiBudW1iZXIpIHtcbiAgICB0aGlzLmVtaXRDaGFuZ2UoMCwgcm93cyk7XG4gIH1cblxuICBvblJvd3NDb21ib01vZGVsKHZhbDogT3B0aW9uVmFsdWUgfCBPcHRpb25WYWx1ZVtdIHwgbnVsbCkge1xuICAgIGNvbnN0IHJhdyA9IEFycmF5LmlzQXJyYXkodmFsKSA/IHZhbFswXSA6IHZhbDtcbiAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgaWYgKCFOdW1iZXIuaXNOYU4obikpIHRoaXMub25Sb3dzQ2hhbmdlKG4pO1xuICB9XG5cbiAgaXNDdXJyZW50KHA6IG51bWJlcikge1xuICAgIHJldHVybiBwID09PSB0aGlzLmN1cnJlbnRQYWdlKCk7XG4gIH1cblxuICBhc051bWJlcihwOiBudW1iZXIgfCAn4oCmJyk6IHAgaXMgbnVtYmVyIHtcbiAgICByZXR1cm4gdHlwZW9mIHAgPT09ICdudW1iZXInO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXBhZ2luYXRvclwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIj5cbiAgPGRpdiBjbGFzcz1cInNkYy1wYWdpbmF0b3ItbGVmdFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJzZGMtcGFnZSBzZGMtZWRnZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UoKSA9PT0gMFwiXG4gICAgICAoY2xpY2spPVwiZmlyc3RQYWdlKClcIlxuICAgICAgYXJpYS1sYWJlbD1cIlByaW1laXJhIHDDoWdpbmFcIlxuICAgID5cbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXN0ZXAtZm9yd2FyZCBmYS1yb3RhdGUtMTgwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1wYWdlIHNkYy1lZGdlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSgpID09PSAwXCJcbiAgICAgIChjbGljayk9XCJwcmV2UGFnZSgpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQw6FnaW5hIGFudGVyaW9yXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1jYXJldC1sZWZ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcCBvZiBwYWdlcygpXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiYXNOdW1iZXIocClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtcGFnZVwiXG4gICAgICAgIFtjbGFzcy5pcy1hY3RpdmVdPVwiaXNDdXJyZW50KHApXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImlzQ3VycmVudChwKSA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwiZ290b1BhZ2UocClcIlxuICAgICAgPlxuICAgICAgICB7eyBwICsgMSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFhc051bWJlcihwKVwiIGNsYXNzPVwic2RjLWVsbGlwc2lzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+4oCmPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1wYWdlIHNkYy1lZGdlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSgpID49IHBhZ2VDb3VudCgpIC0gMVwiXG4gICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUHLDs3hpbWEgcMOhZ2luYVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2FyZXQtcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXBhZ2Ugc2RjLWVkZ2VcIlxuICAgICAgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlKCkgPj0gcGFnZUNvdW50KCkgLSAxXCJcbiAgICAgIChjbGljayk9XCJsYXN0UGFnZSgpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCLDmmx0aW1hIHDDoWdpbmFcIlxuICAgID5cbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXN0ZXAtZm9yd2FyZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxzZGMtY29tYm9ib3hcbiAgICAgIGNsYXNzPVwic2RjLXJvd3MtY29tYm9ib3hcIlxuICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgIFtvcHRpb25zXT1cInJvd09wdGlvbnMoKVwiXG4gICAgICBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwiZmFsc2VcIlxuICAgICAgW25nTW9kZWxdPVwicm93cygpLnRvU3RyaW5nKClcIlxuICAgICAgKG9uU2VsZWN0ZWRJdGVtKT1cIm9uUm93c0NvbWJvTW9kZWwoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvc2RjLWNvbWJvYm94PlxuICA8L2Rpdj5cblxuICA8c3BhbiBjbGFzcz1cInNkYy10b3RhbFwiICpuZ0lmPVwidG90YWxSZWNvcmRzTGFiZWwoKVwiPiB7eyB0b3RhbFJlY29yZHNMYWJlbCgpIH19OiB7eyB0b3RhbFJlY29yZHMoKSB9fSA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -15,8 +15,6 @@ export declare class PaginatorComponent {
|
|
|
15
15
|
isMobile: import("@angular/core").InputSignal<boolean>;
|
|
16
16
|
totalRecordsLabel: import("@angular/core").InputSignal<string>;
|
|
17
17
|
pageChange: EventEmitter<PaginatorState>;
|
|
18
|
-
selectedRows: import("@angular/core").WritableSignal<OptionValue>;
|
|
19
|
-
constructor();
|
|
20
18
|
readonly rowOptions: import("@angular/core").Signal<OptionItem[]>;
|
|
21
19
|
readonly pageCount: import("@angular/core").Signal<number>;
|
|
22
20
|
readonly currentPage: import("@angular/core").Signal<number>;
|
|
@@ -6,7 +6,7 @@ import { TranslateModule, TranslateStore, TranslateLoader, TranslateService } fr
|
|
|
6
6
|
export { TranslateDirective, TranslateModule, TranslatePipe } from '@ngx-translate/core';
|
|
7
7
|
import { definePreset } from '@primeng/themes';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
|
-
import { makeEnvironmentProviders, ENVIRONMENT_INITIALIZER, inject, APP_INITIALIZER, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, TemplateRef, ContentChild, Directive, forwardRef, ViewChild, input,
|
|
9
|
+
import { makeEnvironmentProviders, ENVIRONMENT_INITIALIZER, inject, APP_INITIALIZER, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, TemplateRef, ContentChild, Directive, forwardRef, ViewChild, input, computed, signal, ElementRef, NgZone, ChangeDetectorRef, effect, numberAttribute, booleanAttribute, HostListener, Injectable, HostBinding, ViewChildren } from '@angular/core';
|
|
10
10
|
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
|
|
11
11
|
import { providePrimeNG } from 'primeng/config';
|
|
12
12
|
import Aura from '@primeng/themes/aura';
|
|
@@ -1490,16 +1490,10 @@ class PaginatorComponent {
|
|
|
1490
1490
|
isMobile = input(false);
|
|
1491
1491
|
totalRecordsLabel = input('');
|
|
1492
1492
|
pageChange = new EventEmitter();
|
|
1493
|
-
selectedRows = signal('0');
|
|
1494
|
-
constructor() {
|
|
1495
|
-
effect(() => {
|
|
1496
|
-
this.selectedRows.set(String(this.rows()));
|
|
1497
|
-
});
|
|
1498
|
-
}
|
|
1499
1493
|
rowOptions = computed(() => {
|
|
1500
1494
|
const opts = (this.rowsPerPageOptions() ?? []).map(v => ({
|
|
1501
1495
|
text: String(v),
|
|
1502
|
-
value: String(v)
|
|
1496
|
+
value: String(v),
|
|
1503
1497
|
}));
|
|
1504
1498
|
const cur = String(this.rows());
|
|
1505
1499
|
if (!opts.some(o => o.value === cur)) {
|
|
@@ -1533,19 +1527,27 @@ class PaginatorComponent {
|
|
|
1533
1527
|
return list;
|
|
1534
1528
|
});
|
|
1535
1529
|
emitChange(first, rows = this.rows()) {
|
|
1536
|
-
const
|
|
1537
|
-
|
|
1530
|
+
const safeRows = rows > 0 ? rows : 1;
|
|
1531
|
+
const page = Math.floor(first / safeRows);
|
|
1532
|
+
this.pageChange.emit({ first, rows: safeRows, page, pageCount: this.pageCount() });
|
|
1538
1533
|
}
|
|
1539
1534
|
gotoPage(index) {
|
|
1540
1535
|
const safe = Math.min(Math.max(index, 0), this.pageCount() - 1);
|
|
1541
1536
|
this.emitChange(safe * this.rows());
|
|
1542
1537
|
}
|
|
1543
|
-
firstPage() {
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1538
|
+
firstPage() {
|
|
1539
|
+
this.gotoPage(0);
|
|
1540
|
+
}
|
|
1541
|
+
prevPage() {
|
|
1542
|
+
this.gotoPage(this.currentPage() - 1);
|
|
1543
|
+
}
|
|
1544
|
+
nextPage() {
|
|
1545
|
+
this.gotoPage(this.currentPage() + 1);
|
|
1546
|
+
}
|
|
1547
|
+
lastPage() {
|
|
1548
|
+
this.gotoPage(this.pageCount() - 1);
|
|
1549
|
+
}
|
|
1547
1550
|
onRowsChange(rows) {
|
|
1548
|
-
this.selectedRows.set(String(rows));
|
|
1549
1551
|
this.emitChange(0, rows);
|
|
1550
1552
|
}
|
|
1551
1553
|
onRowsComboModel(val) {
|
|
@@ -1554,15 +1556,19 @@ class PaginatorComponent {
|
|
|
1554
1556
|
if (!Number.isNaN(n))
|
|
1555
1557
|
this.onRowsChange(n);
|
|
1556
1558
|
}
|
|
1557
|
-
isCurrent(p) {
|
|
1558
|
-
|
|
1559
|
+
isCurrent(p) {
|
|
1560
|
+
return p === this.currentPage();
|
|
1561
|
+
}
|
|
1562
|
+
asNumber(p) {
|
|
1563
|
+
return typeof p === 'number';
|
|
1564
|
+
}
|
|
1559
1565
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1560
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PaginatorComponent, isStandalone: true, selector: "sdc-paginator", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: true, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsLabel: { classPropertyName: "totalRecordsLabel", publicName: "totalRecordsLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n
|
|
1566
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PaginatorComponent, isStandalone: true, selector: "sdc-paginator", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: true, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsLabel: { classPropertyName: "totalRecordsLabel", publicName: "totalRecordsLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"firstPage()\"\n aria-label=\"Primeira p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward fa-rotate-180\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"prevPage()\"\n aria-label=\"P\u00E1gina anterior\"\n >\n <i class=\"fas fa-caret-left\" aria-hidden=\"true\"></i>\n </button>\n\n <ng-container *ngFor=\"let p of pages()\">\n <button\n *ngIf=\"asNumber(p)\"\n type=\"button\"\n class=\"sdc-page\"\n [class.is-active]=\"isCurrent(p)\"\n [attr.aria-current]=\"isCurrent(p) ? 'page' : null\"\n (click)=\"gotoPage(p)\"\n >\n {{ p + 1 }}\n </button>\n <span *ngIf=\"!asNumber(p)\" class=\"sdc-ellipsis\" aria-hidden=\"true\">\u2026</span>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"nextPage()\"\n aria-label=\"Pr\u00F3xima p\u00E1gina\"\n >\n <i class=\"fas fa-caret-right\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"lastPage()\"\n aria-label=\"\u00DAltima p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward\" aria-hidden=\"true\"></i>\n </button>\n\n <sdc-combobox\n class=\"sdc-rows-combobox\"\n [multiple]=\"false\"\n [options]=\"rowOptions()\"\n [appendTo]=\"'body'\"\n [showClear]=\"false\"\n [ngModel]=\"rows().toString()\"\n (onSelectedItem)=\"onRowsComboModel($event)\"\n >\n </sdc-combobox>\n </div>\n\n <span class=\"sdc-total\" *ngIf=\"totalRecordsLabel()\"> {{ totalRecordsLabel() }}: {{ totalRecords() }} </span>\n</div>\n", styles: [":host{--sdc-paginator-page-size: var(--sdc-table-paginator-size, 34px);--sdc-paginator-border: #cccccc;--sdc-paginator-primary: #428bca;--sdc-paginator-primary-hover: #6aa3d5;display:block}.sdc-paginator{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;box-sizing:border-box;padding:10px 10px 10px 0}.sdc-paginator .sdc-paginator-left{display:inline-flex;align-items:center;gap:0}.sdc-paginator .sdc-paginator-left ::ng-deep .sdc-combobox{width:6.5rem!important;padding-left:1rem!important}.sdc-paginator .sdc-page{min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);padding:.4em .25em;margin:0;border:1px solid var(--sdc-paginator-border);border-right-width:0;background:transparent;color:var(--sdc-paginator-primary);cursor:pointer;transition:background-color .2s ease-out;text-align:center}.sdc-paginator .sdc-page:first-child{border-radius:4px 0 0 4px}.sdc-paginator .sdc-page:last-of-type{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator .sdc-page:hover{background-color:#f7f7f7}.sdc-paginator .sdc-page.is-active{background:var(--sdc-paginator-primary);color:#fff;border-color:var(--sdc-paginator-primary)}.sdc-paginator .sdc-page.is-active:hover{background:var(--sdc-paginator-primary-hover);border-color:var(--sdc-paginator-primary-hover)}.sdc-paginator .sdc-page:disabled{opacity:.5;cursor:not-allowed}.sdc-paginator .sdc-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);border:1px solid var(--sdc-paginator-border);border-right-width:0}.sdc-paginator .sdc-rows-combobox{width:max-content;min-width:88px}.sdc-paginator .sdc-total{white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ComboboxComponent, selector: "sdc-combobox", inputs: ["multiple", "appendTo", "zIndex", "options", "overrideChipMessage", "maxSelectedLabels", "showClear"], outputs: ["onSelectedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1561
1567
|
}
|
|
1562
1568
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
1563
1569
|
type: Component,
|
|
1564
|
-
args: [{ selector: 'sdc-paginator', standalone: true, imports: [CommonModule, FormsModule, ComboboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n
|
|
1565
|
-
}],
|
|
1570
|
+
args: [{ selector: 'sdc-paginator', standalone: true, imports: [CommonModule, FormsModule, ComboboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"firstPage()\"\n aria-label=\"Primeira p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward fa-rotate-180\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"prevPage()\"\n aria-label=\"P\u00E1gina anterior\"\n >\n <i class=\"fas fa-caret-left\" aria-hidden=\"true\"></i>\n </button>\n\n <ng-container *ngFor=\"let p of pages()\">\n <button\n *ngIf=\"asNumber(p)\"\n type=\"button\"\n class=\"sdc-page\"\n [class.is-active]=\"isCurrent(p)\"\n [attr.aria-current]=\"isCurrent(p) ? 'page' : null\"\n (click)=\"gotoPage(p)\"\n >\n {{ p + 1 }}\n </button>\n <span *ngIf=\"!asNumber(p)\" class=\"sdc-ellipsis\" aria-hidden=\"true\">\u2026</span>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"nextPage()\"\n aria-label=\"Pr\u00F3xima p\u00E1gina\"\n >\n <i class=\"fas fa-caret-right\" aria-hidden=\"true\"></i>\n </button>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"lastPage()\"\n aria-label=\"\u00DAltima p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward\" aria-hidden=\"true\"></i>\n </button>\n\n <sdc-combobox\n class=\"sdc-rows-combobox\"\n [multiple]=\"false\"\n [options]=\"rowOptions()\"\n [appendTo]=\"'body'\"\n [showClear]=\"false\"\n [ngModel]=\"rows().toString()\"\n (onSelectedItem)=\"onRowsComboModel($event)\"\n >\n </sdc-combobox>\n </div>\n\n <span class=\"sdc-total\" *ngIf=\"totalRecordsLabel()\"> {{ totalRecordsLabel() }}: {{ totalRecords() }} </span>\n</div>\n", styles: [":host{--sdc-paginator-page-size: var(--sdc-table-paginator-size, 34px);--sdc-paginator-border: #cccccc;--sdc-paginator-primary: #428bca;--sdc-paginator-primary-hover: #6aa3d5;display:block}.sdc-paginator{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;box-sizing:border-box;padding:10px 10px 10px 0}.sdc-paginator .sdc-paginator-left{display:inline-flex;align-items:center;gap:0}.sdc-paginator .sdc-paginator-left ::ng-deep .sdc-combobox{width:6.5rem!important;padding-left:1rem!important}.sdc-paginator .sdc-page{min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);padding:.4em .25em;margin:0;border:1px solid var(--sdc-paginator-border);border-right-width:0;background:transparent;color:var(--sdc-paginator-primary);cursor:pointer;transition:background-color .2s ease-out;text-align:center}.sdc-paginator .sdc-page:first-child{border-radius:4px 0 0 4px}.sdc-paginator .sdc-page:last-of-type{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator .sdc-page:hover{background-color:#f7f7f7}.sdc-paginator .sdc-page.is-active{background:var(--sdc-paginator-primary);color:#fff;border-color:var(--sdc-paginator-primary)}.sdc-paginator .sdc-page.is-active:hover{background:var(--sdc-paginator-primary-hover);border-color:var(--sdc-paginator-primary-hover)}.sdc-paginator .sdc-page:disabled{opacity:.5;cursor:not-allowed}.sdc-paginator .sdc-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);border:1px solid var(--sdc-paginator-border);border-right-width:0}.sdc-paginator .sdc-rows-combobox{width:max-content;min-width:88px}.sdc-paginator .sdc-total{white-space:nowrap}\n"] }]
|
|
1571
|
+
}], propDecorators: { pageChange: [{
|
|
1566
1572
|
type: Output
|
|
1567
1573
|
}] } });
|
|
1568
1574
|
|
|
@@ -2833,7 +2839,7 @@ class CardListComponent {
|
|
|
2833
2839
|
return;
|
|
2834
2840
|
this.page.set({
|
|
2835
2841
|
first: event.first ?? 0,
|
|
2836
|
-
rows: event.rows ?? this.page().rows
|
|
2842
|
+
rows: event.rows ?? this.page().rows,
|
|
2837
2843
|
});
|
|
2838
2844
|
}
|
|
2839
2845
|
nextPage() {
|
|
@@ -2872,7 +2878,9 @@ class CardListComponent {
|
|
|
2872
2878
|
if (Array.isArray(v))
|
|
2873
2879
|
return v;
|
|
2874
2880
|
const o = v;
|
|
2875
|
-
return Object.keys(o)
|
|
2881
|
+
return Object.keys(o)
|
|
2882
|
+
.sort()
|
|
2883
|
+
.reduce((acc, key) => {
|
|
2876
2884
|
acc[key] = o[key];
|
|
2877
2885
|
return acc;
|
|
2878
2886
|
}, {});
|
|
@@ -2889,11 +2897,19 @@ class CardListComponent {
|
|
|
2889
2897
|
}
|
|
2890
2898
|
}
|
|
2891
2899
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2892
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <
|
|
2900
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <div (click)=\"onCardClick(card)\">\n <sdc-card [options]=\"options().customCard\" [data]=\"card\"></sdc-card>\n </div>\n </div>\n }\n </div>\n\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-between sdc-paginator pt-3\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"[5, 10, 20]\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:25rem;min-width:17rem;align-content:center}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%;padding:.5rem}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardComponent, selector: "sdc-card", inputs: ["data", "options"], outputs: ["cardAction"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "model"], outputs: ["onClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2893
2901
|
}
|
|
2894
2902
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, decorators: [{
|
|
2895
2903
|
type: Component,
|
|
2896
|
-
args: [{ selector: 'sdc-card-list', standalone: true, imports: [
|
|
2904
|
+
args: [{ selector: 'sdc-card-list', standalone: true, imports: [
|
|
2905
|
+
CommonModule,
|
|
2906
|
+
CardComponent,
|
|
2907
|
+
TranslateModule,
|
|
2908
|
+
ButtonComponent,
|
|
2909
|
+
PaginatorComponent,
|
|
2910
|
+
EmptyStateModule,
|
|
2911
|
+
LoadingStateModule,
|
|
2912
|
+
], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <div (click)=\"onCardClick(card)\">\n <sdc-card [options]=\"options().customCard\" [data]=\"card\"></sdc-card>\n </div>\n </div>\n }\n </div>\n\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-between sdc-paginator pt-3\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"[5, 10, 20]\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:25rem;min-width:17rem;align-content:center}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%;padding:.5rem}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"] }]
|
|
2897
2913
|
}], propDecorators: { data: [{
|
|
2898
2914
|
type: Input
|
|
2899
2915
|
}], loading: [{
|