valtech-components 2.0.104 → 2.0.106
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/lib/components/molecules/search-selector-input/search-selector-input.component.mjs +109 -55
- package/fesm2022/valtech-components.mjs +113 -59
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/search-selector-input/search-selector-input.component.d.ts +9 -0
- package/package.json +1 -1
package/esm2022/lib/components/molecules/search-selector-input/search-selector-input.component.mjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { Component, Input } from '@angular/core';
|
|
4
4
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { IonButton, IonButtons, IonContent, IonFooter, IonHeader, IonItem, IonLabel, IonList, IonRadio, IonTitle, IonToolbar, } from '@ionic/angular/standalone';
|
|
6
|
-
import { SearchbarComponent } from '../searchbar/searchbar.component';
|
|
5
|
+
import { IonButton, IonButtons, IonContent, IonFooter, IonHeader, IonInput, IonItem, IonLabel, IonList, IonModal, IonRadio, IonSelect, IonTitle, IonToolbar, } from '@ionic/angular/standalone';
|
|
7
6
|
import { replaceSpecialChars } from '../../../shared/utils/text';
|
|
7
|
+
import { SearchbarComponent } from '../searchbar/searchbar.component';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@ionic/angular";
|
|
10
10
|
import * as i2 from "@angular/common";
|
|
@@ -23,9 +23,15 @@ export class SelectorModalComponent {
|
|
|
23
23
|
this.selection = -1;
|
|
24
24
|
this.showAllAtStart = true;
|
|
25
25
|
this.searching = false;
|
|
26
|
+
this.isModalOpen = false;
|
|
26
27
|
this.listVolatile = [];
|
|
27
28
|
this.noResult = SEARCH_SELECTOR_NO_RESULT;
|
|
28
29
|
this.noNothing = SEARCH_SELECTOR_NO_OPTIONS;
|
|
30
|
+
this.customModalOptions = {
|
|
31
|
+
header: 'Seleccione',
|
|
32
|
+
breakpoints: [0, 0.6],
|
|
33
|
+
initialBreakpoint: 0.6,
|
|
34
|
+
};
|
|
29
35
|
}
|
|
30
36
|
ngOnInit() {
|
|
31
37
|
this.listVolatile = [];
|
|
@@ -34,9 +40,7 @@ export class SelectorModalComponent {
|
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
42
|
dismiss() {
|
|
37
|
-
this.
|
|
38
|
-
confirmed: false,
|
|
39
|
-
});
|
|
43
|
+
this.toggleModal(false);
|
|
40
44
|
}
|
|
41
45
|
applyChanges() {
|
|
42
46
|
console.log(this.props.control);
|
|
@@ -73,35 +77,66 @@ export class SelectorModalComponent {
|
|
|
73
77
|
onFocus() {
|
|
74
78
|
this.searching = true;
|
|
75
79
|
}
|
|
80
|
+
showSelected() {
|
|
81
|
+
const option = this.props.options.find(x => x.id === this.props.control.value);
|
|
82
|
+
if (option) {
|
|
83
|
+
return option.name;
|
|
84
|
+
}
|
|
85
|
+
return '';
|
|
86
|
+
}
|
|
87
|
+
toggleModal(isOpen) {
|
|
88
|
+
this.isModalOpen = isOpen;
|
|
89
|
+
}
|
|
90
|
+
preventDefaultBehavior(event) {
|
|
91
|
+
event.preventDefault(); // Evita el comportamiento predeterminado del selector
|
|
92
|
+
event.stopPropagation(); // Detiene la propagación del evento
|
|
93
|
+
this.toggleModal(!this.isModalOpen); // Abre el modal personalizado
|
|
94
|
+
}
|
|
76
95
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorModalComponent, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
96
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectorModalComponent, isStandalone: true, selector: "val-search-selector-input", inputs: { props: "props", selection: "selection", showAllAtStart: "showAllAtStart" }, ngImport: i0, template: `
|
|
78
|
-
<ion-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
97
|
+
<ion-select
|
|
98
|
+
id="select-search-option-action"
|
|
99
|
+
[formControl]="props.control"
|
|
100
|
+
[label]="props.label"
|
|
101
|
+
[interfaceOptions]="customModalOptions"
|
|
102
|
+
interface="popover"
|
|
103
|
+
[placeholder]="[props.placeholder]"
|
|
104
|
+
cancelText="Cancelar"
|
|
105
|
+
okText="Ok"
|
|
106
|
+
(mousedown)="preventDefaultBehavior($event)"
|
|
107
|
+
>
|
|
108
|
+
</ion-select>
|
|
109
|
+
<ion-modal #modal>
|
|
110
|
+
<ng-template>
|
|
111
|
+
<ion-header>
|
|
112
|
+
<ion-toolbar>
|
|
113
|
+
<ion-title>Seleccione</ion-title>
|
|
114
|
+
<ion-buttons slot="end">
|
|
115
|
+
<ion-button (click)="dismiss()">Cancelar</ion-button>
|
|
116
|
+
</ion-buttons>
|
|
117
|
+
</ion-toolbar>
|
|
118
|
+
</ion-header>
|
|
86
119
|
|
|
87
|
-
|
|
88
|
-
|
|
120
|
+
<ion-content>
|
|
121
|
+
<val-searchbar (filterEvent)="onFilter($event)" (focusEvent)="onFocus()" (blurEvent)="onBlur()" />
|
|
89
122
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
123
|
+
<div class="unit-list-container" *ngIf="listVolatile.length > 0">
|
|
124
|
+
<ion-list class="unit-list">
|
|
125
|
+
<ion-radio-group allow-empty-selection [formControl]="props.control">
|
|
126
|
+
<ion-item *ngFor="let option of listVolatile">
|
|
127
|
+
<ion-radio justify="space-between" color="primary" [value]="option.id">{{ option.name }}</ion-radio>
|
|
128
|
+
</ion-item>
|
|
129
|
+
</ion-radio-group>
|
|
130
|
+
</ion-list>
|
|
131
|
+
</div>
|
|
132
|
+
</ion-content>
|
|
133
|
+
<ion-footer style="display: flex;justify-content: space-around;padding: 8px 0px;">
|
|
134
|
+
<ion-button color="dark" shape="round" fill="outline" (click)="dismiss()"> Cancelar </ion-button>
|
|
135
|
+
<ion-button color="primary" shape="round" (click)="applyChanges()"> Confirmar </ion-button>
|
|
136
|
+
</ion-footer>
|
|
137
|
+
</ng-template>
|
|
138
|
+
</ion-modal>
|
|
139
|
+
`, isInline: true, styles: [".form-element{margin-top:1rem;text-align:start}x .form-element:last-child{margin-bottom:2rem}.small-form{min-width:7.5rem;max-width:7.5rem}.sibling{margin-left:.5rem}ion-modal{--width: 290px;--height: 382px;--border-radius: 8px}ion-modal ion-datetime{height:382px}.filter-container{display:flex;margin-left:1rem}.filter-form{padding:0 .25rem 6.25rem}.options-container{margin-bottom:1rem}.unit-list-container{overflow-y:auto}.unit-list{padding-bottom:1rem;margin-bottom:.5rem}.detail-title{font-size:1.125rem;line-height:1.5rem;font-weight:700;margin:0;margin-bottom:.5rem;margin-left:.625rem;font-weight:800}@media (min-width: 768px){.detail-title{font-size:1.5rem;line-height:2rem}}.button-section{width:98%;height:3.75rem;border-radius:.5rem;margin:0 auto;padding:0 .25rem;max-width:36.25rem;margin-top:2.5rem}.event-selector{width:90%;margin-left:1rem}.selectable-container{margin-bottom:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: SearchbarComponent, selector: "val-searchbar", inputs: ["disabled"], outputs: ["focusEvent", "blurEvent", "filterEvent"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }] }); }
|
|
105
140
|
}
|
|
106
141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorModalComponent, decorators: [{
|
|
107
142
|
type: Component,
|
|
@@ -120,33 +155,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
120
155
|
IonLabel,
|
|
121
156
|
IonRadio,
|
|
122
157
|
SearchbarComponent,
|
|
158
|
+
IonModal,
|
|
159
|
+
IonInput,
|
|
160
|
+
IonSelect,
|
|
123
161
|
], template: `
|
|
124
|
-
<ion-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
162
|
+
<ion-select
|
|
163
|
+
id="select-search-option-action"
|
|
164
|
+
[formControl]="props.control"
|
|
165
|
+
[label]="props.label"
|
|
166
|
+
[interfaceOptions]="customModalOptions"
|
|
167
|
+
interface="popover"
|
|
168
|
+
[placeholder]="[props.placeholder]"
|
|
169
|
+
cancelText="Cancelar"
|
|
170
|
+
okText="Ok"
|
|
171
|
+
(mousedown)="preventDefaultBehavior($event)"
|
|
172
|
+
>
|
|
173
|
+
</ion-select>
|
|
174
|
+
<ion-modal #modal>
|
|
175
|
+
<ng-template>
|
|
176
|
+
<ion-header>
|
|
177
|
+
<ion-toolbar>
|
|
178
|
+
<ion-title>Seleccione</ion-title>
|
|
179
|
+
<ion-buttons slot="end">
|
|
180
|
+
<ion-button (click)="dismiss()">Cancelar</ion-button>
|
|
181
|
+
</ion-buttons>
|
|
182
|
+
</ion-toolbar>
|
|
183
|
+
</ion-header>
|
|
132
184
|
|
|
133
|
-
|
|
134
|
-
|
|
185
|
+
<ion-content>
|
|
186
|
+
<val-searchbar (filterEvent)="onFilter($event)" (focusEvent)="onFocus()" (blurEvent)="onBlur()" />
|
|
135
187
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
188
|
+
<div class="unit-list-container" *ngIf="listVolatile.length > 0">
|
|
189
|
+
<ion-list class="unit-list">
|
|
190
|
+
<ion-radio-group allow-empty-selection [formControl]="props.control">
|
|
191
|
+
<ion-item *ngFor="let option of listVolatile">
|
|
192
|
+
<ion-radio justify="space-between" color="primary" [value]="option.id">{{ option.name }}</ion-radio>
|
|
193
|
+
</ion-item>
|
|
194
|
+
</ion-radio-group>
|
|
195
|
+
</ion-list>
|
|
196
|
+
</div>
|
|
197
|
+
</ion-content>
|
|
198
|
+
<ion-footer style="display: flex;justify-content: space-around;padding: 8px 0px;">
|
|
199
|
+
<ion-button color="dark" shape="round" fill="outline" (click)="dismiss()"> Cancelar </ion-button>
|
|
200
|
+
<ion-button color="primary" shape="round" (click)="applyChanges()"> Confirmar </ion-button>
|
|
201
|
+
</ion-footer>
|
|
202
|
+
</ng-template>
|
|
203
|
+
</ion-modal>
|
|
150
204
|
`, styles: [".form-element{margin-top:1rem;text-align:start}x .form-element:last-child{margin-bottom:2rem}.small-form{min-width:7.5rem;max-width:7.5rem}.sibling{margin-left:.5rem}ion-modal{--width: 290px;--height: 382px;--border-radius: 8px}ion-modal ion-datetime{height:382px}.filter-container{display:flex;margin-left:1rem}.filter-form{padding:0 .25rem 6.25rem}.options-container{margin-bottom:1rem}.unit-list-container{overflow-y:auto}.unit-list{padding-bottom:1rem;margin-bottom:.5rem}.detail-title{font-size:1.125rem;line-height:1.5rem;font-weight:700;margin:0;margin-bottom:.5rem;margin-left:.625rem;font-weight:800}@media (min-width: 768px){.detail-title{font-size:1.5rem;line-height:2rem}}.button-section{width:98%;height:3.75rem;border-radius:.5rem;margin:0 auto;padding:0 .25rem;max-width:36.25rem;margin-top:2.5rem}.event-selector{width:90%;margin-left:1rem}.selectable-container{margin-bottom:1rem}\n"] }]
|
|
151
205
|
}], ctorParameters: () => [{ type: i1.ModalController }], propDecorators: { props: [{
|
|
152
206
|
type: Input
|
|
@@ -155,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
155
209
|
}], showAllAtStart: [{
|
|
156
210
|
type: Input
|
|
157
211
|
}] } });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NlYXJjaC1zZWxlY3Rvci1pbnB1dC9zZWFyY2gtc2VsZWN0b3ItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUEwQixtQkFBbUIsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBRXpGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLEtBQUssRUFBRSw4QkFBOEI7SUFDckMsUUFBUSxFQUFFLDZCQUE2QjtDQUN4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixRQUFRLEVBQUUsd0VBQXdFO0NBQ25GLENBQUM7QUFtREYsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFtQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFYMUMsY0FBUyxHQUFHLENB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c0I7a0JBakRsQyxTQUFTOytCQUNFLDJCQUEyQixjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixRQUFRO3dCQUNSLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxTQUFTO3dCQUNULE9BQU87d0JBQ1AsVUFBVTt3QkFDVixPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixrQkFBa0I7cUJBQ25CLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDtvRkFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7XG4gIElvbkJ1dHRvbixcbiAgSW9uQnV0dG9ucyxcbiAgSW9uQ29udGVudCxcbiAgSW9uRm9vdGVyLFxuICBJb25IZWFkZXIsXG4gIElvbkl0ZW0sXG4gIElvbkxhYmVsLFxuICBJb25MaXN0LFxuICBJb25SYWRpbyxcbiAgSW9uVGl0bGUsXG4gIElvblRvb2xiYXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgU2VhcmNoYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSwgSW5wdXRPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyByZXBsYWNlU3BlY2lhbENoYXJzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3RleHQnO1xuXG5leHBvcnQgY29uc3QgU0VBUkNIX1NFTEVDVE9SX05PX1JFU1VMVCA9IHtcbiAgdGl0bGU6ICdObyBzZSBlbmNvbnRyYXJvbiByZXN1bHRhZG9zJyxcbiAgc3VidGl0bGU6ICdJbnRlbnRhIGNvbiBvdHJhcyBwYWxhYnJhcy4nLFxufTtcblxuZXhwb3J0IGNvbnN0IFNFQVJDSF9TRUxFQ1RPUl9OT19PUFRJT05TID0ge1xuICB0aXRsZTogJ05vIGhheSBvcGNpb25lcycsXG4gIHN1YnRpdGxlOiAnRWwgY2FtcG8gc2VsZWNjaW9uYWRvIG5vIHRpZW5lIG9wY2lvbmVzLiBJbnRlbnRhIG51ZXZhbWVudGUgbcOhcyB0YXJkZS4nLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlYXJjaC1zZWxlY3Rvci1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25UaXRsZSxcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25Gb290ZXIsXG4gICAgSW9uTGlzdCxcbiAgICBJb25Db250ZW50LFxuICAgIElvbkl0ZW0sXG4gICAgSW9uTGFiZWwsXG4gICAgSW9uUmFkaW8sXG4gICAgU2VhcmNoYmFyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24taGVhZGVyPlxuICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICA8aW9uLXRpdGxlPlNlbGVjY2lvbmU8L2lvbi10aXRsZT5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZGlzbWlzcygpXCI+Q2FuY2VsYXI8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi10b29sYmFyPlxuICAgIDwvaW9uLWhlYWRlcj5cblxuICAgIDxpb24tY29udGVudD5cbiAgICAgIDx2YWwtc2VhcmNoYmFyIChmaWx0ZXJFdmVudCk9XCJvbkZpbHRlcigkZXZlbnQpXCIgKGZvY3VzRXZlbnQpPVwib25Gb2N1cygpXCIgKGJsdXJFdmVudCk9XCJvbkJsdXIoKVwiIC8+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ1bml0LWxpc3QtY29udGFpbmVyXCIgKm5nSWY9XCJsaXN0Vm9sYXRpbGUubGVuZ3RoID4gMFwiPlxuICAgICAgICA8aW9uLWxpc3QgY2xhc3M9XCJ1bml0LWxpc3RcIj5cbiAgICAgICAgICA8aW9uLXJhZGlvLWdyb3VwIGFsbG93LWVtcHR5LXNlbGVjdGlvbiBbZm9ybUNvbnRyb2xdPVwicHJvcHMuY29udHJvbFwiPlxuICAgICAgICAgICAgPGlvbi1pdGVtICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGlzdFZvbGF0aWxlXCI+XG4gICAgICAgICAgICAgIDxpb24tcmFkaW8ganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBjb2xvcj1cInByaW1hcnlcIiBbdmFsdWVdPVwib3B0aW9uLmlkXCI+e3sgb3B0aW9uLm5hbWUgfX08L2lvbi1yYWRpbz5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPC9pb24tcmFkaW8tZ3JvdXA+XG4gICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jb250ZW50PlxuICAgIDxpb24tZm9vdGVyIHN0eWxlPVwiZGlzcGxheTogZmxleDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtwYWRkaW5nOiA4cHggMHB4O1wiPlxuICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYXJrXCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiPiBDYW5jZWxhciA8L2lvbi1idXR0b24+XG4gICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImFwcGx5Q2hhbmdlcygpXCI+IENvbmZpcm1hciA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tZm9vdGVyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtc2VsZWN0b3ItaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0b3JNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbiA9IC0xO1xuXG4gIEBJbnB1dCgpIHNob3dBbGxBdFN0YXJ0ID0gdHJ1ZTtcblxuICBzZWFyY2hpbmcgPSBmYWxzZTtcblxuICBsaXN0Vm9sYXRpbGU6IElucHV0T3B0aW9uW10gPSBbXTtcblxuICBub1Jlc3VsdCA9IFNFQVJDSF9TRUxFQ1RPUl9OT19SRVNVTFQ7XG4gIG5vTm90aGluZyA9IFNFQVJDSF9TRUxFQ1RPUl9OT19PUFRJT05TO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RWb2xhdGlsZSA9IFtdO1xuXG4gICAgaWYgKHRoaXMuc2hvd0FsbEF0U3RhcnQpIHtcbiAgICAgIHRoaXMubGlzdFZvbGF0aWxlID0gdGhpcy5wcm9wcy5vcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIGRpc21pc3MoKSB7XG4gICAgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcyh7XG4gICAgICBjb25maXJtZWQ6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgYXBwbHlDaGFuZ2VzKCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMucHJvcHMuY29udHJvbCk7XG4gICAgaWYgKHRoaXMucHJvcHMuY29udHJvbC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcyh7XG4gICAgICBjb25maXJtZWQ6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBvbkZpbHRlcihldmVudDogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgb25TZWFyY2g6OjogJywgZXZlbnQpO1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMubGlzdFZvbGF0aWxlID0gdGhpcy5wcm9wcy5vcHRpb25zO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5saXN0Vm9sYXRpbGUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRleHQgPSByZXBsYWNlU3BlY2lhbENoYXJzKGV2ZW50LnRvTG93ZXJDYXNlKCkpO1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMubGlzdFZvbGF0aWxlLmZpbHRlcihlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoZWxlbWVudCkubWFwKChhOiBzdHJpbmcpID0+IHJlcGxhY2VTcGVjaWFsQ2hhcnMoYCR7YX1gKS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgICAgIGlmICh2YWx1ZXMuc29tZSgodmFsdWU6IHN0cmluZykgPT4gdmFsdWUuaW5kZXhPZih0ZXh0KSA+IC0xKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZygnZmlsdGVyOiAnLCBmaWx0ZXIpO1xuICAgIHRoaXMubGlzdFZvbGF0aWxlID0gZmlsdGVyO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIHRoaXMuc2VhcmNoaW5nID0gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NlYXJjaC1zZWxlY3Rvci1pbnB1dC9zZWFyY2gtc2VsZWN0b3ItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFFdEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDdkMsS0FBSyxFQUFFLDhCQUE4QjtJQUNyQyxRQUFRLEVBQUUsNkJBQTZCO0NBQ3hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QyxLQUFLLEVBQUUsaUJBQWlCO0lBQ3hCLFFBQVEsRUFBRSx3RUFBd0U7Q0FDbkYsQ0FBQztBQXNFRixNQUFNLE9BQU8sc0JBQXNCO0lBcUJqQyxZQUFtQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFsQjFDLGNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVmLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBRWpDLGFBQVEsR0FBRyx5QkFBeUIsQ0FBQztRQUNyQyxjQUFTLEdBQUcsMEJBQTBCLENBQUM7UUFFdkMsdUJBQWtCLEdBQUc7WUFDbkIsTUFBTSxFQUFFLFlBQVk7WUFDcEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNyQixpQkFBaUIsRUFBRSxHQUFHO1NBQ3ZCLENBQUM7SUFFb0QsQ0FBQztJQUV2RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUMzQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFpQjtRQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxzREFBc0Q7UUFDOUUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsb0NBQW9DO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7SUFDckUsQ0FBQzsrR0EzRlUsc0JBQXNCO21HQUF0QixzQkFBc0IsMktBOUN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVCw0OEJBN0RDLFlBQVksK1BBQ1osbUJBQW1CLDBUQUNuQixTQUFTLG9HQUNULFVBQVUsbUZBQ1YsUUFBUSxpRkFDUixVQUFVLDhFQUNWLFNBQVMsb1BBQ1QsU0FBUyxvR0FDVCxPQUFPLHlGQUNQLFVBQVUsa0pBQ1YsT0FBTywwTkFFUCxRQUFRLHdKQUNSLGtCQUFrQixxSUFDbEIsUUFBUSxzREFFUixTQUFTOzs0RkFnREEsc0JBQXNCO2tCQXBFbEMsU0FBUzsrQkFDRSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsUUFBUTt3QkFDUixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxRQUFRO3dCQUNSLFFBQVE7d0JBQ1Isa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUztxQkFDVixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNUO29GQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvbkJ1dHRvbnMsXG4gIElvbkNvbnRlbnQsXG4gIElvbkZvb3RlcixcbiAgSW9uSGVhZGVyLFxuICBJb25JbnB1dCxcbiAgSW9uSXRlbSxcbiAgSW9uTGFiZWwsXG4gIElvbkxpc3QsXG4gIElvbk1vZGFsLFxuICBJb25SYWRpbyxcbiAgSW9uU2VsZWN0LFxuICBJb25UaXRsZSxcbiAgSW9uVG9vbGJhcixcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyByZXBsYWNlU3BlY2lhbENoYXJzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3RleHQnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSwgSW5wdXRPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hiYXJDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBTRUFSQ0hfU0VMRUNUT1JfTk9fUkVTVUxUID0ge1xuICB0aXRsZTogJ05vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3MnLFxuICBzdWJ0aXRsZTogJ0ludGVudGEgY29uIG90cmFzIHBhbGFicmFzLicsXG59O1xuXG5leHBvcnQgY29uc3QgU0VBUkNIX1NFTEVDVE9SX05PX09QVElPTlMgPSB7XG4gIHRpdGxlOiAnTm8gaGF5IG9wY2lvbmVzJyxcbiAgc3VidGl0bGU6ICdFbCBjYW1wbyBzZWxlY2Npb25hZG8gbm8gdGllbmUgb3BjaW9uZXMuIEludGVudGEgbnVldmFtZW50ZSBtw6FzIHRhcmRlLicsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VhcmNoLXNlbGVjdG9yLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvblRpdGxlLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkZvb3RlcixcbiAgICBJb25MaXN0LFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uSXRlbSxcbiAgICBJb25MYWJlbCxcbiAgICBJb25SYWRpbyxcbiAgICBTZWFyY2hiYXJDb21wb25lbnQsXG4gICAgSW9uTW9kYWwsXG4gICAgSW9uSW5wdXQsXG4gICAgSW9uU2VsZWN0LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tc2VsZWN0XG4gICAgICBpZD1cInNlbGVjdC1zZWFyY2gtb3B0aW9uLWFjdGlvblwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwicHJvcHMuY29udHJvbFwiXG4gICAgICBbbGFiZWxdPVwicHJvcHMubGFiZWxcIlxuICAgICAgW2ludGVyZmFjZU9wdGlvbnNdPVwiY3VzdG9tTW9kYWxPcHRpb25zXCJcbiAgICAgIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIltwcm9wcy5wbGFjZWhvbGRlcl1cIlxuICAgICAgY2FuY2VsVGV4dD1cIkNhbmNlbGFyXCJcbiAgICAgIG9rVGV4dD1cIk9rXCJcbiAgICAgIChtb3VzZWRvd24pPVwicHJldmVudERlZmF1bHRCZWhhdmlvcigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9pb24tc2VsZWN0PlxuICAgIDxpb24tbW9kYWwgI21vZGFsPlxuICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICA8aW9uLWhlYWRlcj5cbiAgICAgICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgICAgICA8aW9uLXRpdGxlPlNlbGVjY2lvbmU8L2lvbi10aXRsZT5cbiAgICAgICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJkaXNtaXNzKClcIj5DYW5jZWxhcjwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICAgICAgPC9pb24taGVhZGVyPlxuXG4gICAgICAgIDxpb24tY29udGVudD5cbiAgICAgICAgICA8dmFsLXNlYXJjaGJhciAoZmlsdGVyRXZlbnQpPVwib25GaWx0ZXIoJGV2ZW50KVwiIChmb2N1c0V2ZW50KT1cIm9uRm9jdXMoKVwiIChibHVyRXZlbnQpPVwib25CbHVyKClcIiAvPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVuaXQtbGlzdC1jb250YWluZXJcIiAqbmdJZj1cImxpc3RWb2xhdGlsZS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8aW9uLWxpc3QgY2xhc3M9XCJ1bml0LWxpc3RcIj5cbiAgICAgICAgICAgICAgPGlvbi1yYWRpby1ncm91cCBhbGxvdy1lbXB0eS1zZWxlY3Rpb24gW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBsaXN0Vm9sYXRpbGVcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24tcmFkaW8ganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBjb2xvcj1cInByaW1hcnlcIiBbdmFsdWVdPVwib3B0aW9uLmlkXCI+e3sgb3B0aW9uLm5hbWUgfX08L2lvbi1yYWRpbz5cbiAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICA8L2lvbi1yYWRpby1ncm91cD5cbiAgICAgICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaW9uLWNvbnRlbnQ+XG4gICAgICAgIDxpb24tZm9vdGVyIHN0eWxlPVwiZGlzcGxheTogZmxleDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtwYWRkaW5nOiA4cHggMHB4O1wiPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJkaXNtaXNzKClcIj4gQ2FuY2VsYXIgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKClcIj4gQ29uZmlybWFyIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tZm9vdGVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2lvbi1tb2RhbD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNlbGVjdG9yLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdG9yTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogSW5wdXRNZXRhZGF0YTtcblxuICBASW5wdXQoKSBzZWxlY3Rpb24gPSAtMTtcblxuICBASW5wdXQoKSBzaG93QWxsQXRTdGFydCA9IHRydWU7XG5cbiAgc2VhcmNoaW5nID0gZmFsc2U7XG4gIGlzTW9kYWxPcGVuID0gZmFsc2U7XG5cbiAgbGlzdFZvbGF0aWxlOiBJbnB1dE9wdGlvbltdID0gW107XG5cbiAgbm9SZXN1bHQgPSBTRUFSQ0hfU0VMRUNUT1JfTk9fUkVTVUxUO1xuICBub05vdGhpbmcgPSBTRUFSQ0hfU0VMRUNUT1JfTk9fT1BUSU9OUztcblxuICBjdXN0b21Nb2RhbE9wdGlvbnMgPSB7XG4gICAgaGVhZGVyOiAnU2VsZWNjaW9uZScsXG4gICAgYnJlYWtwb2ludHM6IFswLCAwLjZdLFxuICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdFZvbGF0aWxlID0gW107XG5cbiAgICBpZiAodGhpcy5zaG93QWxsQXRTdGFydCkge1xuICAgICAgdGhpcy5saXN0Vm9sYXRpbGUgPSB0aGlzLnByb3BzLm9wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgZGlzbWlzcygpIHtcbiAgICB0aGlzLnRvZ2dsZU1vZGFsKGZhbHNlKTtcbiAgfVxuXG4gIGFwcGx5Q2hhbmdlcygpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnByb3BzLmNvbnRyb2wpO1xuICAgIGlmICh0aGlzLnByb3BzLmNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3Moe1xuICAgICAgY29uZmlybWVkOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgb25GaWx0ZXIoZXZlbnQ6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKCfwn5KhIG9uU2VhcmNoOjo6ICcsIGV2ZW50KTtcbiAgICBpZiAoIWV2ZW50KSB7XG4gICAgICB0aGlzLmxpc3RWb2xhdGlsZSA9IHRoaXMucHJvcHMub3B0aW9ucztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlzdFZvbGF0aWxlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0ID0gcmVwbGFjZVNwZWNpYWxDaGFycyhldmVudC50b0xvd2VyQ2FzZSgpKTtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmxpc3RWb2xhdGlsZS5maWx0ZXIoZWxlbWVudCA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKGVsZW1lbnQpLm1hcCgoYTogc3RyaW5nKSA9PiByZXBsYWNlU3BlY2lhbENoYXJzKGAke2F9YCkudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgICBpZiAodmFsdWVzLnNvbWUoKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlLmluZGV4T2YodGV4dCkgPiAtMSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgY29uc29sZS5sb2coJ2ZpbHRlcjogJywgZmlsdGVyKTtcbiAgICB0aGlzLmxpc3RWb2xhdGlsZSA9IGZpbHRlcjtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICB9XG5cbiAgb25Gb2N1cygpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gIH1cblxuICBzaG93U2VsZWN0ZWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb24gPSB0aGlzLnByb3BzLm9wdGlvbnMuZmluZCh4ID0+IHguaWQgPT09IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZSk7XG4gICAgaWYgKG9wdGlvbikge1xuICAgICAgcmV0dXJuIG9wdGlvbi5uYW1lO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB0b2dnbGVNb2RhbChpc09wZW4pIHtcbiAgICB0aGlzLmlzTW9kYWxPcGVuID0gaXNPcGVuO1xuICB9XG5cbiAgcHJldmVudERlZmF1bHRCZWhhdmlvcihldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIEV2aXRhIGVsIGNvbXBvcnRhbWllbnRvIHByZWRldGVybWluYWRvIGRlbCBzZWxlY3RvclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBEZXRpZW5lIGxhIHByb3BhZ2FjacOzbiBkZWwgZXZlbnRvXG4gICAgdGhpcy50b2dnbGVNb2RhbCghdGhpcy5pc01vZGFsT3Blbik7IC8vIEFicmUgZWwgbW9kYWwgcGVyc29uYWxpemFkb1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Component, Input, Output, Injectable, ViewChild, inject, InjectionToken, Inject } from '@angular/core';
|
|
3
|
-
import { IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonProgressBar, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonButtons, IonTextarea, IonDatetime, IonDatetimeButton, IonModal, IonInput, IonRadioGroup, IonRadio, IonSearchbar, IonHeader, IonToolbar, IonTitle, IonFooter, IonList, IonContent, IonItem,
|
|
3
|
+
import { IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonProgressBar, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonButtons, IonTextarea, IonDatetime, IonDatetimeButton, IonModal, IonInput, IonRadioGroup, IonRadio, IonSearchbar, IonHeader, IonToolbar, IonTitle, IonFooter, IonList, IonContent, IonItem, IonSelect, IonLabel, IonSelectOption, IonListHeader, IonNote } from '@ionic/angular/standalone';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule, NgStyle, NgIf, NgFor, NgClass } from '@angular/common';
|
|
6
6
|
import { addIcons } from 'ionicons';
|
|
@@ -2057,6 +2057,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2057
2057
|
type: Input
|
|
2058
2058
|
}] } });
|
|
2059
2059
|
|
|
2060
|
+
const replaceSpecialChars = (text) => text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
2061
|
+
|
|
2060
2062
|
class SearchbarComponent {
|
|
2061
2063
|
constructor() {
|
|
2062
2064
|
this.focusEvent = new EventEmitter();
|
|
@@ -2115,8 +2117,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2115
2117
|
type: Output
|
|
2116
2118
|
}] } });
|
|
2117
2119
|
|
|
2118
|
-
const replaceSpecialChars = (text) => text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
2119
|
-
|
|
2120
2120
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2121
2121
|
const SEARCH_SELECTOR_NO_RESULT = {
|
|
2122
2122
|
title: 'No se encontraron resultados',
|
|
@@ -2132,9 +2132,15 @@ class SelectorModalComponent {
|
|
|
2132
2132
|
this.selection = -1;
|
|
2133
2133
|
this.showAllAtStart = true;
|
|
2134
2134
|
this.searching = false;
|
|
2135
|
+
this.isModalOpen = false;
|
|
2135
2136
|
this.listVolatile = [];
|
|
2136
2137
|
this.noResult = SEARCH_SELECTOR_NO_RESULT;
|
|
2137
2138
|
this.noNothing = SEARCH_SELECTOR_NO_OPTIONS;
|
|
2139
|
+
this.customModalOptions = {
|
|
2140
|
+
header: 'Seleccione',
|
|
2141
|
+
breakpoints: [0, 0.6],
|
|
2142
|
+
initialBreakpoint: 0.6,
|
|
2143
|
+
};
|
|
2138
2144
|
}
|
|
2139
2145
|
ngOnInit() {
|
|
2140
2146
|
this.listVolatile = [];
|
|
@@ -2143,9 +2149,7 @@ class SelectorModalComponent {
|
|
|
2143
2149
|
}
|
|
2144
2150
|
}
|
|
2145
2151
|
dismiss() {
|
|
2146
|
-
this.
|
|
2147
|
-
confirmed: false,
|
|
2148
|
-
});
|
|
2152
|
+
this.toggleModal(false);
|
|
2149
2153
|
}
|
|
2150
2154
|
applyChanges() {
|
|
2151
2155
|
console.log(this.props.control);
|
|
@@ -2182,35 +2186,66 @@ class SelectorModalComponent {
|
|
|
2182
2186
|
onFocus() {
|
|
2183
2187
|
this.searching = true;
|
|
2184
2188
|
}
|
|
2189
|
+
showSelected() {
|
|
2190
|
+
const option = this.props.options.find(x => x.id === this.props.control.value);
|
|
2191
|
+
if (option) {
|
|
2192
|
+
return option.name;
|
|
2193
|
+
}
|
|
2194
|
+
return '';
|
|
2195
|
+
}
|
|
2196
|
+
toggleModal(isOpen) {
|
|
2197
|
+
this.isModalOpen = isOpen;
|
|
2198
|
+
}
|
|
2199
|
+
preventDefaultBehavior(event) {
|
|
2200
|
+
event.preventDefault(); // Evita el comportamiento predeterminado del selector
|
|
2201
|
+
event.stopPropagation(); // Detiene la propagación del evento
|
|
2202
|
+
this.toggleModal(!this.isModalOpen); // Abre el modal personalizado
|
|
2203
|
+
}
|
|
2185
2204
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorModalComponent, deps: [{ token: i1$3.ModalController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2186
2205
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectorModalComponent, isStandalone: true, selector: "val-search-selector-input", inputs: { props: "props", selection: "selection", showAllAtStart: "showAllAtStart" }, ngImport: i0, template: `
|
|
2187
|
-
<ion-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2206
|
+
<ion-select
|
|
2207
|
+
id="select-search-option-action"
|
|
2208
|
+
[formControl]="props.control"
|
|
2209
|
+
[label]="props.label"
|
|
2210
|
+
[interfaceOptions]="customModalOptions"
|
|
2211
|
+
interface="popover"
|
|
2212
|
+
[placeholder]="[props.placeholder]"
|
|
2213
|
+
cancelText="Cancelar"
|
|
2214
|
+
okText="Ok"
|
|
2215
|
+
(mousedown)="preventDefaultBehavior($event)"
|
|
2216
|
+
>
|
|
2217
|
+
</ion-select>
|
|
2218
|
+
<ion-modal #modal>
|
|
2219
|
+
<ng-template>
|
|
2220
|
+
<ion-header>
|
|
2221
|
+
<ion-toolbar>
|
|
2222
|
+
<ion-title>Seleccione</ion-title>
|
|
2223
|
+
<ion-buttons slot="end">
|
|
2224
|
+
<ion-button (click)="dismiss()">Cancelar</ion-button>
|
|
2225
|
+
</ion-buttons>
|
|
2226
|
+
</ion-toolbar>
|
|
2227
|
+
</ion-header>
|
|
2228
|
+
|
|
2229
|
+
<ion-content>
|
|
2230
|
+
<val-searchbar (filterEvent)="onFilter($event)" (focusEvent)="onFocus()" (blurEvent)="onBlur()" />
|
|
2231
|
+
|
|
2232
|
+
<div class="unit-list-container" *ngIf="listVolatile.length > 0">
|
|
2233
|
+
<ion-list class="unit-list">
|
|
2234
|
+
<ion-radio-group allow-empty-selection [formControl]="props.control">
|
|
2235
|
+
<ion-item *ngFor="let option of listVolatile">
|
|
2236
|
+
<ion-radio justify="space-between" color="primary" [value]="option.id">{{ option.name }}</ion-radio>
|
|
2237
|
+
</ion-item>
|
|
2238
|
+
</ion-radio-group>
|
|
2239
|
+
</ion-list>
|
|
2240
|
+
</div>
|
|
2241
|
+
</ion-content>
|
|
2242
|
+
<ion-footer style="display: flex;justify-content: space-around;padding: 8px 0px;">
|
|
2243
|
+
<ion-button color="dark" shape="round" fill="outline" (click)="dismiss()"> Cancelar </ion-button>
|
|
2244
|
+
<ion-button color="primary" shape="round" (click)="applyChanges()"> Confirmar </ion-button>
|
|
2245
|
+
</ion-footer>
|
|
2246
|
+
</ng-template>
|
|
2247
|
+
</ion-modal>
|
|
2248
|
+
`, isInline: true, styles: [".form-element{margin-top:1rem;text-align:start}x .form-element:last-child{margin-bottom:2rem}.small-form{min-width:7.5rem;max-width:7.5rem}.sibling{margin-left:.5rem}ion-modal{--width: 290px;--height: 382px;--border-radius: 8px}ion-modal ion-datetime{height:382px}.filter-container{display:flex;margin-left:1rem}.filter-form{padding:0 .25rem 6.25rem}.options-container{margin-bottom:1rem}.unit-list-container{overflow-y:auto}.unit-list{padding-bottom:1rem;margin-bottom:.5rem}.detail-title{font-size:1.125rem;line-height:1.5rem;font-weight:700;margin:0;margin-bottom:.5rem;margin-left:.625rem;font-weight:800}@media (min-width: 768px){.detail-title{font-size:1.5rem;line-height:2rem}}.button-section{width:98%;height:3.75rem;border-radius:.5rem;margin:0 auto;padding:0 .25rem;max-width:36.25rem;margin-top:2.5rem}.event-selector{width:90%;margin-left:1rem}.selectable-container{margin-bottom:1rem}\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: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: SearchbarComponent, selector: "val-searchbar", inputs: ["disabled"], outputs: ["focusEvent", "blurEvent", "filterEvent"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }] }); }
|
|
2214
2249
|
}
|
|
2215
2250
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorModalComponent, decorators: [{
|
|
2216
2251
|
type: Component,
|
|
@@ -2229,33 +2264,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2229
2264
|
IonLabel,
|
|
2230
2265
|
IonRadio,
|
|
2231
2266
|
SearchbarComponent,
|
|
2267
|
+
IonModal,
|
|
2268
|
+
IonInput,
|
|
2269
|
+
IonSelect,
|
|
2232
2270
|
], template: `
|
|
2233
|
-
<ion-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2271
|
+
<ion-select
|
|
2272
|
+
id="select-search-option-action"
|
|
2273
|
+
[formControl]="props.control"
|
|
2274
|
+
[label]="props.label"
|
|
2275
|
+
[interfaceOptions]="customModalOptions"
|
|
2276
|
+
interface="popover"
|
|
2277
|
+
[placeholder]="[props.placeholder]"
|
|
2278
|
+
cancelText="Cancelar"
|
|
2279
|
+
okText="Ok"
|
|
2280
|
+
(mousedown)="preventDefaultBehavior($event)"
|
|
2281
|
+
>
|
|
2282
|
+
</ion-select>
|
|
2283
|
+
<ion-modal #modal>
|
|
2284
|
+
<ng-template>
|
|
2285
|
+
<ion-header>
|
|
2286
|
+
<ion-toolbar>
|
|
2287
|
+
<ion-title>Seleccione</ion-title>
|
|
2288
|
+
<ion-buttons slot="end">
|
|
2289
|
+
<ion-button (click)="dismiss()">Cancelar</ion-button>
|
|
2290
|
+
</ion-buttons>
|
|
2291
|
+
</ion-toolbar>
|
|
2292
|
+
</ion-header>
|
|
2293
|
+
|
|
2294
|
+
<ion-content>
|
|
2295
|
+
<val-searchbar (filterEvent)="onFilter($event)" (focusEvent)="onFocus()" (blurEvent)="onBlur()" />
|
|
2296
|
+
|
|
2297
|
+
<div class="unit-list-container" *ngIf="listVolatile.length > 0">
|
|
2298
|
+
<ion-list class="unit-list">
|
|
2299
|
+
<ion-radio-group allow-empty-selection [formControl]="props.control">
|
|
2300
|
+
<ion-item *ngFor="let option of listVolatile">
|
|
2301
|
+
<ion-radio justify="space-between" color="primary" [value]="option.id">{{ option.name }}</ion-radio>
|
|
2302
|
+
</ion-item>
|
|
2303
|
+
</ion-radio-group>
|
|
2304
|
+
</ion-list>
|
|
2305
|
+
</div>
|
|
2306
|
+
</ion-content>
|
|
2307
|
+
<ion-footer style="display: flex;justify-content: space-around;padding: 8px 0px;">
|
|
2308
|
+
<ion-button color="dark" shape="round" fill="outline" (click)="dismiss()"> Cancelar </ion-button>
|
|
2309
|
+
<ion-button color="primary" shape="round" (click)="applyChanges()"> Confirmar </ion-button>
|
|
2310
|
+
</ion-footer>
|
|
2311
|
+
</ng-template>
|
|
2312
|
+
</ion-modal>
|
|
2259
2313
|
`, styles: [".form-element{margin-top:1rem;text-align:start}x .form-element:last-child{margin-bottom:2rem}.small-form{min-width:7.5rem;max-width:7.5rem}.sibling{margin-left:.5rem}ion-modal{--width: 290px;--height: 382px;--border-radius: 8px}ion-modal ion-datetime{height:382px}.filter-container{display:flex;margin-left:1rem}.filter-form{padding:0 .25rem 6.25rem}.options-container{margin-bottom:1rem}.unit-list-container{overflow-y:auto}.unit-list{padding-bottom:1rem;margin-bottom:.5rem}.detail-title{font-size:1.125rem;line-height:1.5rem;font-weight:700;margin:0;margin-bottom:.5rem;margin-left:.625rem;font-weight:800}@media (min-width: 768px){.detail-title{font-size:1.5rem;line-height:2rem}}.button-section{width:98%;height:3.75rem;border-radius:.5rem;margin:0 auto;padding:0 .25rem;max-width:36.25rem;margin-top:2.5rem}.event-selector{width:90%;margin-left:1rem}.selectable-container{margin-bottom:1rem}\n"] }]
|
|
2260
2314
|
}], ctorParameters: () => [{ type: i1$3.ModalController }], propDecorators: { props: [{
|
|
2261
2315
|
type: Input
|