info-library 2.10.87 → 2.14.0
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/controls/alert/alert.component.d.ts +3 -0
- package/controls/autocomplete/autocomplete.component.d.ts +5 -2
- package/controls/big-checkbox/big-checkbox.component.d.ts +3 -0
- package/controls/card/card.component.d.ts +3 -0
- package/controls/card-menu/card-menu.component.d.ts +3 -0
- package/controls/checkbox/checkbox.component.d.ts +3 -0
- package/controls/chips/chips.component.d.ts +3 -0
- package/controls/date/date.component.d.ts +3 -0
- package/controls/date-month/date-month.component.d.ts +3 -0
- package/controls/editor/editor.component.d.ts +3 -0
- package/controls/grid/grid.component.d.ts +5 -0
- package/controls/input/input.component.d.ts +3 -0
- package/controls/input-list/input-list.component.d.ts +3 -0
- package/controls/list-checkbox/list-checkbox.component.d.ts +3 -0
- package/controls/message/message.component.d.ts +3 -0
- package/controls/multi-select/multi-select.component.d.ts +3 -0
- package/controls/paginator/paginator.component.d.ts +3 -0
- package/controls/select/select.component.d.ts +3 -0
- package/controls/timeline/timeline.component.d.ts +3 -0
- package/directives/mask.directive.d.ts +3 -0
- package/directives/unmask.directive.d.ts +3 -0
- package/esm2020/controls/alert/alert.component.mjs +74 -0
- package/esm2020/controls/autocomplete/autocomplete.component.mjs +258 -0
- package/esm2020/controls/big-checkbox/big-checkbox.component.mjs +298 -0
- package/esm2020/controls/card/card.component.mjs +77 -0
- package/esm2020/controls/card-menu/card-menu.component.mjs +145 -0
- package/esm2020/controls/checkbox/checkbox.component.mjs +93 -0
- package/esm2020/controls/chips/chips.component.mjs +113 -0
- package/esm2020/controls/date/date.component.mjs +141 -0
- package/esm2020/controls/date-month/date-month.component.mjs +148 -0
- package/esm2020/controls/editor/editor.component.mjs +135 -0
- package/esm2020/controls/grid/grid.component.mjs +1800 -0
- package/esm2020/controls/input/input.component.mjs +314 -0
- package/esm2020/controls/input-list/input-list.component.mjs +258 -0
- package/esm2020/controls/list-checkbox/list-checkbox.component.mjs +238 -0
- package/esm2020/controls/message/message.component.mjs +50 -0
- package/esm2020/controls/multi-select/multi-select.component.mjs +161 -0
- package/esm2020/controls/paginator/paginator.component.mjs +178 -0
- package/esm2020/controls/select/select.component.mjs +180 -0
- package/esm2020/controls/timeline/timeline.component.mjs +117 -0
- package/esm2020/directives/mask.directive.mjs +125 -0
- package/esm2020/directives/unmask.directive.mjs +28 -0
- package/esm2020/enum/dialog-buttons.enum.mjs +9 -0
- package/esm2020/enum/index.mjs +4 -0
- package/esm2020/enum/modal-action.enum.mjs +12 -0
- package/esm2020/enum/page-action.enum.mjs +10 -0
- package/esm2020/global-config.mjs +4 -0
- package/esm2020/info-library.mjs +5 -0
- package/esm2020/info-library.module.mjs +278 -0
- package/esm2020/layouts/dialog/dialog.component.mjs +188 -0
- package/esm2020/layouts/loading/loading.component.mjs +42 -0
- package/esm2020/layouts/main/main.component.mjs +276 -0
- package/esm2020/layouts/modal/modal.component.mjs +258 -0
- package/esm2020/layouts/pagebar/pagebar.component.mjs +404 -0
- package/esm2020/layouts/sidebar/sidebar.component.mjs +395 -0
- package/esm2020/layouts/topbar/topbar.component.mjs +863 -0
- package/esm2020/layouts/topmenu/topmenu.component.mjs +165 -0
- package/esm2020/model/app-config.model.mjs +14 -0
- package/esm2020/model/data-access.model.mjs +35 -0
- package/esm2020/model/dialog-result.model.mjs +8 -0
- package/esm2020/model/dialog.model.mjs +16 -0
- package/esm2020/model/form-prop.model.mjs +35 -0
- package/esm2020/model/grid-button.model.mjs +21 -0
- package/esm2020/model/index.mjs +15 -0
- package/esm2020/model/last-search.model.mjs +9 -0
- package/esm2020/model/login.model.mjs +9 -0
- package/esm2020/model/method-grid-button.model.mjs +9 -0
- package/esm2020/model/notification.model.mjs +9 -0
- package/esm2020/model/pagebar-buttons.model.mjs +15 -0
- package/esm2020/model/permission.model.mjs +3 -0
- package/esm2020/model/platform.model.mjs +21 -0
- package/esm2020/model/session.model.mjs +8 -0
- package/esm2020/pipe/index.mjs +3 -0
- package/esm2020/pipe/mask.pipe.mjs +34 -0
- package/esm2020/pipe/translate.pipe.mjs +26 -0
- package/esm2020/public_api.mjs +36 -0
- package/esm2020/service/authentication.service.mjs +358 -0
- package/esm2020/service/configuration.service.mjs +59 -0
- package/esm2020/service/data.service.mjs +112 -0
- package/esm2020/service/index.mjs +6 -0
- package/esm2020/service/theme.service.mjs +79 -0
- package/esm2020/service/translate.service.mjs +53 -0
- package/esm2020/utils/utilities.mjs +142 -0
- package/fesm2015/info-library.mjs +9326 -0
- package/fesm2015/info-library.mjs.map +1 -0
- package/fesm2020/info-library.mjs +8474 -0
- package/fesm2020/info-library.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/info-library.module.d.ts +58 -0
- package/layouts/dialog/dialog.component.d.ts +5 -0
- package/layouts/loading/loading.component.d.ts +3 -0
- package/layouts/main/main.component.d.ts +6 -0
- package/layouts/modal/modal.component.d.ts +3 -0
- package/layouts/pagebar/pagebar.component.d.ts +5 -0
- package/layouts/sidebar/sidebar.component.d.ts +4 -1
- package/layouts/topbar/topbar.component.d.ts +4 -1
- package/layouts/topmenu/topmenu.component.d.ts +3 -0
- package/package.json +28 -13
- package/pipe/mask.pipe.d.ts +3 -0
- package/pipe/translate.pipe.d.ts +3 -0
- package/service/authentication.service.d.ts +5 -0
- package/service/configuration.service.d.ts +3 -0
- package/service/data.service.d.ts +3 -0
- package/service/theme.service.d.ts +3 -0
- package/service/translate.service.d.ts +3 -0
- package/utils/utilities.d.ts +3 -0
- package/bundles/info-library.umd.js +0 -9740
- package/bundles/info-library.umd.js.map +0 -1
- package/bundles/info-library.umd.min.js +0 -2
- package/bundles/info-library.umd.min.js.map +0 -1
- package/esm2015/controls/alert/alert.component.js +0 -43
- package/esm2015/controls/autocomplete/autocomplete.component.js +0 -386
- package/esm2015/controls/big-checkbox/big-checkbox.component.js +0 -282
- package/esm2015/controls/card/card.component.js +0 -64
- package/esm2015/controls/card-menu/card-menu.component.js +0 -90
- package/esm2015/controls/checkbox/checkbox.component.js +0 -130
- package/esm2015/controls/chips/chips.component.js +0 -124
- package/esm2015/controls/date/date.component.js +0 -167
- package/esm2015/controls/date-month/date-month.component.js +0 -181
- package/esm2015/controls/editor/editor.component.js +0 -237
- package/esm2015/controls/grid/grid.component.js +0 -1391
- package/esm2015/controls/input/input.component.js +0 -196
- package/esm2015/controls/input-list/input-list.component.js +0 -160
- package/esm2015/controls/list-checkbox/list-checkbox.component.js +0 -151
- package/esm2015/controls/message/message.component.js +0 -47
- package/esm2015/controls/multi-select/multi-select.component.js +0 -213
- package/esm2015/controls/paginator/paginator.component.js +0 -151
- package/esm2015/controls/select/select.component.js +0 -231
- package/esm2015/controls/timeline/timeline.component.js +0 -73
- package/esm2015/directives/mask.directive.js +0 -202
- package/esm2015/directives/unmask.directive.js +0 -51
- package/esm2015/enum/dialog-buttons.enum.js +0 -20
- package/esm2015/enum/index.js +0 -9
- package/esm2015/enum/modal-action.enum.js +0 -26
- package/esm2015/enum/page-action.enum.js +0 -22
- package/esm2015/global-config.js +0 -11
- package/esm2015/info-library.js +0 -27
- package/esm2015/info-library.module.js +0 -174
- package/esm2015/layouts/dialog/dialog.component.js +0 -173
- package/esm2015/layouts/loading/loading.component.js +0 -42
- package/esm2015/layouts/main/main.component.js +0 -312
- package/esm2015/layouts/modal/modal.component.js +0 -232
- package/esm2015/layouts/pagebar/pagebar.component.js +0 -286
- package/esm2015/layouts/sidebar/sidebar.component.js +0 -231
- package/esm2015/layouts/topbar/topbar.component.js +0 -413
- package/esm2015/layouts/topmenu/topmenu.component.js +0 -181
- package/esm2015/model/app-config.model.js +0 -39
- package/esm2015/model/data-access.model.js +0 -65
- package/esm2015/model/dialog-result.model.js +0 -23
- package/esm2015/model/dialog.model.js +0 -47
- package/esm2015/model/form-prop.model.js +0 -61
- package/esm2015/model/grid-button.model.js +0 -62
- package/esm2015/model/index.js +0 -20
- package/esm2015/model/last-search.model.js +0 -24
- package/esm2015/model/login.model.js +0 -27
- package/esm2015/model/method-grid-button.model.js +0 -27
- package/esm2015/model/notification.model.js +0 -34
- package/esm2015/model/pagebar-buttons.model.js +0 -39
- package/esm2015/model/permission.model.js +0 -16
- package/esm2015/model/platform.model.js +0 -56
- package/esm2015/model/session.model.js +0 -53
- package/esm2015/pipe/index.js +0 -8
- package/esm2015/pipe/mask.pipe.js +0 -47
- package/esm2015/pipe/translate.pipe.js +0 -45
- package/esm2015/public_api.js +0 -41
- package/esm2015/service/authentication.service.js +0 -732
- package/esm2015/service/configuration.service.js +0 -107
- package/esm2015/service/data.service.js +0 -292
- package/esm2015/service/index.js +0 -11
- package/esm2015/service/theme.service.js +0 -133
- package/esm2015/service/translate.service.js +0 -105
- package/esm2015/utils/utilities.js +0 -256
- package/fesm2015/info-library.js +0 -8792
- package/fesm2015/info-library.js.map +0 -1
- package/info-library.d.ts +0 -21
- package/info-library.metadata.json +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Component, Input, forwardRef, Output, EventEmitter } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { InfoDataService } from "../../service/data.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../service/data.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/form-field";
|
|
9
|
+
import * as i5 from "@angular/material/select";
|
|
10
|
+
import * as i6 from "@angular/material/core";
|
|
11
|
+
import * as i7 from "@angular/material/progress-bar";
|
|
12
|
+
import * as i8 from "../../pipe/translate.pipe";
|
|
13
|
+
function InfoMultiSelectComponent_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
15
|
+
i0.ɵɵelement(1, "span", 5);
|
|
16
|
+
i0.ɵɵpipe(2, "translate");
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const i_r2 = ctx.$implicit;
|
|
20
|
+
i0.ɵɵproperty("value", i_r2.Id);
|
|
21
|
+
i0.ɵɵadvance(1);
|
|
22
|
+
i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(2, 2, i_r2.Nome), i0.ɵɵsanitizeHtml);
|
|
23
|
+
} }
|
|
24
|
+
function InfoMultiSelectComponent_mat_progress_bar_7_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelement(0, "mat-progress-bar", 6);
|
|
26
|
+
} }
|
|
27
|
+
export class InfoMultiSelectComponent {
|
|
28
|
+
constructor(_dataAcessService) {
|
|
29
|
+
this._dataAcessService = _dataAcessService;
|
|
30
|
+
this.placeholder = '';
|
|
31
|
+
this.name = '';
|
|
32
|
+
this.required = false;
|
|
33
|
+
this.selectfirst = false;
|
|
34
|
+
this.disablednoregisters = false;
|
|
35
|
+
this.api = null;
|
|
36
|
+
this.method = 'getchavevalor';
|
|
37
|
+
this.loading = false;
|
|
38
|
+
this.disabled = false;
|
|
39
|
+
this.onselecteditem = new EventEmitter();
|
|
40
|
+
this.selectedValues = [];
|
|
41
|
+
this.initialized = false;
|
|
42
|
+
this._params = null;
|
|
43
|
+
this._data = [];
|
|
44
|
+
}
|
|
45
|
+
get params() {
|
|
46
|
+
return this._params;
|
|
47
|
+
}
|
|
48
|
+
set params(value) {
|
|
49
|
+
this._params = value;
|
|
50
|
+
if (this.initialized)
|
|
51
|
+
this.getData();
|
|
52
|
+
}
|
|
53
|
+
get data() {
|
|
54
|
+
return this._data;
|
|
55
|
+
}
|
|
56
|
+
set data(value) {
|
|
57
|
+
this._data = value;
|
|
58
|
+
if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => this.selectedValues?.indexOf(d.Id) > -1))
|
|
59
|
+
this.writeValue([this.data[0].Id]);
|
|
60
|
+
if (this.disablednoregisters)
|
|
61
|
+
this.setDisabledState((this.data == null || this.data.length == 0));
|
|
62
|
+
}
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
this.name += this.placeholder.replace(/ /g, '');
|
|
65
|
+
this.getData();
|
|
66
|
+
}
|
|
67
|
+
writeValue(value) {
|
|
68
|
+
this.selectedValues = value;
|
|
69
|
+
this.onChangeValue();
|
|
70
|
+
}
|
|
71
|
+
getData() {
|
|
72
|
+
this.initialized = true;
|
|
73
|
+
if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))
|
|
74
|
+
return;
|
|
75
|
+
this.loading = true;
|
|
76
|
+
this.data = [];
|
|
77
|
+
this._dataAcessService.get(this.api, this.method, this.params).subscribe(r => {
|
|
78
|
+
if (r.success) {
|
|
79
|
+
this.data = r.data;
|
|
80
|
+
if ((this.selectedValues || []).length > 0)
|
|
81
|
+
this.onChangeValue();
|
|
82
|
+
}
|
|
83
|
+
this.loading = false;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
onChangeValue() {
|
|
87
|
+
if (this.onChange != null)
|
|
88
|
+
this.onChange(this.selectedValues);
|
|
89
|
+
if (this.onselecteditem != null)
|
|
90
|
+
this.onselecteditem.emit(this.data == null ? null : this.data.filter(r => this.selectedValues?.indexOf(r.Id) > -1));
|
|
91
|
+
}
|
|
92
|
+
registerOnChange(fn) {
|
|
93
|
+
this.onChange = fn;
|
|
94
|
+
}
|
|
95
|
+
registerOnTouched(fn) {
|
|
96
|
+
this.onTouched = fn;
|
|
97
|
+
}
|
|
98
|
+
setDisabledState(isDisabled) {
|
|
99
|
+
this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/** @nocollapse */ InfoMultiSelectComponent.ɵfac = function InfoMultiSelectComponent_Factory(t) { return new (t || InfoMultiSelectComponent)(i0.ɵɵdirectiveInject(i1.InfoDataService)); };
|
|
103
|
+
/** @nocollapse */ InfoMultiSelectComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoMultiSelectComponent, selectors: [["info-multi-select"]], inputs: { placeholder: "placeholder", name: "name", required: "required", selectfirst: "selectfirst", disablednoregisters: "disablednoregisters", api: "api", method: "method", loading: "loading", disabled: "disabled", params: "params", data: "data" }, outputs: { onselecteditem: "onselecteditem" }, features: [i0.ɵɵProvidersFeature([{
|
|
104
|
+
provide: NG_VALUE_ACCESSOR,
|
|
105
|
+
useExisting: forwardRef((() => InfoMultiSelectComponent)),
|
|
106
|
+
multi: true
|
|
107
|
+
}])], decls: 8, vars: 8, consts: [["multiple", "", 3, "ngModel", "disabled", "required", "ngModelChange", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [1, "select-loading"], ["color", "primary", "mode", "indeterminate", 4, "ngIf"], [3, "value"], [3, "innerHtml"], ["color", "primary", "mode", "indeterminate"]], template: function InfoMultiSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-label");
|
|
109
|
+
i0.ɵɵtext(2);
|
|
110
|
+
i0.ɵɵpipe(3, "translate");
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
112
|
+
i0.ɵɵelementStart(4, "mat-select", 0);
|
|
113
|
+
i0.ɵɵlistener("ngModelChange", function InfoMultiSelectComponent_Template_mat_select_ngModelChange_4_listener($event) { return ctx.selectedValues = $event; })("selectionChange", function InfoMultiSelectComponent_Template_mat_select_selectionChange_4_listener() { return ctx.onChangeValue(); });
|
|
114
|
+
i0.ɵɵtemplate(5, InfoMultiSelectComponent_mat_option_5_Template, 3, 4, "mat-option", 1);
|
|
115
|
+
i0.ɵɵelementEnd()();
|
|
116
|
+
i0.ɵɵelementStart(6, "section", 2);
|
|
117
|
+
i0.ɵɵtemplate(7, InfoMultiSelectComponent_mat_progress_bar_7_Template, 1, 0, "mat-progress-bar", 3);
|
|
118
|
+
i0.ɵɵelementEnd();
|
|
119
|
+
} if (rf & 2) {
|
|
120
|
+
i0.ɵɵadvance(2);
|
|
121
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, ctx.placeholder));
|
|
122
|
+
i0.ɵɵadvance(2);
|
|
123
|
+
i0.ɵɵproperty("ngModel", ctx.selectedValues)("disabled", ctx.disabled || ctx.loading)("required", ctx.required);
|
|
124
|
+
i0.ɵɵadvance(1);
|
|
125
|
+
i0.ɵɵproperty("ngForOf", ctx.data);
|
|
126
|
+
i0.ɵɵadvance(2);
|
|
127
|
+
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
128
|
+
} }, dependencies: [i2.NgForOf, i2.NgIf, i3.NgControlStatus, i3.RequiredValidator, i3.NgModel, i4.MatFormField, i4.MatLabel, i5.MatSelect, i6.MatOption, i7.MatProgressBar, i8.InfoTranslatePipe], styles: ["[_nghost-%COMP%] .mat-select-trigger[_ngcontent-%COMP%]{height:19px}[_nghost-%COMP%] .mat-form-field-type-mat-select[_ngcontent-%COMP%] .mat-form-field-label[_ngcontent-%COMP%]{height:20px}[_nghost-%COMP%] .select-loading[_ngcontent-%COMP%]{position:relative;bottom:15px;opacity:.3;height:1px}[_nghost-%COMP%] .select-loading[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%]{height:1px;margin:0}.min[_nghost-%COMP%] .mat-form-field[_ngcontent-%COMP%]{margin:0!important}"] });
|
|
129
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoMultiSelectComponent, [{
|
|
130
|
+
type: Component,
|
|
131
|
+
args: [{ selector: 'info-multi-select', providers: [{
|
|
132
|
+
provide: NG_VALUE_ACCESSOR,
|
|
133
|
+
useExisting: forwardRef((() => InfoMultiSelectComponent)),
|
|
134
|
+
multi: true
|
|
135
|
+
}], template: "<mat-form-field>\r\n <mat-label>{{placeholder | translate}}</mat-label>\r\n\r\n <mat-select [(ngModel)]=\"selectedValues\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\" multiple>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\">\r\n <span [innerHtml]=\"i.Nome | translate\"></span>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>", styles: [":host .mat-select-trigger{height:19px}:host .mat-form-field-type-mat-select .mat-form-field-label{height:20px}:host .select-loading{position:relative;bottom:15px;opacity:.3;height:1px}:host .select-loading .mat-progress-bar{height:1px;margin:0}:host.min .mat-form-field{margin:0!important}\n"] }]
|
|
136
|
+
}], function () { return [{ type: i1.InfoDataService }]; }, { placeholder: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], name: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], required: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], selectfirst: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], disablednoregisters: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], api: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], method: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], loading: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], disabled: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], onselecteditem: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}], params: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], data: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}] }); })();
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7SUNFckQscUNBQWtEO0lBQzlDLDBCQUE4Qzs7SUFDbEQsaUJBQWE7OztJQUZzQiwrQkFBYztJQUN2QyxlQUFnQztJQUFoQyw4RUFBZ0M7OztJQU05QyxzQ0FDbUI7O0FERXZCLE1BQU0sT0FBTyx3QkFBd0I7SUFpRGpDLFlBQW9CLGlCQUFrQztRQUFsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWlCO1FBL0M3QyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsYUFBUSxHQUFRLEtBQUssQ0FBQztRQUN0QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsUUFBRyxHQUFRLElBQUksQ0FBQztRQUNoQixXQUFNLEdBQUcsZUFBZSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFF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QUFvQixtQkFBZSxJQUFuQztRQUNwQyx1RkFFYTtRQUNsQixpQkFBYSxFQUFBO1FBR2hCLGtDQUFnQztRQUM1QixtR0FDbUI7UUFDdkIsaUJBQVU7O1FBWkssZUFBMkI7UUFBM0IsMkRBQTJCO1FBRTFCLGVBQTRCO1FBQTVCLDRDQUE0Qix5Q0FBQSwwQkFBQTtRQUNWLGVBQU87UUFBUCxrQ0FBTztRQU9tQixlQUFhO1FBQWIsa0NBQWE7O3VGREc1RCx3QkFBd0I7Y0FWcEMsU0FBUzsyQkFDSSxtQkFBbUIsYUFHbEIsQ0FBQzt3QkFDUixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx5QkFBeUIsRUFBQzt3QkFDdkQsS0FBSyxFQUFFLElBQUk7cUJBQ2QsQ0FBQztrRUFJTyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBRUksY0FBYztrQkFBdkIsTUFBTTtZQVVILE1BQU07a0JBRFQsS0FBSztZQWNGLElBQUk7a0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGF0YS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1tdWx0aS1zZWxlY3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdtdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ211bHRpLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9NdWx0aVNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvTXVsdGlTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgQElucHV0KCkgbmFtZSA9ICcnO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGFueSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2VsZWN0Zmlyc3QgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkbm9yZWdpc3RlcnMgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGFwaTogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1ldGhvZCA9ICdnZXRjaGF2ZXZhbG9yJztcclxuICAgIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uc2VsZWN0ZWRpdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHNlbGVjdGVkVmFsdWVzOiBhbnlbXSA9IFtdO1xyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIG9uVG91Y2hlZDogYW55O1xyXG5cclxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICAgIFxyXG4gICAgX3BhcmFtczogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcGFyYW1zKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgcGFyYW1zKHZhbHVlKXtcclxuICAgICAgICB0aGlzLl9wYXJhbXMgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBfZGF0YTogYW55ID0gW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhdGEoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGF0YSh2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGZpcnN0ICYmIHRoaXMuZGF0YSAhPSBudWxsICYmIHRoaXMuZGF0YS5sZW5ndGggPiAwICYmICF0aGlzLmRhdGEuc29tZShkID0+IHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmluZGV4T2YoZC5JZCkgPiAtMSkpXHJcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShbdGhpcy5kYXRhWzBdLklkXSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRub3JlZ2lzdGVycylcclxuICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKCh0aGlzLmRhdGEgPT0gbnVsbCB8fCB0aGlzLmRhdGEubGVuZ3RoID09IDApKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhQWNlc3NTZXJ2aWNlOiBJbmZvRGF0YVNlcnZpY2UpIHsgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLm5hbWUgKz0gdGhpcy5wbGFjZWhvbGRlci5yZXBsYWNlKC8gL2csICcnKTtcclxuICAgICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0YSgpIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5hcGkgPT0gbnVsbCB8fCAodGhpcy5wYXJhbXMgIT0gbnVsbCAmJiB0aGlzLnBhcmFtcy50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3VuZGVmaW5lZCcpID4gLTEpKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5fZGF0YUFjZXNzU2VydmljZS5nZXQodGhpcy5hcGksIHRoaXMubWV0aG9kLCB0aGlzLnBhcmFtcykuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByLmRhdGE7XHJcbiAgICAgICAgICAgICAgICBpZiAoKHRoaXMuc2VsZWN0ZWRWYWx1ZXMgfHwgW10pLmxlbmd0aCA+IDApIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCl7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWVzKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMub25zZWxlY3RlZGl0ZW0gIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbnNlbGVjdGVkaXRlbS5lbWl0KHRoaXMuZGF0YSA9PSBudWxsID8gbnVsbCA6IHRoaXMuZGF0YS5maWx0ZXIociA9PiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5pbmRleE9mKHIuSWQpID4gLTEpKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkbm9yZWdpc3RlcnMgJiYgKHRoaXMuZGF0YSA9PSBudWxsIHx8IHRoaXMuZGF0YS5sZW5ndGggPT0gMCkgPyB0cnVlIDogaXNEaXNhYmxlZDtcclxuICAgIH1cclxufSIsIjxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtbGFiZWw+e3twbGFjZWhvbGRlciB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcblxyXG4gICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlc1wiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaSBvZiBkYXRhXCIgW3ZhbHVlXT1cImkuSWRcIj5cclxuICAgICAgICAgICAgPHNwYW4gW2lubmVySHRtbF09XCJpLk5vbWUgfCB0cmFuc2xhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICA8L21hdC1zZWxlY3Q+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48c2VjdGlvbiBjbGFzcz1cInNlbGVjdC1sb2FkaW5nXCI+XHJcbiAgICA8bWF0LXByb2dyZXNzLWJhciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwibG9hZGluZ1wiID5cclxuICAgIDwvbWF0LXByb2dyZXNzLWJhcj5cclxuPC9zZWN0aW9uPiJdfQ==
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
import * as i3 from "@angular/material/button";
|
|
6
|
+
import * as i4 from "@angular/material/tooltip";
|
|
7
|
+
import * as i5 from "../../pipe/translate.pipe";
|
|
8
|
+
function InfoPaginatorComponent_div_0_label_3_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵelementStart(0, "label", 9);
|
|
10
|
+
i0.ɵɵtext(1);
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
} if (rf & 2) {
|
|
13
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
14
|
+
i0.ɵɵadvance(1);
|
|
15
|
+
i0.ɵɵtextInterpolate(ctx_r1.totalDescription);
|
|
16
|
+
} }
|
|
17
|
+
const _c0 = function (a0) { return { "active": a0 }; };
|
|
18
|
+
function InfoPaginatorComponent_div_0_li_16_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
20
|
+
i0.ɵɵelementStart(0, "li")(1, "button", 10);
|
|
21
|
+
i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_li_16_Template_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r5); const page_r3 = restoredCtx.$implicit; const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.goto(page_r3)); });
|
|
22
|
+
i0.ɵɵtext(2);
|
|
23
|
+
i0.ɵɵelementEnd()();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const page_r3 = ctx.$implicit;
|
|
26
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
27
|
+
i0.ɵɵadvance(1);
|
|
28
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0, page_r3 === ctx_r2.indexActive));
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵtextInterpolate(page_r3 + 1);
|
|
31
|
+
} }
|
|
32
|
+
const _c1 = function (a0, a1) { return { "descriptions-min": a0, "descriptions": a1 }; };
|
|
33
|
+
const _c2 = function (a0, a1) { return { "pages-min": a0, "pages": a1 }; };
|
|
34
|
+
function InfoPaginatorComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
36
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3);
|
|
37
|
+
i0.ɵɵtemplate(3, InfoPaginatorComponent_div_0_label_3_Template, 2, 1, "label", 4);
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "ul")(6, "li", 6)(7, "button", 7);
|
|
40
|
+
i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.goto(0)); });
|
|
41
|
+
i0.ɵɵpipe(8, "translate");
|
|
42
|
+
i0.ɵɵelementStart(9, "mat-icon");
|
|
43
|
+
i0.ɵɵtext(10, "first_page");
|
|
44
|
+
i0.ɵɵelementEnd()()();
|
|
45
|
+
i0.ɵɵelementStart(11, "li", 6)(12, "button", 7);
|
|
46
|
+
i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.previous()); });
|
|
47
|
+
i0.ɵɵpipe(13, "translate");
|
|
48
|
+
i0.ɵɵelementStart(14, "mat-icon");
|
|
49
|
+
i0.ɵɵtext(15, "chevron_left");
|
|
50
|
+
i0.ɵɵelementEnd()()();
|
|
51
|
+
i0.ɵɵtemplate(16, InfoPaginatorComponent_div_0_li_16_Template, 3, 4, "li", 8);
|
|
52
|
+
i0.ɵɵelementStart(17, "li", 6)(18, "button", 7);
|
|
53
|
+
i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r7); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.next()); });
|
|
54
|
+
i0.ɵɵpipe(19, "translate");
|
|
55
|
+
i0.ɵɵelementStart(20, "mat-icon");
|
|
56
|
+
i0.ɵɵtext(21, "chevron_right");
|
|
57
|
+
i0.ɵɵelementEnd()()();
|
|
58
|
+
i0.ɵɵelementStart(22, "li", 6)(23, "button", 7);
|
|
59
|
+
i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r7); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.goto(ctx_r10.numberPages - 1)); });
|
|
60
|
+
i0.ɵɵpipe(24, "translate");
|
|
61
|
+
i0.ɵɵelementStart(25, "mat-icon");
|
|
62
|
+
i0.ɵɵtext(26, "last_page");
|
|
63
|
+
i0.ɵɵelementEnd()()()()()()();
|
|
64
|
+
} if (rf & 2) {
|
|
65
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
66
|
+
i0.ɵɵadvance(2);
|
|
67
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(20, _c1, ctx_r0.min == true, ctx_r0.min != true));
|
|
68
|
+
i0.ɵɵadvance(1);
|
|
69
|
+
i0.ɵɵproperty("ngIf", ctx_r0.totalDescription != null);
|
|
70
|
+
i0.ɵɵadvance(1);
|
|
71
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(23, _c2, ctx_r0.min == true, ctx_r0.min != true));
|
|
72
|
+
i0.ɵɵadvance(3);
|
|
73
|
+
i0.ɵɵproperty("disabled", ctx_r0.index == 0)("matTooltip", i0.ɵɵpipeBind1(8, 12, "Primeira"));
|
|
74
|
+
i0.ɵɵadvance(5);
|
|
75
|
+
i0.ɵɵproperty("disabled", ctx_r0.index == 0)("matTooltip", i0.ɵɵpipeBind1(13, 14, "Anterior"));
|
|
76
|
+
i0.ɵɵadvance(4);
|
|
77
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.pages);
|
|
78
|
+
i0.ɵɵadvance(2);
|
|
79
|
+
i0.ɵɵproperty("disabled", ctx_r0.index >= ctx_r0.numberPages - 1)("matTooltip", i0.ɵɵpipeBind1(19, 16, "Proxima"));
|
|
80
|
+
i0.ɵɵadvance(5);
|
|
81
|
+
i0.ɵɵproperty("disabled", ctx_r0.index >= ctx_r0.numberPages - 1)("matTooltip", i0.ɵɵpipeBind1(24, 18, "Ultima"));
|
|
82
|
+
} }
|
|
83
|
+
export class InfoPaginatorComponent {
|
|
84
|
+
constructor() {
|
|
85
|
+
this.size = 5;
|
|
86
|
+
this.min = false;
|
|
87
|
+
this.show = false;
|
|
88
|
+
this.index = 0;
|
|
89
|
+
this.change = new EventEmitter();
|
|
90
|
+
this._total = 0;
|
|
91
|
+
this.indexActive = 0;
|
|
92
|
+
this.numberPages = 1;
|
|
93
|
+
this.pages = [];
|
|
94
|
+
this.totalDescription = '';
|
|
95
|
+
}
|
|
96
|
+
get total() {
|
|
97
|
+
return this._total;
|
|
98
|
+
}
|
|
99
|
+
set total(value) {
|
|
100
|
+
this._total = value;
|
|
101
|
+
this.initialize();
|
|
102
|
+
}
|
|
103
|
+
refresh(total) {
|
|
104
|
+
this.total = total;
|
|
105
|
+
}
|
|
106
|
+
initialize() {
|
|
107
|
+
this.pages = [];
|
|
108
|
+
this.indexActive = this.index;
|
|
109
|
+
this.numberPages = Math.ceil(this.total / this.size);
|
|
110
|
+
if (this.total > this.size) {
|
|
111
|
+
let i = (this.index > 2) ? (this.index - 2) : 0;
|
|
112
|
+
let x = this.numberPages;
|
|
113
|
+
if ((this.index + 2) < this.numberPages) {
|
|
114
|
+
let aux = 3;
|
|
115
|
+
if (this.index < 2)
|
|
116
|
+
aux = (5 - this.index);
|
|
117
|
+
x = (this.index + aux);
|
|
118
|
+
}
|
|
119
|
+
else if ((this.index - 2) > 0)
|
|
120
|
+
i = this.index - (5 - (this.numberPages - this.index));
|
|
121
|
+
if (i < 0)
|
|
122
|
+
i = 0;
|
|
123
|
+
if (x > this.numberPages)
|
|
124
|
+
x = this.numberPages;
|
|
125
|
+
for (i; i < x; i++)
|
|
126
|
+
this.pages.push(i);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.pages.push(0);
|
|
130
|
+
}
|
|
131
|
+
this.setDescription();
|
|
132
|
+
this.show = true;
|
|
133
|
+
}
|
|
134
|
+
goto(index) {
|
|
135
|
+
if (this.index == index)
|
|
136
|
+
return;
|
|
137
|
+
this.index = index;
|
|
138
|
+
this.change.emit(this.index);
|
|
139
|
+
}
|
|
140
|
+
next() {
|
|
141
|
+
this.goto(this.index + 1);
|
|
142
|
+
}
|
|
143
|
+
previous() {
|
|
144
|
+
this.goto(this.index - 1);
|
|
145
|
+
}
|
|
146
|
+
setDescription() {
|
|
147
|
+
let currentInit = (this.size * this.index) + 1;
|
|
148
|
+
let currentEnd = this.size * (this.index + 1);
|
|
149
|
+
if (currentEnd > this.total)
|
|
150
|
+
currentEnd = this.total;
|
|
151
|
+
if (currentInit == null || currentEnd == null)
|
|
152
|
+
return;
|
|
153
|
+
this.totalDescription = currentInit.toLocaleString('pt-BR') + ' - ' + currentEnd.toLocaleString('pt-BR') + ' de ' + this.total.toLocaleString('pt-BR');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/** @nocollapse */ InfoPaginatorComponent.ɵfac = function InfoPaginatorComponent_Factory(t) { return new (t || InfoPaginatorComponent)(); };
|
|
157
|
+
/** @nocollapse */ InfoPaginatorComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoPaginatorComponent, selectors: [["info-paginator"]], inputs: { size: "size", min: "min", show: "show", total: "total" }, outputs: { index: "index", change: "change" }, decls: 1, vars: 1, consts: [["class", "info-paginator", 4, "ngIf"], [1, "info-paginator"], [1, "row"], [1, "col-md-2", 3, "ngClass"], ["class", "total", 4, "ngIf"], [1, "col-md", "align-right", 3, "ngClass"], [1, "icon"], ["mat-button", "", 3, "disabled", "matTooltip", "click"], [4, "ngFor", "ngForOf"], [1, "total"], ["mat-button", "", 3, "ngClass", "click"]], template: function InfoPaginatorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
+
i0.ɵɵtemplate(0, InfoPaginatorComponent_div_0_Template, 27, 26, "div", 0);
|
|
159
|
+
} if (rf & 2) {
|
|
160
|
+
i0.ɵɵproperty("ngIf", ctx.show);
|
|
161
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.InfoTranslatePipe], styles: ["[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .descriptions[_ngcontent-%COMP%], [_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .pages[_ngcontent-%COMP%]{padding-right:10px!important;padding-left:10px!important}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .descriptions-min[_ngcontent-%COMP%], [_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .pages-min[_ngcontent-%COMP%]{padding-right:0!important;padding-left:0!important}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:inline-block;font-size:14px}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{min-width:34px;line-height:25px;padding:0;margin:0 2px}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-button.active[_ngcontent-%COMP%]{font-weight:700}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:20px}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li.icon[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{padding:0 2px}"] });
|
|
162
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoPaginatorComponent, [{
|
|
163
|
+
type: Component,
|
|
164
|
+
args: [{ selector: 'info-paginator', template: "<div class=\"info-paginator\" *ngIf=\"show\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-2\" [ngClass]=\"{ 'descriptions-min': min == true, 'descriptions': min != true }\">\r\n <label class=\"total\" *ngIf=\"totalDescription != null\">{{totalDescription}}</label>\r\n </div>\r\n <div class=\"col-md align-right\" [ngClass]=\"{ 'pages-min': min == true, 'pages': min != true }\">\r\n <ul>\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(0)\" [disabled]=\"index == 0\" [matTooltip]=\"'Primeira' | translate\" >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"previous()\" [disabled]=\"index == 0\" [matTooltip]=\"'Anterior' | translate\" >\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li *ngFor=\"let page of pages\" >\r\n <button mat-button (click)=\"goto(page)\" [ngClass]=\"{\r\n 'active': page === indexActive\r\n }\" >{{page + 1}}</button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"next()\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Proxima' | translate\" >\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(numberPages - 1)\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Ultima' | translate\" >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>", styles: [":host>.info-paginator .descriptions,:host>.info-paginator .pages{padding-right:10px!important;padding-left:10px!important}:host>.info-paginator .descriptions-min,:host>.info-paginator .pages-min{padding-right:0!important;padding-left:0!important}:host>.info-paginator ul{list-style:none;margin:0;padding:0}:host>.info-paginator ul li{display:inline-block;font-size:14px}:host>.info-paginator ul li .mat-button{min-width:34px;line-height:25px;padding:0;margin:0 2px}:host>.info-paginator ul li .mat-button.active{font-weight:700}:host>.info-paginator ul li .mat-button .mat-icon{font-size:20px}:host>.info-paginator ul li.icon .mat-button{padding:0 2px}\n"] }]
|
|
165
|
+
}], null, { size: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], min: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], show: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], index: [{
|
|
172
|
+
type: Output
|
|
173
|
+
}], change: [{
|
|
174
|
+
type: Output
|
|
175
|
+
}], total: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}] }); })();
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNHM0QsZ0NBQXNEO0lBQUEsWUFBb0I7SUFBQSxpQkFBUTs7O0lBQTVCLGVBQW9CO0lBQXBCLDZDQUFvQjs7Ozs7SUFnQnRFLDBCQUFnQyxpQkFBQTtJQUNULHFPQUFTLGVBQUEsb0JBQVUsQ0FBQSxJQUFDO0lBRW5DLFlBQVk7SUFBQSxpQkFBUyxFQUFBOzs7O0lBRmUsZUFFdEM7SUFGc0Msb0ZBRXRDO0lBQUUsZUFBWTtJQUFaLGlDQUFZOzs7Ozs7SUF0QnBDLDhCQUEwQyxhQUFBLGFBQUE7SUFHOUIsaUZBQWtGO0lBQ3RGLGlCQUFNO0lBQ04sOEJBQStGLFNBQUEsWUFBQSxnQkFBQTtJQUdoRSxtS0FBUyxlQUFBLFlBQUssQ0FBQyxDQUFDLENBQUEsSUFBQzs7SUFDaEMsZ0NBQVU7SUFBQSwyQkFBVTtJQUFBLGlCQUFXLEVBQUEsRUFBQTtJQUl2Qyw4QkFBaUIsaUJBQUE7SUFDTSxvS0FBUyxlQUFBLGlCQUFVLENBQUEsSUFBQzs7SUFDbkMsaUNBQVU7SUFBQSw2QkFBWTtJQUFBLGlCQUFXLEVBQUEsRUFBQTtJQUl6Qyw2RUFJSztJQUVMLDhCQUFpQixpQkFBQTtJQUNNLG9LQUFTLGVBQUEsYUFBTSxDQUFBLElBQUM7O0lBQy9CLGlDQUFVO0lBQUEsOEJBQWE7SUFBQSxpQkFBVyxF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SUFBSSxJQUFJO1lBQUUsT0FBTztRQUV0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0osQ0FBQzs7K0dBN0ZRLHNCQUFzQjt3R0FBdEIsc0JBQXNCO1FDUm5DLHlFQXVDTTs7UUF2Q3VCLCtCQUFVOzt1RkRRMUIsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0ksZ0JBQWdCO2dCQU9qQixJQUFJO2tCQUFaLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDSSxLQUFLO2tCQUFkLE1BQU07WUFDRyxNQUFNO2tCQUFmLE1BQU07WUFJSCxLQUFLO2tCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2luZm8tcGFnaW5hdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAncGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydwYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEluZm9QYWdpbmF0b3JDb21wb25lbnQge1xyXG5cclxuICAgIEBJbnB1dCgpIHNpemUgPSA1O1xyXG4gICAgQElucHV0KCkgbWluID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzaG93ID0gZmFsc2U7XHJcbiAgICBAT3V0cHV0KCkgaW5kZXggPSAwO1xyXG4gICAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIF90b3RhbCA9IDA7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHRvdGFsKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RvdGFsO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCB0b3RhbCh2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5fdG90YWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZTogYW55O1xyXG4gICAgaW5kZXhBY3RpdmUgPSAwO1xyXG4gICAgbnVtYmVyUGFnZXMgPSAxO1xyXG4gICAgcGFnZXMgPSBbXTtcclxuICAgIHRvdGFsRGVzY3JpcHRpb24gPSAnJztcclxuXHJcbiAgICByZWZyZXNoKHRvdGFsOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICB0aGlzLnBhZ2VzID0gW107XHJcbiAgICAgICAgdGhpcy5pbmRleEFjdGl2ZSA9IHRoaXMuaW5kZXg7XHJcbiAgICAgICAgdGhpcy5udW1iZXJQYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5zaXplKTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy50b3RhbCA+IHRoaXMuc2l6ZSkge1xyXG4gICAgICAgICAgICBsZXQgaSA9ICh0aGlzLmluZGV4ID4gMikgPyAodGhpcy5pbmRleCAtIDIpIDogMDtcclxuICAgICAgICAgICAgbGV0IHggPSB0aGlzLm51bWJlclBhZ2VzO1xyXG5cclxuICAgICAgICAgICAgaWYgKCh0aGlzLmluZGV4ICsgMikgPCB0aGlzLm51bWJlclBhZ2VzKXtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGV0IGF1eCA9IDM7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbmRleCA8IDIpXHJcbiAgICAgICAgICAgICAgICAgICAgYXV4ID0gKDUgLSB0aGlzLmluZGV4KTtcclxuXHJcbiAgICAgICAgICAgICAgICB4ID0gKHRoaXMuaW5kZXggKyBhdXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKCh0aGlzLmluZGV4IC0gMikgPiAwKVxyXG4gICAgICAgICAgICAgICAgaSA9IHRoaXMuaW5kZXggLSAoNSAtICh0aGlzLm51bWJlclBhZ2VzIC0gdGhpcy5pbmRleCkpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYgKGkgPCAwKVxyXG4gICAgICAgICAgICAgICAgaSA9IDA7XHJcblxyXG4gICAgICAgICAgICBpZiAoeCA+IHRoaXMubnVtYmVyUGFnZXMpXHJcbiAgICAgICAgICAgICAgICB4ID0gdGhpcy5udW1iZXJQYWdlcztcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBmb3IgKGk7IGkgPCB4OyBpKyspXHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VzLnB1c2goaSk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZXMucHVzaCgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zZXREZXNjcmlwdGlvbigpO1xyXG4gICAgICAgIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgZ290byhpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuaW5kZXggPT0gaW5kZXgpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5pbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dCgpIHtcclxuICAgICAgICB0aGlzLmdvdG8odGhpcy5pbmRleCArIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzKCkge1xyXG4gICAgICAgIHRoaXMuZ290byh0aGlzLmluZGV4IC0gMSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGVzY3JpcHRpb24oKXtcclxuICAgICAgICBsZXQgY3VycmVudEluaXQgPSAodGhpcy5zaXplICogdGhpcy5pbmRleCkgKyAxO1xyXG4gICAgICAgIGxldCBjdXJyZW50RW5kID0gdGhpcy5zaXplICogKHRoaXMuaW5kZXggKyAxKTtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRFbmQgPiB0aGlzLnRvdGFsKVxyXG4gICAgICAgICAgICBjdXJyZW50RW5kID0gdGhpcy50b3RhbDtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRJbml0ID09IG51bGwgfHwgY3VycmVudEVuZCA9PSBudWxsKSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMudG90YWxEZXNjcmlwdGlvbiA9IGN1cnJlbnRJbml0LnRvTG9jYWxlU3RyaW5nKCdwdC1CUicpICsgJyAtICcgKyBjdXJyZW50RW5kLnRvTG9jYWxlU3RyaW5nKCdwdC1CUicpICsgJyBkZSAnICsgdGhpcy50b3RhbC50b0xvY2FsZVN0cmluZygncHQtQlInKTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJpbmZvLXBhZ2luYXRvclwiICpuZ0lmPVwic2hvd1wiID5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIiBbbmdDbGFzc109XCJ7ICdkZXNjcmlwdGlvbnMtbWluJzogbWluID09IHRydWUsICdkZXNjcmlwdGlvbnMnOiBtaW4gIT0gdHJ1ZSB9XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInRvdGFsXCIgKm5nSWY9XCJ0b3RhbERlc2NyaXB0aW9uICE9IG51bGxcIj57e3RvdGFsRGVzY3JpcHRpb259fTwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZCBhbGlnbi1yaWdodFwiIFtuZ0NsYXNzXT1cInsgJ3BhZ2VzLW1pbic6IG1pbiA9PSB0cnVlLCAncGFnZXMnOiBtaW4gIT0gdHJ1ZSB9XCI+XHJcbiAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImdvdG8oMClcIiBbZGlzYWJsZWRdPVwiaW5kZXggPT0gMFwiIFttYXRUb29sdGlwXT1cIidQcmltZWlyYScgfCB0cmFuc2xhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maXJzdF9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwicHJldmlvdXMoKVwiIFtkaXNhYmxlZF09XCJpbmRleCA9PSAwXCIgW21hdFRvb2x0aXBdPVwiJ0FudGVyaW9yJyB8IHRyYW5zbGF0ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNoZXZyb25fbGVmdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlc1wiID5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImdvdG8ocGFnZSlcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdhY3RpdmUnOiBwYWdlID09PSBpbmRleEFjdGl2ZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIiA+e3twYWdlICsgMX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm5leHQoKVwiIFtkaXNhYmxlZF09XCJpbmRleCA+PSAobnVtYmVyUGFnZXMgLSAxKVwiIFttYXRUb29sdGlwXT1cIidQcm94aW1hJyB8IHRyYW5zbGF0ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJnb3RvKG51bWJlclBhZ2VzIC0gMSlcIiBbZGlzYWJsZWRdPVwiaW5kZXggPj0gKG51bWJlclBhZ2VzIC0gMSlcIiBbbWF0VG9vbHRpcF09XCInVWx0aW1hJyB8IHRyYW5zbGF0ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmxhc3RfcGFnZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Component, Input, forwardRef, Output, EventEmitter } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { InfoDataService } from "../../service/data.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../service/data.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/form-field";
|
|
9
|
+
import * as i5 from "@angular/material/select";
|
|
10
|
+
import * as i6 from "@angular/material/core";
|
|
11
|
+
import * as i7 from "@angular/material/progress-bar";
|
|
12
|
+
import * as i8 from "../../pipe/translate.pipe";
|
|
13
|
+
function InfoSelectComponent_mat_option_3_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "mat-option", 5);
|
|
15
|
+
i0.ɵɵtext(1);
|
|
16
|
+
i0.ɵɵpipe(2, "translate");
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
20
|
+
i0.ɵɵproperty("value", ctx_r0.blankItem.Id);
|
|
21
|
+
i0.ɵɵadvance(1);
|
|
22
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r0.blankItem.Nome));
|
|
23
|
+
} }
|
|
24
|
+
function InfoSelectComponent_mat_option_4_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelement(0, "mat-option", 6);
|
|
26
|
+
i0.ɵɵpipe(1, "translate");
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
const i_r3 = ctx.$implicit;
|
|
29
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
30
|
+
i0.ɵɵproperty("value", i_r3.Id)("innerHTML", i0.ɵɵpipeBind2(1, 2, i_r3.Nome, ctx_r1.notranslate === null), i0.ɵɵsanitizeHtml);
|
|
31
|
+
} }
|
|
32
|
+
function InfoSelectComponent_mat_progress_bar_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelement(0, "mat-progress-bar", 7);
|
|
34
|
+
} }
|
|
35
|
+
export class InfoSelectComponent {
|
|
36
|
+
constructor(_dataAcessService) {
|
|
37
|
+
this._dataAcessService = _dataAcessService;
|
|
38
|
+
this.placeholder = '';
|
|
39
|
+
this.name = '';
|
|
40
|
+
this.required = false;
|
|
41
|
+
this.selectfirst = false;
|
|
42
|
+
this.disablednoregisters = false;
|
|
43
|
+
this.api = null;
|
|
44
|
+
this.method = 'getchavevalor';
|
|
45
|
+
this.blank = false;
|
|
46
|
+
this.blankItem = null;
|
|
47
|
+
this.loading = false;
|
|
48
|
+
this.disabled = false;
|
|
49
|
+
this.notranslate = null;
|
|
50
|
+
this.onselecteditem = new EventEmitter();
|
|
51
|
+
this.selectedValue = null;
|
|
52
|
+
this.translatValue = true;
|
|
53
|
+
this.initialized = false;
|
|
54
|
+
this._params = null;
|
|
55
|
+
this._data = [];
|
|
56
|
+
}
|
|
57
|
+
get params() {
|
|
58
|
+
return this._params;
|
|
59
|
+
}
|
|
60
|
+
set params(value) {
|
|
61
|
+
this._params = value;
|
|
62
|
+
if (this.initialized)
|
|
63
|
+
this.getData();
|
|
64
|
+
}
|
|
65
|
+
get data() {
|
|
66
|
+
return this._data;
|
|
67
|
+
}
|
|
68
|
+
set data(value) {
|
|
69
|
+
this._data = value;
|
|
70
|
+
if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => d.Id == this.selectedValue))
|
|
71
|
+
this.writeValue(this.data[0].Id);
|
|
72
|
+
if (this.disablednoregisters)
|
|
73
|
+
this.setDisabledState((this.data == null || this.data.length == 0));
|
|
74
|
+
}
|
|
75
|
+
ngOnInit() {
|
|
76
|
+
this.name += this.placeholder.replace(/ /g, '');
|
|
77
|
+
this.blank = (this.required !== '' && this.required !== 'true' && this.required !== true);
|
|
78
|
+
if (this.blankItem == null)
|
|
79
|
+
this.blankItem = { Id: null, Nome: '' };
|
|
80
|
+
this.getData();
|
|
81
|
+
}
|
|
82
|
+
writeValue(value) {
|
|
83
|
+
this.selectedValue = value;
|
|
84
|
+
this.onChangeValue();
|
|
85
|
+
}
|
|
86
|
+
getData() {
|
|
87
|
+
this.initialized = true;
|
|
88
|
+
if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))
|
|
89
|
+
return;
|
|
90
|
+
this.loading = true;
|
|
91
|
+
this.data = [];
|
|
92
|
+
this._dataAcessService.get(this.api, this.method, this.params).subscribe(r => {
|
|
93
|
+
if (r.success) {
|
|
94
|
+
this.data = r.data;
|
|
95
|
+
if (this.selectedValue)
|
|
96
|
+
this.onChangeValue();
|
|
97
|
+
}
|
|
98
|
+
this.loading = false;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
onChangeValue() {
|
|
102
|
+
if (this.onChange != null)
|
|
103
|
+
this.onChange(this.selectedValue);
|
|
104
|
+
if (this.onselecteditem != null)
|
|
105
|
+
this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == this.selectedValue));
|
|
106
|
+
}
|
|
107
|
+
registerOnChange(fn) {
|
|
108
|
+
this.onChange = fn;
|
|
109
|
+
}
|
|
110
|
+
registerOnTouched(fn) {
|
|
111
|
+
this.onTouched = fn;
|
|
112
|
+
}
|
|
113
|
+
setDisabledState(isDisabled) {
|
|
114
|
+
this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/** @nocollapse */ InfoSelectComponent.ɵfac = function InfoSelectComponent_Factory(t) { return new (t || InfoSelectComponent)(i0.ɵɵdirectiveInject(i1.InfoDataService)); };
|
|
118
|
+
/** @nocollapse */ InfoSelectComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoSelectComponent, selectors: [["info-select"]], inputs: { placeholder: "placeholder", name: "name", required: "required", selectfirst: "selectfirst", disablednoregisters: "disablednoregisters", api: "api", method: "method", blank: "blank", blankItem: "blankItem", loading: "loading", disabled: "disabled", notranslate: "notranslate", params: "params", data: "data" }, outputs: { onselecteditem: "onselecteditem" }, features: [i0.ɵɵProvidersFeature([{
|
|
119
|
+
provide: NG_VALUE_ACCESSOR,
|
|
120
|
+
useExisting: forwardRef((() => InfoSelectComponent)),
|
|
121
|
+
multi: true
|
|
122
|
+
}])], decls: 7, vars: 9, consts: [[3, "placeholder", "ngModel", "disabled", "required", "ngModelChange", "selectionChange"], [3, "value", 4, "ngIf"], [3, "value", "innerHTML", 4, "ngFor", "ngForOf"], [1, "select-loading"], ["color", "primary", "mode", "indeterminate", 4, "ngIf"], [3, "value"], [3, "value", "innerHTML"], ["color", "primary", "mode", "indeterminate"]], template: function InfoSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-select", 0);
|
|
124
|
+
i0.ɵɵlistener("ngModelChange", function InfoSelectComponent_Template_mat_select_ngModelChange_1_listener($event) { return ctx.selectedValue = $event; })("selectionChange", function InfoSelectComponent_Template_mat_select_selectionChange_1_listener() { return ctx.onChangeValue(); });
|
|
125
|
+
i0.ɵɵpipe(2, "translate");
|
|
126
|
+
i0.ɵɵtemplate(3, InfoSelectComponent_mat_option_3_Template, 3, 4, "mat-option", 1);
|
|
127
|
+
i0.ɵɵtemplate(4, InfoSelectComponent_mat_option_4_Template, 2, 5, "mat-option", 2);
|
|
128
|
+
i0.ɵɵelementEnd()();
|
|
129
|
+
i0.ɵɵelementStart(5, "section", 3);
|
|
130
|
+
i0.ɵɵtemplate(6, InfoSelectComponent_mat_progress_bar_6_Template, 1, 0, "mat-progress-bar", 4);
|
|
131
|
+
i0.ɵɵelementEnd();
|
|
132
|
+
} if (rf & 2) {
|
|
133
|
+
i0.ɵɵadvance(1);
|
|
134
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, ctx.placeholder))("ngModel", ctx.selectedValue)("disabled", ctx.disabled || ctx.loading)("required", ctx.required);
|
|
135
|
+
i0.ɵɵadvance(2);
|
|
136
|
+
i0.ɵɵproperty("ngIf", ctx.blank);
|
|
137
|
+
i0.ɵɵadvance(1);
|
|
138
|
+
i0.ɵɵproperty("ngForOf", ctx.data);
|
|
139
|
+
i0.ɵɵadvance(2);
|
|
140
|
+
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
141
|
+
} }, dependencies: [i2.NgForOf, i2.NgIf, i3.NgControlStatus, i3.RequiredValidator, i3.NgModel, i4.MatFormField, i5.MatSelect, i6.MatOption, i7.MatProgressBar, i8.InfoTranslatePipe], styles: ["[_nghost-%COMP%] .mat-select-trigger[_ngcontent-%COMP%]{height:19px}[_nghost-%COMP%] .mat-form-field-type-mat-select[_ngcontent-%COMP%] .mat-form-field-label[_ngcontent-%COMP%]{height:20px}[_nghost-%COMP%] .mat-option[_ngcontent-%COMP%]{height:unset;white-space:normal}[_nghost-%COMP%] .select-loading[_ngcontent-%COMP%]{position:relative;bottom:15px;opacity:.3;height:1px}[_nghost-%COMP%] .select-loading[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%]{height:1px;margin:0}.min[_nghost-%COMP%] .mat-form-field[_ngcontent-%COMP%]{margin:0!important}"] });
|
|
142
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoSelectComponent, [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'info-select', providers: [{
|
|
145
|
+
provide: NG_VALUE_ACCESSOR,
|
|
146
|
+
useExisting: forwardRef((() => InfoSelectComponent)),
|
|
147
|
+
multi: true
|
|
148
|
+
}], template: "<mat-form-field>\r\n <mat-select [placeholder]=\"placeholder | translate\" [(ngModel)]=\"selectedValue\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\">\r\n <mat-option *ngIf=\"blank\" [value]=\"blankItem.Id\">{{ blankItem.Nome | translate }}</mat-option>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\" [innerHTML]=\"i.Nome | translate:(notranslate===null)\"></mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>", styles: [":host .mat-select-trigger{height:19px}:host .mat-form-field-type-mat-select .mat-form-field-label{height:20px}:host .mat-option{height:unset;white-space:normal}:host .select-loading{position:relative;bottom:15px;opacity:.3;height:1px}:host .select-loading .mat-progress-bar{height:1px;margin:0}:host.min .mat-form-field{margin:0!important}\n"] }]
|
|
149
|
+
}], function () { return [{ type: i1.InfoDataService }]; }, { placeholder: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], name: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], required: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], selectfirst: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], disablednoregisters: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], api: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], method: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], blank: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], blankItem: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], loading: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], disabled: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], notranslate: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], onselecteditem: [{
|
|
174
|
+
type: Output
|
|
175
|
+
}], params: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], data: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}] }); })();
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7SUNBckQscUNBQWlEO0lBQUEsWUFBZ0M7O0lBQUEsaUJBQWE7OztJQUFwRSwyQ0FBc0I7SUFBQyxlQUFnQztJQUFoQyxpRUFBZ0M7OztJQUNqRixnQ0FBcUg7Ozs7O0lBQWxGLCtCQUFjLDhGQUFBOzs7SUFLckQsc0NBQ21COztBREt2QixNQUFNLE9BQU8sbUJBQW1CO0lBcUQ1QixZQUFvQixpQkFBa0M7UUFBbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpQjtRQW5EN0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGFBQVEsR0FBUSxLQUFLLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLFFBQUcsR0FBUSxJQUFJLENBQUM7UUFDaEIsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUN6QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsY0FBUyxHQUFRLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FB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bnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLXNlbGVjdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5mb1NlbGVjdENvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIEBJbnB1dCgpIG5hbWUgPSAnJztcclxuICAgIEBJbnB1dCgpIHJlcXVpcmVkOiBhbnkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGZpcnN0ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZG5vcmVnaXN0ZXJzID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBhcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBtZXRob2QgPSAnZ2V0Y2hhdmV2YWxvcic7XHJcbiAgICBASW5wdXQoKSBibGFuayA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYmxhbmtJdGVtOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG5vdHJhbnNsYXRlOiBhbnkgPSBudWxsO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbnNlbGVjdGVkaXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBzZWxlY3RlZFZhbHVlOiBhbnkgPSBudWxsO1xyXG4gICAgdHJhbnNsYXRWYWx1ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBvbkNoYW5nZTogYW55O1xyXG4gICAgb25Ub3VjaGVkOiBhbnk7XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICBfcGFyYW1zOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwYXJhbXMoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJhbXModmFsdWUpe1xyXG4gICAgICAgIHRoaXMuX3BhcmFtcyA9IHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZClcclxuICAgICAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIF9kYXRhOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGF0YSgpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBkYXRhKHZhbHVlKXtcclxuICAgICAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0Zmlyc3QgJiYgdGhpcy5kYXRhICE9IG51bGwgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDAgJiYgIXRoaXMuZGF0YS5zb21lKGQgPT4gZC5JZCA9PSB0aGlzLnNlbGVjdGVkVmFsdWUpKVxyXG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhWzBdLklkKTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZG5vcmVnaXN0ZXJzKVxyXG4gICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoKHRoaXMuZGF0YSA9PSBudWxsIHx8IHRoaXMuZGF0YS5sZW5ndGggPT0gMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RhdGFBY2Vzc1NlcnZpY2U6IEluZm9EYXRhU2VydmljZSkgeyAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubmFtZSArPSB0aGlzLnBsYWNlaG9sZGVyLnJlcGxhY2UoLyAvZywgJycpO1xyXG4gICAgICAgIHRoaXMuYmxhbmsgPSAodGhpcy5yZXF1aXJlZCAhPT0gJycgJiYgdGhpcy5yZXF1aXJlZCAhPT0gJ3RydWUnICYmIHRoaXMucmVxdWlyZWQgIT09IHRydWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5ibGFua0l0ZW0gPT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5ibGFua0l0ZW0gPSB7IElkOiBudWxsLCBOb21lOiAnJyB9O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0YSgpIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5hcGkgPT0gbnVsbCB8fCAodGhpcy5wYXJhbXMgIT0gbnVsbCAmJiB0aGlzLnBhcmFtcy50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3VuZGVmaW5lZCcpID4gLTEpKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5fZGF0YUFjZXNzU2VydmljZS5nZXQodGhpcy5hcGksIHRoaXMubWV0aG9kLCB0aGlzLnBhcmFtcykuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByLmRhdGE7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlKSB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpe1xyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMub25zZWxlY3RlZGl0ZW0gIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbnNlbGVjdGVkaXRlbS5lbWl0KHRoaXMuZGF0YSA9PSBudWxsID8gbnVsbCA6IHRoaXMuZGF0YS5maW5kKHIgPT4gci5JZCA9PSB0aGlzLnNlbGVjdGVkVmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkbm9yZWdpc3RlcnMgJiYgKHRoaXMuZGF0YSA9PSBudWxsIHx8IHRoaXMuZGF0YS5sZW5ndGggPT0gMCkgPyB0cnVlIDogaXNEaXNhYmxlZDtcclxuICAgIH1cclxufSIsIjxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWYWx1ZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImJsYW5rXCIgW3ZhbHVlXT1cImJsYW5rSXRlbS5JZFwiPnt7IGJsYW5rSXRlbS5Ob21lIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpIG9mIGRhdGFcIiBbdmFsdWVdPVwiaS5JZFwiIFtpbm5lckhUTUxdPVwiaS5Ob21lIHwgdHJhbnNsYXRlOihub3RyYW5zbGF0ZT09PW51bGwpXCI+PC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPHNlY3Rpb24gY2xhc3M9XCJzZWxlY3QtbG9hZGluZ1wiPlxyXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImxvYWRpbmdcIiA+XHJcbiAgICA8L21hdC1wcm9ncmVzcy1iYXI+XHJcbjwvc2VjdGlvbj4iXX0=
|