special-forms 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2020/lib/components/index.mjs +22 -0
- package/esm2020/lib/components/special-autocomplete/special-autocomplete.component.mjs +61 -0
- package/esm2020/lib/components/special-autocomplete/special-autocomplete.interface.mjs +2 -0
- package/esm2020/lib/components/special-autocomplete/special-autocomplete.module.mjs +47 -0
- package/esm2020/lib/components/special-checkbox/special-checkbox.component.mjs +20 -0
- package/esm2020/lib/components/special-checkbox/special-checkbox.interface.mjs +2 -0
- package/esm2020/lib/components/special-checkbox/special-checkbox.module.mjs +47 -0
- package/esm2020/lib/components/special-datepicker/special-datepicker.component.mjs +24 -0
- package/esm2020/lib/components/special-datepicker/special-datepicker.interface.mjs +2 -0
- package/esm2020/lib/components/special-datepicker/special-datepicker.module.mjs +48 -0
- package/esm2020/lib/components/special-dropdown/special-dropdown.component.mjs +35 -0
- package/esm2020/lib/components/special-dropdown/special-dropdown.interface.mjs +2 -0
- package/esm2020/lib/components/special-dropdown/special-dropdown.module.mjs +43 -0
- package/esm2020/lib/components/special-form/special-form.component.mjs +97 -0
- package/esm2020/lib/components/special-form/special-form.module.mjs +68 -0
- package/esm2020/lib/components/special-input/special-input.component.mjs +42 -0
- package/esm2020/lib/components/special-input/special-input.interface.mjs +2 -0
- package/esm2020/lib/components/special-input/special-input.module.mjs +44 -0
- package/esm2020/lib/components/special-label/special-label.component.mjs +25 -0
- package/esm2020/lib/components/special-label/special-label.interface.mjs +2 -0
- package/esm2020/lib/components/special-label/special-label.module.mjs +47 -0
- package/esm2020/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.mjs +82 -0
- package/esm2020/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.mjs +2 -0
- package/esm2020/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.module.mjs +51 -0
- package/esm2020/lib/components/special-text-area/special-text-area.component.mjs +30 -0
- package/esm2020/lib/components/special-text-area/special-text-area.interface.mjs +2 -0
- package/esm2020/lib/components/special-text-area/special-text-area.module.mjs +44 -0
- package/esm2020/lib/components/special-upload/special-upload.component.mjs +69 -0
- package/esm2020/lib/components/special-upload/special-upload.interface.mjs +2 -0
- package/esm2020/lib/components/special-upload/special-upload.module.mjs +43 -0
- package/esm2020/lib/core/aux-data/control-types.enum.mjs +18 -0
- package/esm2020/lib/core/forms/special-forms.mjs +238 -0
- package/esm2020/lib/core/interfaces/field-basics.interfaces.mjs +2 -0
- package/esm2020/lib/core/interfaces/form.interfaces.mjs +2 -0
- package/esm2020/lib/core/services/index.mjs +3 -0
- package/esm2020/lib/core/services/special-form-builder/special-form-builder.service.mjs +156 -0
- package/esm2020/lib/pipes/controls-list-pipe/controls-list.pipe.mjs +18 -0
- package/esm2020/lib/pipes/controls-list-pipe/controls-list.pipe.module.mjs +18 -0
- package/esm2020/lib/pipes/error-message-pipe/error.pipe.mjs +22 -0
- package/esm2020/lib/pipes/error-message-pipe/error.pipe.module.mjs +20 -0
- package/esm2020/lib/pipes/index.mjs +3 -0
- package/esm2020/lib/pipes/text-by-function/text-by-function.pipe.mjs +22 -0
- package/esm2020/lib/pipes/text-by-function/text-by-function.pipe.module.mjs +20 -0
- package/esm2020/public-api.mjs +6 -0
- package/esm2020/special-forms.mjs +5 -0
- package/fesm2015/special-forms.mjs +1292 -0
- package/fesm2015/special-forms.mjs.map +1 -0
- package/fesm2020/special-forms.mjs +1319 -0
- package/fesm2020/special-forms.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/index.d.ts +21 -0
- package/lib/components/special-autocomplete/special-autocomplete.component.d.ts +19 -0
- package/lib/components/special-autocomplete/special-autocomplete.interface.d.ts +18 -0
- package/lib/components/special-autocomplete/special-autocomplete.module.d.ts +15 -0
- package/lib/components/special-checkbox/special-checkbox.component.d.ts +11 -0
- package/lib/components/special-checkbox/special-checkbox.interface.d.ts +10 -0
- package/lib/components/special-checkbox/special-checkbox.module.d.ts +14 -0
- package/lib/components/special-datepicker/special-datepicker.component.d.ts +12 -0
- package/lib/components/special-datepicker/special-datepicker.interface.d.ts +11 -0
- package/lib/components/special-datepicker/special-datepicker.module.d.ts +15 -0
- package/lib/components/special-dropdown/special-dropdown.component.d.ts +11 -0
- package/lib/components/special-dropdown/special-dropdown.interface.d.ts +16 -0
- package/lib/components/special-dropdown/special-dropdown.module.d.ts +14 -0
- package/lib/components/special-form/special-form.component.d.ts +31 -0
- package/lib/components/special-form/special-form.module.d.ts +19 -0
- package/lib/components/special-input/special-input.component.d.ts +15 -0
- package/lib/components/special-input/special-input.interface.d.ts +15 -0
- package/lib/components/special-input/special-input.module.d.ts +14 -0
- package/lib/components/special-label/special-label.component.d.ts +13 -0
- package/lib/components/special-label/special-label.interface.d.ts +12 -0
- package/lib/components/special-label/special-label.module.d.ts +15 -0
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.d.ts +22 -0
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.d.ts +18 -0
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.module.d.ts +16 -0
- package/lib/components/special-text-area/special-text-area.component.d.ts +13 -0
- package/lib/components/special-text-area/special-text-area.interface.d.ts +7 -0
- package/lib/components/special-text-area/special-text-area.module.d.ts +14 -0
- package/lib/components/special-upload/special-upload.component.d.ts +21 -0
- package/lib/components/special-upload/special-upload.interface.d.ts +10 -0
- package/lib/components/special-upload/special-upload.module.d.ts +13 -0
- package/lib/core/aux-data/control-types.enum.d.ts +16 -0
- package/lib/core/forms/special-forms.d.ts +110 -0
- package/lib/core/interfaces/field-basics.interfaces.d.ts +22 -0
- package/lib/core/interfaces/form.interfaces.d.ts +51 -0
- package/lib/core/services/index.d.ts +2 -0
- package/lib/core/services/special-form-builder/special-form-builder.service.d.ts +25 -0
- package/lib/pipes/controls-list-pipe/controls-list.pipe.d.ts +11 -0
- package/lib/pipes/controls-list-pipe/controls-list.pipe.module.d.ts +8 -0
- package/lib/pipes/error-message-pipe/error.pipe.d.ts +12 -0
- package/lib/pipes/error-message-pipe/error.pipe.module.d.ts +8 -0
- package/lib/pipes/index.d.ts +2 -0
- package/lib/pipes/text-by-function/text-by-function.pipe.d.ts +7 -0
- package/lib/pipes/text-by-function/text-by-function.pipe.module.d.ts +8 -0
- package/package.json +31 -0
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { ErrorMessagePipeModule, TextByFunctionPipeModule } from '../../pipes';
|
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
|
9
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
10
|
+
import { SpecialMultipleAutocompleteComponent } from './special-multiple-autocomplete.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class SpecialMultipleAutocompleteModule {
|
|
13
|
+
}
|
|
14
|
+
SpecialMultipleAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialMultipleAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
SpecialMultipleAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: SpecialMultipleAutocompleteModule, declarations: [SpecialMultipleAutocompleteComponent], imports: [MatInputModule,
|
|
16
|
+
CommonModule,
|
|
17
|
+
MatAutocompleteModule,
|
|
18
|
+
MatIconModule,
|
|
19
|
+
ReactiveFormsModule,
|
|
20
|
+
MatButtonModule,
|
|
21
|
+
ErrorMessagePipeModule,
|
|
22
|
+
TextByFunctionPipeModule,
|
|
23
|
+
MatChipsModule], exports: [SpecialMultipleAutocompleteComponent] });
|
|
24
|
+
SpecialMultipleAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialMultipleAutocompleteModule, imports: [MatInputModule,
|
|
25
|
+
CommonModule,
|
|
26
|
+
MatAutocompleteModule,
|
|
27
|
+
MatIconModule,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
MatButtonModule,
|
|
30
|
+
ErrorMessagePipeModule,
|
|
31
|
+
TextByFunctionPipeModule,
|
|
32
|
+
MatChipsModule] });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialMultipleAutocompleteModule, decorators: [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
declarations: [SpecialMultipleAutocompleteComponent],
|
|
37
|
+
imports: [
|
|
38
|
+
MatInputModule,
|
|
39
|
+
CommonModule,
|
|
40
|
+
MatAutocompleteModule,
|
|
41
|
+
MatIconModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
MatButtonModule,
|
|
44
|
+
ErrorMessagePipeModule,
|
|
45
|
+
TextByFunctionPipeModule,
|
|
46
|
+
MatChipsModule,
|
|
47
|
+
],
|
|
48
|
+
exports: [SpecialMultipleAutocompleteComponent],
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBa0JqRyxNQUFNLE9BQU8saUNBQWlDOzs4SEFBakMsaUNBQWlDOytIQUFqQyxpQ0FBaUMsaUJBZjdCLG9DQUFvQyxhQUVqRCxjQUFjO1FBQ2QsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLGNBQWMsYUFHTixvQ0FBb0M7K0hBRW5DLGlDQUFpQyxZQWIxQyxjQUFjO1FBQ2QsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLGNBQWM7MkZBS0wsaUNBQWlDO2tCQWhCN0MsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztvQkFDcEQsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixjQUFjO3FCQUVmO29CQUNELE9BQU8sRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlUGlwZU1vZHVsZSwgVGV4dEJ5RnVuY3Rpb25QaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IFNwZWNpYWxNdWx0aXBsZUF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU3BlY2lhbE11bHRpcGxlQXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBFcnJvck1lc3NhZ2VQaXBlTW9kdWxlLFxuICAgIFRleHRCeUZ1bmN0aW9uUGlwZU1vZHVsZSxcbiAgICBNYXRDaGlwc01vZHVsZSxcblxuICBdLFxuICBleHBvcnRzOiBbU3BlY2lhbE11bHRpcGxlQXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU3BlY2lhbE11bHRpcGxlQXV0b2NvbXBsZXRlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/cdk/text-field";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/input";
|
|
8
|
+
import * as i5 from "@angular/material/icon";
|
|
9
|
+
import * as i6 from "@angular/forms";
|
|
10
|
+
import * as i7 from "../../pipes/error-message-pipe/error.pipe";
|
|
11
|
+
export class SpecialTextAreaComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.onBlur = new EventEmitter();
|
|
14
|
+
this.onEnter = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() { }
|
|
17
|
+
}
|
|
18
|
+
SpecialTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
SpecialTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SpecialTextAreaComponent, selector: "sp-text-area", inputs: { control: "control" }, outputs: { onBlur: "onBlur", onEnter: "onEnter" }, ngImport: i0, template: "<mat-form-field\n *ngIf=\"control\"\n [id]=\"control.elementId\"\n class=\"w-full {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'standard'\"\n>\n <mat-label *ngIf=\"control.label\">{{ control.label }}</mat-label>\n <textarea\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n matInput\n (blur)=\"onBlur.emit(control.value)\"\n (keydown.enter)=\"onEnter.emit(control.value)\"\n [type]=\"control.settings?.type || 'text'\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n ></textarea>\n <mat-icon *ngIf=\"control.icon\" matPrefix>{{ control.icon }} </mat-icon>\n <mat-hint>\n {{ control.tooltip }}\n </mat-hint>\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n</mat-form-field>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i7.ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialTextAreaComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{ selector: 'sp-text-area', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\n *ngIf=\"control\"\n [id]=\"control.elementId\"\n class=\"w-full {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'standard'\"\n>\n <mat-label *ngIf=\"control.label\">{{ control.label }}</mat-label>\n <textarea\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n matInput\n (blur)=\"onBlur.emit(control.value)\"\n (keydown.enter)=\"onEnter.emit(control.value)\"\n [type]=\"control.settings?.type || 'text'\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n ></textarea>\n <mat-icon *ngIf=\"control.icon\" matPrefix>{{ control.icon }} </mat-icon>\n <mat-hint>\n {{ control.tooltip }}\n </mat-hint>\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n</mat-form-field>\n", styles: [":host{display:contents}\n"] }]
|
|
23
|
+
}], ctorParameters: function () { return []; }, propDecorators: { control: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], onBlur: [{
|
|
26
|
+
type: Output
|
|
27
|
+
}], onEnter: [{
|
|
28
|
+
type: Output
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVMvRSxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DO1FBSFUsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzQyxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOztxSEFSUix3QkFBd0I7eUdBQXhCLHdCQUF3Qix1SUNWckMsNDdCQTZCQTsyRkRuQmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTTswRUFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNwZWNpYWxGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybXMvc3BlY2lhbC1mb3Jtcyc7XG5pbXBvcnQgeyBJVGV4dEFyZWFGaWVsZCB9IGZyb20gJy4vc3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXRleHQtYXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGVjaWFsLXRleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwZWNpYWwtdGV4dC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTcGVjaWFsVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb250cm9sOiBTcGVjaWFsRm9ybUNvbnRyb2w8SVRleHRBcmVhRmllbGQ+O1xuXG4gIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25FbnRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxtYXQtZm9ybS1maWVsZFxuICAqbmdJZj1cImNvbnRyb2xcIlxuICBbaWRdPVwiY29udHJvbC5lbGVtZW50SWRcIlxuICBjbGFzcz1cInctZnVsbCB7eyBjb250cm9sLnN0eWxlQ2xhc3NlcyB9fVwiXG4gIFthcHBlYXJhbmNlXT1cImNvbnRyb2wubGFiZWwgPyAnb3V0bGluZScgOiAnc3RhbmRhcmQnXCJcbj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbnRyb2wubGFiZWxcIj57eyBjb250cm9sLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDx0ZXh0YXJlYVxuICAgIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCJcbiAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCJcbiAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI1XCJcbiAgICBtYXRJbnB1dFxuICAgIChibHVyKT1cIm9uQmx1ci5lbWl0KGNvbnRyb2wudmFsdWUpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyLmVtaXQoY29udHJvbC52YWx1ZSlcIlxuICAgIFt0eXBlXT1cImNvbnRyb2wuc2V0dGluZ3M/LnR5cGUgfHwgJ3RleHQnXCJcbiAgICBbcmVhZG9ubHldPVwiY29udHJvbC5yZWFkT25seVwiXG4gICAgW3JlcXVpcmVkXT1cImNvbnRyb2wucmVxdWlyZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gID48L3RleHRhcmVhPlxuICA8bWF0LWljb24gKm5nSWY9XCJjb250cm9sLmljb25cIiBtYXRQcmVmaXg+e3sgY29udHJvbC5pY29uIH19IDwvbWF0LWljb24+XG4gIDxtYXQtaGludD5cbiAgICB7eyBjb250cm9sLnRvb2x0aXAgfX1cbiAgPC9tYXQtaGludD5cbiAgPG1hdC1lcnJvcj5cbiAgICB7eyBjb250cm9sLmVycm9ycyB8IGVycm9yTWVzc2FnZTogY29udHJvbC5lcnJvck1lc3NhZ2VzIH19XG4gIDwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElUZXh0QXJlYVNldHRpbmdzID0ge307XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUZXh0QXJlYUZpZWxkIGV4dGVuZHMgSUZpZWxkRGF0YSB7XHJcbiAgc2V0dGluZ3M6IElUZXh0QXJlYVNldHRpbmdzO1xyXG4gIHR5cGU6IEVDb250cm9sVHlwZXMudGV4dEFyZWE7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SpecialTextAreaComponent } from './special-text-area.component';
|
|
4
|
+
import { MatInputModule } from '@angular/material/input';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { InputMaskModule } from '@ngneat/input-mask';
|
|
7
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { ErrorMessagePipeModule } from '../../pipes';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class SpecialTextAreaModule {
|
|
12
|
+
}
|
|
13
|
+
SpecialTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
SpecialTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: SpecialTextAreaModule, declarations: [SpecialTextAreaComponent], imports: [InputMaskModule,
|
|
15
|
+
CommonModule,
|
|
16
|
+
MatInputModule,
|
|
17
|
+
MatIconModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
MatButtonModule,
|
|
20
|
+
ErrorMessagePipeModule], exports: [SpecialTextAreaComponent] });
|
|
21
|
+
SpecialTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialTextAreaModule, imports: [InputMaskModule,
|
|
22
|
+
CommonModule,
|
|
23
|
+
MatInputModule,
|
|
24
|
+
MatIconModule,
|
|
25
|
+
ReactiveFormsModule,
|
|
26
|
+
MatButtonModule,
|
|
27
|
+
ErrorMessagePipeModule] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialTextAreaModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
declarations: [SpecialTextAreaComponent],
|
|
32
|
+
imports: [
|
|
33
|
+
InputMaskModule,
|
|
34
|
+
CommonModule,
|
|
35
|
+
MatInputModule,
|
|
36
|
+
MatIconModule,
|
|
37
|
+
ReactiveFormsModule,
|
|
38
|
+
MatButtonModule,
|
|
39
|
+
ErrorMessagePipeModule,
|
|
40
|
+
],
|
|
41
|
+
exports: [SpecialTextAreaComponent],
|
|
42
|
+
}]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBZXJELE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFaakIsd0JBQXdCLGFBRXJDLGVBQWU7UUFDZixZQUFZO1FBQ1osY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHNCQUFzQixhQUVkLHdCQUF3QjttSEFFdkIscUJBQXFCLFlBVjlCLGVBQWU7UUFDZixZQUFZO1FBQ1osY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHNCQUFzQjsyRkFJYixxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3BlY2lhbFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9zcGVjaWFsLXRleHQtYXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgSW5wdXRNYXNrTW9kdWxlIH0gZnJvbSAnQG5nbmVhdC9pbnB1dC1tYXNrJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTcGVjaWFsVGV4dEFyZWFDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEVycm9yTWVzc2FnZVBpcGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTcGVjaWFsVGV4dEFyZWFDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTcGVjaWFsVGV4dEFyZWFNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
import * as i2 from "ngx-dropzone";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/icon";
|
|
8
|
+
import * as i5 from "../../pipes/error-message-pipe/error.pipe";
|
|
9
|
+
export class SpecialUploadComponent {
|
|
10
|
+
constructor(sanitizer) {
|
|
11
|
+
this.sanitizer = sanitizer;
|
|
12
|
+
this.onSelect = new EventEmitter();
|
|
13
|
+
this.previewImages = [];
|
|
14
|
+
}
|
|
15
|
+
set controlSetter(control) {
|
|
16
|
+
this.control = control;
|
|
17
|
+
this.previewImages = control.value;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() { }
|
|
20
|
+
onSelectMultiple(event) {
|
|
21
|
+
this.previewImages = [
|
|
22
|
+
...this.previewImages,
|
|
23
|
+
...event.addedFiles.map(file => ({
|
|
24
|
+
lastModified: file.lastModified,
|
|
25
|
+
url: this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file))
|
|
26
|
+
}))
|
|
27
|
+
];
|
|
28
|
+
this.control.setValue([
|
|
29
|
+
...this.control.value,
|
|
30
|
+
...event.addedFiles.map(this.fixFileName)
|
|
31
|
+
]);
|
|
32
|
+
this.onSelect.emit(this.control.value);
|
|
33
|
+
this.control.markAsDirty();
|
|
34
|
+
}
|
|
35
|
+
onSelectOne(event) {
|
|
36
|
+
this.previewImages = event.addedFiles.map(file => ({
|
|
37
|
+
lastModified: file.lastModified,
|
|
38
|
+
url: this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file))
|
|
39
|
+
}));
|
|
40
|
+
this.control.setValue(event.addedFiles.map(this.fixFileName));
|
|
41
|
+
this.onSelect.emit(this.control.value);
|
|
42
|
+
this.control.markAsDirty();
|
|
43
|
+
}
|
|
44
|
+
fixFileName(file) {
|
|
45
|
+
return Object.defineProperty(file, 'name', {
|
|
46
|
+
writable: true,
|
|
47
|
+
value: file.name.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
clean() {
|
|
51
|
+
this.previewImages = [];
|
|
52
|
+
}
|
|
53
|
+
onRemove(file) {
|
|
54
|
+
this.control.setValue(this.control.value.filter(fl => fl.lastModified !== file.lastModified));
|
|
55
|
+
this.previewImages = this.previewImages.filter(fl => fl.lastModified !== file.lastModified);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
SpecialUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialUploadComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
SpecialUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SpecialUploadComponent, selector: "sp-upload", inputs: { controlSetter: ["control", "controlSetter"] }, outputs: { onSelect: "onSelect" }, ngImport: i0, template: "<div class=\"special_upload mb-2\">\n <ngx-dropzone\n class=\"special_upload__dropzone\"\n [ngClass]=\"{\n 'special_upload--error-dashed':\n !!control.errors && (control.dirty || control.touched)\n }\"\n [multiple]=\"control.settings?.multiple\"\n [accept]=\"\n control.settings?.accept\n ? control.settings?.accept\n : 'image/png, .jpeg, .jpg, image/gif'\n \"\n (change)=\"\n control.settings?.multiple\n ? onSelectMultiple($event)\n : onSelectOne($event)\n \"\n >\n <ngx-dropzone-label\n [ngClass]=\"{\n 'special_upload--error':\n !!control.errors && (control.dirty || control.touched)\n }\"\n >\n <mat-icon class=\"special_upload__icon\"*ngIf=\"control.icon\">{{ control.icon }} </mat-icon>\n <h2 class=\"text-base font-bold\">\n {{ control.label }}\n </h2>\n <h3 class=\"text-base\">\n {{ control.placeholder }}\n </h3>\n </ngx-dropzone-label>\n <ngx-dropzone-preview\n *ngFor=\"let file of previewImages\"\n [removable]=\"true\"\n (removed)=\"onRemove(file)\"\n >\n <ngx-dropzone-label class=\"special_upload__card\">\n <img class=\"special_upload__card--image\" [src]=\"file?.url\" alt=\"\" />\n </ngx-dropzone-label>\n </ngx-dropzone-preview>\n </ngx-dropzone>\n <div\n class=\"special_upload--error mt-2\"\n *ngIf=\"!!control.errors && (control.dirty || control.touched)\"\n >\n {{ control.errors | errorMessage: control.errorMessages }}\n </div>\n</div>\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:2rem}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:100%;height:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "component", type: i2.NgxDropzoneComponent, selector: "ngx-dropzone, [ngx-dropzone]", inputs: ["accept", "disabled", "multiple", "maxFileSize", "expandable", "disableClick", "processDirectoryDrop", "id", "aria-label", "aria-labelledby", "aria-describedby"], outputs: ["change"] }, { kind: "directive", type: i2.NgxDropzoneLabelDirective, selector: "ngx-dropzone-label" }, { kind: "component", type: i2.NgxDropzonePreviewComponent, selector: "ngx-dropzone-preview", inputs: ["file", "removable"], outputs: ["removed"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i5.ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialUploadComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ selector: 'sp-upload', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"special_upload mb-2\">\n <ngx-dropzone\n class=\"special_upload__dropzone\"\n [ngClass]=\"{\n 'special_upload--error-dashed':\n !!control.errors && (control.dirty || control.touched)\n }\"\n [multiple]=\"control.settings?.multiple\"\n [accept]=\"\n control.settings?.accept\n ? control.settings?.accept\n : 'image/png, .jpeg, .jpg, image/gif'\n \"\n (change)=\"\n control.settings?.multiple\n ? onSelectMultiple($event)\n : onSelectOne($event)\n \"\n >\n <ngx-dropzone-label\n [ngClass]=\"{\n 'special_upload--error':\n !!control.errors && (control.dirty || control.touched)\n }\"\n >\n <mat-icon class=\"special_upload__icon\"*ngIf=\"control.icon\">{{ control.icon }} </mat-icon>\n <h2 class=\"text-base font-bold\">\n {{ control.label }}\n </h2>\n <h3 class=\"text-base\">\n {{ control.placeholder }}\n </h3>\n </ngx-dropzone-label>\n <ngx-dropzone-preview\n *ngFor=\"let file of previewImages\"\n [removable]=\"true\"\n (removed)=\"onRemove(file)\"\n >\n <ngx-dropzone-label class=\"special_upload__card\">\n <img class=\"special_upload__card--image\" [src]=\"file?.url\" alt=\"\" />\n </ngx-dropzone-label>\n </ngx-dropzone-preview>\n </ngx-dropzone>\n <div\n class=\"special_upload--error mt-2\"\n *ngIf=\"!!control.errors && (control.dirty || control.touched)\"\n >\n {{ control.errors | errorMessage: control.errorMessages }}\n </div>\n</div>\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:2rem}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:100%;height:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"] }]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { controlSetter: [{
|
|
64
|
+
type: Input,
|
|
65
|
+
args: ['control']
|
|
66
|
+
}], onSelect: [{
|
|
67
|
+
type: Output
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFReEQsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBSmxDLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztJQUU0QixDQUFDO0lBVGhELElBQXNCLGFBQWEsQ0FBQyxPQUFPO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBUUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUMvQixDQUFDO2dCQUNDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0RSxDQUNBLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CO1lBQ0UsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDckIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2pELENBQUM7WUFDQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RSxDQUFDLENBQUMsQ0FBQTtRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUNuQixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3ZDLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7U0FDbEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQUk7UUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM3RixDQUFDOzttSEFoRVUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNklDWm5DLGtpREFrREE7MkZEdENhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07bUdBS3pCLGFBQWE7c0JBQWxDLEtBQUs7dUJBQUMsU0FBUztnQkFLTixRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BlY2lhbEZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS9mb3Jtcy9zcGVjaWFsLWZvcm1zJztcbmltcG9ydCB7IElVcGxvYWRTZXR0aW5ncyB9IGZyb20gJy4vc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWNpYWwtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNwZWNpYWxVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb250cm9sOiBTcGVjaWFsRm9ybUNvbnRyb2w8SVVwbG9hZFNldHRpbmdzPjtcblxuICBASW5wdXQoJ2NvbnRyb2wnKSBzZXQgY29udHJvbFNldHRlcihjb250cm9sKSB7XG4gICAgdGhpcy5jb250cm9sID0gY29udHJvbDtcbiAgICB0aGlzLnByZXZpZXdJbWFnZXMgPSBjb250cm9sLnZhbHVlO1xuICB9XG5cbiAgQE91dHB1dCgpIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcmV2aWV3SW1hZ2VzID0gW107XG5cbiAgY29uc3RydWN0b3IoIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG9uU2VsZWN0TXVsdGlwbGUoZXZlbnQpIHtcbiAgICB0aGlzLnByZXZpZXdJbWFnZXMgPSBbXG4gICAgICAuLi50aGlzLnByZXZpZXdJbWFnZXMsXG4gICAgICAuLi5ldmVudC5hZGRlZEZpbGVzLm1hcChmaWxlID0+XG4gICAgICAoe1xuICAgICAgICBsYXN0TW9kaWZpZWQ6IGZpbGUubGFzdE1vZGlmaWVkLFxuICAgICAgICB1cmw6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSlcbiAgICAgIH1cbiAgICAgICkpXG4gICAgXTtcblxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShcbiAgICAgIFtcbiAgICAgICAgLi4udGhpcy5jb250cm9sLnZhbHVlLFxuICAgICAgICAuLi5ldmVudC5hZGRlZEZpbGVzLm1hcCh0aGlzLmZpeEZpbGVOYW1lKVxuICAgICAgXVxuICAgICk7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSlcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIG9uU2VsZWN0T25lKGV2ZW50KSB7XG4gICAgdGhpcy5wcmV2aWV3SW1hZ2VzID0gZXZlbnQuYWRkZWRGaWxlcy5tYXAoZmlsZSA9PlxuICAgICh7XG4gICAgICBsYXN0TW9kaWZpZWQ6IGZpbGUubGFzdE1vZGlmaWVkLFxuICAgICAgdXJsOiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpXG4gICAgfSkpXG5cbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICBldmVudC5hZGRlZEZpbGVzLm1hcCh0aGlzLmZpeEZpbGVOYW1lKVxuICAgICk7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSlcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIGZpeEZpbGVOYW1lKGZpbGU6IEZpbGUpIHtcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGZpbGUsICduYW1lJywge1xuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmlsZS5uYW1lLm5vcm1hbGl6ZShcIk5GRFwiKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgIH0pO1xuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy5wcmV2aWV3SW1hZ2VzID0gW107XG4gIH1cbiAgb25SZW1vdmUoZmlsZSkge1xuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvbnRyb2wudmFsdWUuZmlsdGVyKGZsID0+IGZsLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWQpKTtcbiAgICB0aGlzLnByZXZpZXdJbWFnZXMgPSB0aGlzLnByZXZpZXdJbWFnZXMuZmlsdGVyKGZsID0+IGZsLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWQpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInNwZWNpYWxfdXBsb2FkIG1iLTJcIj5cbiAgPG5neC1kcm9wem9uZVxuICAgIGNsYXNzPVwic3BlY2lhbF91cGxvYWRfX2Ryb3B6b25lXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc3BlY2lhbF91cGxvYWQtLWVycm9yLWRhc2hlZCc6XG4gICAgICAgICEhY29udHJvbC5lcnJvcnMgJiYgKGNvbnRyb2wuZGlydHkgfHwgY29udHJvbC50b3VjaGVkKVxuICAgIH1cIlxuICAgIFttdWx0aXBsZV09XCJjb250cm9sLnNldHRpbmdzPy5tdWx0aXBsZVwiXG4gICAgW2FjY2VwdF09XCJcbiAgICAgIGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxuICAgICAgICA/IGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxuICAgICAgICA6ICdpbWFnZS9wbmcsIC5qcGVnLCAuanBnLCBpbWFnZS9naWYnXG4gICAgXCJcbiAgICAoY2hhbmdlKT1cIlxuICAgICAgY29udHJvbC5zZXR0aW5ncz8ubXVsdGlwbGVcbiAgICAgICAgPyBvblNlbGVjdE11bHRpcGxlKCRldmVudClcbiAgICAgICAgOiBvblNlbGVjdE9uZSgkZXZlbnQpXG4gICAgXCJcbiAgPlxuICAgIDxuZ3gtZHJvcHpvbmUtbGFiZWxcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NwZWNpYWxfdXBsb2FkLS1lcnJvcic6XG4gICAgICAgICAgISFjb250cm9sLmVycm9ycyAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJzcGVjaWFsX3VwbG9hZF9faWNvblwiKm5nSWY9XCJjb250cm9sLmljb25cIj57eyBjb250cm9sLmljb24gfX0gPC9tYXQtaWNvbj5cbiAgICAgIDxoMiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj5cbiAgICAgICAge3sgY29udHJvbC5sYWJlbCB9fVxuICAgICAgPC9oMj5cbiAgICAgIDxoMyBjbGFzcz1cInRleHQtYmFzZVwiPlxuICAgICAgICB7eyBjb250cm9sLnBsYWNlaG9sZGVyIH19XG4gICAgICA8L2gzPlxuICAgIDwvbmd4LWRyb3B6b25lLWxhYmVsPlxuICAgIDxuZ3gtZHJvcHpvbmUtcHJldmlld1xuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgcHJldmlld0ltYWdlc1wiXG4gICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgKHJlbW92ZWQpPVwib25SZW1vdmUoZmlsZSlcIlxuICAgID5cbiAgICAgIDxuZ3gtZHJvcHpvbmUtbGFiZWwgY2xhc3M9XCJzcGVjaWFsX3VwbG9hZF9fY2FyZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwic3BlY2lhbF91cGxvYWRfX2NhcmQtLWltYWdlXCIgW3NyY109XCJmaWxlPy51cmxcIiBhbHQ9XCJcIiAvPlxuICAgICAgPC9uZ3gtZHJvcHpvbmUtbGFiZWw+XG4gICAgPC9uZ3gtZHJvcHpvbmUtcHJldmlldz5cbiAgPC9uZ3gtZHJvcHpvbmU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNwZWNpYWxfdXBsb2FkLS1lcnJvciBtdC0yXCJcbiAgICAqbmdJZj1cIiEhY29udHJvbC5lcnJvcnMgJiYgKGNvbnRyb2wuZGlydHkgfHwgY29udHJvbC50b3VjaGVkKVwiXG4gID5cbiAgICB7eyBjb250cm9sLmVycm9ycyB8IGVycm9yTWVzc2FnZTogY29udHJvbC5lcnJvck1lc3NhZ2VzIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElVcGxvYWRTZXR0aW5ncyA9IHtcclxuICBhY2NlcHQ/OiBzdHJpbmcsXHJcbiAgbXVsdGlwbGU/OiBib29sZWFuXHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRGaWVsZCBleHRlbmRzIElGaWVsZERhdGEge1xyXG4gIHNldHRpbmdzOiBJVXBsb2FkU2V0dGluZ3M7XHJcbiAgdHlwZTogRUNvbnRyb2xUeXBlcy51cGxvYWQ7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SpecialUploadComponent } from './special-upload.component';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { ErrorMessagePipeModule } from '../../pipes';
|
|
8
|
+
import { NgxDropzoneModule } from 'ngx-dropzone';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class SpecialUploadModule {
|
|
11
|
+
}
|
|
12
|
+
SpecialUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
SpecialUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: SpecialUploadModule, declarations: [SpecialUploadComponent], imports: [FormsModule,
|
|
14
|
+
NgxDropzoneModule,
|
|
15
|
+
CommonModule,
|
|
16
|
+
MatIconModule,
|
|
17
|
+
ReactiveFormsModule,
|
|
18
|
+
MatButtonModule,
|
|
19
|
+
ErrorMessagePipeModule], exports: [SpecialUploadComponent] });
|
|
20
|
+
SpecialUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialUploadModule, imports: [FormsModule,
|
|
21
|
+
NgxDropzoneModule,
|
|
22
|
+
CommonModule,
|
|
23
|
+
MatIconModule,
|
|
24
|
+
ReactiveFormsModule,
|
|
25
|
+
MatButtonModule,
|
|
26
|
+
ErrorMessagePipeModule] });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SpecialUploadModule, decorators: [{
|
|
28
|
+
type: NgModule,
|
|
29
|
+
args: [{
|
|
30
|
+
declarations: [SpecialUploadComponent],
|
|
31
|
+
imports: [
|
|
32
|
+
FormsModule,
|
|
33
|
+
NgxDropzoneModule,
|
|
34
|
+
CommonModule,
|
|
35
|
+
MatIconModule,
|
|
36
|
+
ReactiveFormsModule,
|
|
37
|
+
MatButtonModule,
|
|
38
|
+
ErrorMessagePipeModule
|
|
39
|
+
],
|
|
40
|
+
exports: [SpecialUploadComponent],
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBZWpELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFaZixzQkFBc0IsYUFFbkMsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2Ysc0JBQXNCLGFBRWQsc0JBQXNCO2lIQUVyQixtQkFBbUIsWUFWNUIsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2Ysc0JBQXNCOzJGQUliLG1CQUFtQjtrQkFiL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTcGVjaWFsVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9zcGVjaWFsLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlUGlwZU1vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IE5neERyb3B6b25lTW9kdWxlIH0gZnJvbSAnbmd4LWRyb3B6b25lJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU3BlY2lhbFVwbG9hZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBFcnJvck1lc3NhZ2VQaXBlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtTcGVjaWFsVXBsb2FkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU3BlY2lhbFVwbG9hZE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export var EControlTypes;
|
|
2
|
+
(function (EControlTypes) {
|
|
3
|
+
EControlTypes["pkey"] = "PRIMARY-KEY";
|
|
4
|
+
EControlTypes["input"] = "INPUT";
|
|
5
|
+
EControlTypes["textArea"] = "TEXT-AREA";
|
|
6
|
+
EControlTypes["dropdown"] = "DROPDOWN";
|
|
7
|
+
EControlTypes["date"] = "DATE";
|
|
8
|
+
EControlTypes["time"] = "TIME";
|
|
9
|
+
EControlTypes["checkbox"] = "CHECKBOX";
|
|
10
|
+
EControlTypes["upload"] = "UPLOAD";
|
|
11
|
+
EControlTypes["autocomplete"] = "AUTOCOMPLETE";
|
|
12
|
+
EControlTypes["multiple"] = "MULTIPLE-AUTOCOMPLETE";
|
|
13
|
+
EControlTypes["array"] = "ARRAY";
|
|
14
|
+
EControlTypes["form"] = "FORM";
|
|
15
|
+
EControlTypes["label"] = "LABEL";
|
|
16
|
+
EControlTypes["default"] = "DEFAULT";
|
|
17
|
+
})(EControlTypes || (EControlTypes = {}));
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC10eXBlcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvcmUvYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBZVg7QUFmRCxXQUFZLGFBQWE7SUFDdkIscUNBQW9CLENBQUE7SUFDcEIsZ0NBQWUsQ0FBQTtJQUNmLHVDQUFzQixDQUFBO0lBQ3RCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7SUFDYiw4QkFBYSxDQUFBO0lBQ2Isc0NBQXFCLENBQUE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsOENBQTZCLENBQUE7SUFDN0IsbURBQWtDLENBQUE7SUFDbEMsZ0NBQWUsQ0FBQTtJQUNmLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0lBQ2Ysb0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQWZXLGFBQWEsS0FBYixhQUFhLFFBZXhCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRUNvbnRyb2xUeXBlcyB7XHJcbiAgcGtleSA9ICdQUklNQVJZLUtFWScsXHJcbiAgaW5wdXQgPSAnSU5QVVQnLFxyXG4gIHRleHRBcmVhID0gJ1RFWFQtQVJFQScsXHJcbiAgZHJvcGRvd24gPSAnRFJPUERPV04nLFxyXG4gIGRhdGUgPSAnREFURScsXHJcbiAgdGltZSA9ICdUSU1FJyxcclxuICBjaGVja2JveCA9ICdDSEVDS0JPWCcsXHJcbiAgdXBsb2FkID0gJ1VQTE9BRCcsXHJcbiAgYXV0b2NvbXBsZXRlID0gJ0FVVE9DT01QTEVURScsXHJcbiAgbXVsdGlwbGUgPSAnTVVMVElQTEUtQVVUT0NPTVBMRVRFJyxcclxuICBhcnJheSA9ICdBUlJBWScsXHJcbiAgZm9ybSA9ICdGT1JNJyxcclxuICBsYWJlbCA9ICdMQUJFTCcsXHJcbiAgZGVmYXVsdCA9ICdERUZBVUxUJyxcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { FormArray, FormControl, FormGroup, } from '@angular/forms';
|
|
2
|
+
export class SpecialFormControl extends FormControl {
|
|
3
|
+
constructor({ name, settings, type, validators, asyncValidators, elementId, styleClasses, defaultValue, hidden, icon, label, length, placeholder, readOnly, required, tooltip, errorMessages, disabled, }) {
|
|
4
|
+
super(defaultValue, validators, asyncValidators);
|
|
5
|
+
this.name = name;
|
|
6
|
+
this.placeholder = placeholder;
|
|
7
|
+
this.label = label;
|
|
8
|
+
this.tooltip = tooltip;
|
|
9
|
+
this.icon = icon;
|
|
10
|
+
this.elementId = elementId;
|
|
11
|
+
this.settings = settings;
|
|
12
|
+
this.type = type;
|
|
13
|
+
this.styleClasses = styleClasses;
|
|
14
|
+
this.hidden = hidden;
|
|
15
|
+
this.length = length;
|
|
16
|
+
this.readOnly = readOnly;
|
|
17
|
+
this.required = required;
|
|
18
|
+
this.errorMessages = errorMessages;
|
|
19
|
+
disabled ? this.disable() : this.enable();
|
|
20
|
+
}
|
|
21
|
+
setReadOnly(status = true) {
|
|
22
|
+
this.readOnly = status;
|
|
23
|
+
}
|
|
24
|
+
setDisabled(status = true) {
|
|
25
|
+
status ? this.disable() : this.enable();
|
|
26
|
+
}
|
|
27
|
+
setHidden(status = true) {
|
|
28
|
+
this.hidden = status;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class SpecialFormGroup extends FormGroup {
|
|
32
|
+
constructor({ name, settings, type, validators, asyncValidators, elementId, styleClasses, defaultValue, hidden, icon, label, length, placeholder, readOnly, required, tooltip, disabled, }, controls) {
|
|
33
|
+
super(controls, validators, asyncValidators);
|
|
34
|
+
this.name = name;
|
|
35
|
+
this.placeholder = placeholder;
|
|
36
|
+
this.label = label;
|
|
37
|
+
this.tooltip = tooltip;
|
|
38
|
+
this.icon = icon;
|
|
39
|
+
this.elementId = elementId;
|
|
40
|
+
this.settings = settings;
|
|
41
|
+
this.type = type;
|
|
42
|
+
this.styleClasses = styleClasses;
|
|
43
|
+
this.hidden = hidden;
|
|
44
|
+
this.length = length;
|
|
45
|
+
this.readOnly = readOnly;
|
|
46
|
+
this.required = required;
|
|
47
|
+
this.defaultValue = defaultValue;
|
|
48
|
+
disabled ? this.disable() : this.enable();
|
|
49
|
+
}
|
|
50
|
+
unpristineRequired() {
|
|
51
|
+
Object.values(this.controls).forEach((control) => {
|
|
52
|
+
if (control instanceof SpecialFormControl) {
|
|
53
|
+
control.markAsDirty();
|
|
54
|
+
}
|
|
55
|
+
else if (control instanceof SpecialFormGroup) {
|
|
56
|
+
control.unpristineRequired();
|
|
57
|
+
}
|
|
58
|
+
else if (control instanceof SpecialFormArray) {
|
|
59
|
+
control.unpristineRequired();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
specialReset(value = {}) {
|
|
64
|
+
const aux = {};
|
|
65
|
+
Object.entries(this.controls).map(([key, control]) => {
|
|
66
|
+
if (control instanceof SpecialFormControl) {
|
|
67
|
+
aux[key] = control.defaultValue;
|
|
68
|
+
}
|
|
69
|
+
else if (control instanceof SpecialFormArray) {
|
|
70
|
+
control.clear();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
this.reset({ ...aux, ...value });
|
|
74
|
+
}
|
|
75
|
+
setReadOnly(status = true) {
|
|
76
|
+
Object.values(this.controls).map((value) => {
|
|
77
|
+
if (value instanceof SpecialFormControl ||
|
|
78
|
+
value instanceof SpecialFormArray ||
|
|
79
|
+
value instanceof SpecialFormGroup) {
|
|
80
|
+
value.setReadOnly(status);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
setReadOnlyByFields(fieldsObject) {
|
|
85
|
+
Object.entries(fieldsObject).map(([key, value]) => {
|
|
86
|
+
const control = this.controls[key];
|
|
87
|
+
if (control instanceof SpecialFormControl) {
|
|
88
|
+
control.readOnly = value;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
setHiddenByFields(fields) {
|
|
93
|
+
Object.entries(fields).map(([key, value]) => {
|
|
94
|
+
const control = this.controls[key];
|
|
95
|
+
if (control instanceof SpecialFormControl) {
|
|
96
|
+
control.hidden = value;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
setDisabled(status) {
|
|
101
|
+
Object.values(this.controls).map((value) => {
|
|
102
|
+
if (value instanceof SpecialFormControl ||
|
|
103
|
+
value instanceof SpecialFormArray ||
|
|
104
|
+
value instanceof SpecialFormGroup) {
|
|
105
|
+
value.setDisabled(status);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
setDisabledByFields(fieldsObject) {
|
|
110
|
+
Object.entries(fieldsObject).map((entries) => {
|
|
111
|
+
if (this.controls[entries[0]] instanceof SpecialFormControl) {
|
|
112
|
+
entries[1]
|
|
113
|
+
? this.controls[entries[0]].enable()
|
|
114
|
+
: this.controls[entries[0]].disable();
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* donde value es el objeto semilla y detailForm es un arreglo de form key para dar un marco al formarray
|
|
120
|
+
*/
|
|
121
|
+
setFormValue(value) {
|
|
122
|
+
this.specialReset(value);
|
|
123
|
+
Object.entries(this.controls)
|
|
124
|
+
.filter(([_key, control]) => control instanceof SpecialFormArray)
|
|
125
|
+
.map(([key, control]) => {
|
|
126
|
+
control.fillFormArray(value[key]);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Método que retorna
|
|
131
|
+
*/
|
|
132
|
+
getIdPkey() {
|
|
133
|
+
return Object.values(this.controls).find((control) => control instanceof SpecialFormControl && control.type === 'PRIMARY-KEY');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export class SpecialFormArray extends FormArray {
|
|
137
|
+
constructor({ name, settings, type, validators, asyncValidators, elementId, styleClasses, defaultValue, hidden, icon, label, placeholder, readOnly, required, tooltip, errorMessages, disabled, }, formCreation, controls) {
|
|
138
|
+
super(controls, validators, asyncValidators);
|
|
139
|
+
this.formCreation = formCreation;
|
|
140
|
+
this.form = this.formCreation();
|
|
141
|
+
this.name = name;
|
|
142
|
+
this.placeholder = placeholder;
|
|
143
|
+
this.label = label;
|
|
144
|
+
this.tooltip = tooltip;
|
|
145
|
+
this.icon = icon;
|
|
146
|
+
this.elementId = elementId;
|
|
147
|
+
this.settings = settings;
|
|
148
|
+
this.type = type;
|
|
149
|
+
this.styleClasses = styleClasses;
|
|
150
|
+
this.hidden = hidden;
|
|
151
|
+
this.readOnly = readOnly;
|
|
152
|
+
this.required = required;
|
|
153
|
+
this.defaultValue = defaultValue;
|
|
154
|
+
this.errorMessages = errorMessages;
|
|
155
|
+
disabled ? this.disable() : this.enable();
|
|
156
|
+
}
|
|
157
|
+
fillFormArray(data) {
|
|
158
|
+
this.form.reset();
|
|
159
|
+
this.clear();
|
|
160
|
+
data.forEach((item) => {
|
|
161
|
+
const form = this.formCreation(item);
|
|
162
|
+
this.push(form);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
addItem() {
|
|
166
|
+
const form = this.formCreation(this.form.value);
|
|
167
|
+
this.form.specialReset();
|
|
168
|
+
this.push(form);
|
|
169
|
+
this.markAsDirty();
|
|
170
|
+
}
|
|
171
|
+
specialPush(index) {
|
|
172
|
+
const form = this.formCreation(this.form.value);
|
|
173
|
+
if (!index)
|
|
174
|
+
this.push(form);
|
|
175
|
+
else
|
|
176
|
+
this.controls[index].reset(this.form.value);
|
|
177
|
+
}
|
|
178
|
+
specialInsert(index = 0) {
|
|
179
|
+
const form = this.formCreation(this.form.value);
|
|
180
|
+
this.insert(index, form);
|
|
181
|
+
}
|
|
182
|
+
specialEdit(index, newValue) {
|
|
183
|
+
this.controls[index].reset({ ...this.controls[index].value, ...newValue });
|
|
184
|
+
this.markAsDirty();
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Vuelve todos los controles del formArray de lectura o de sololectura
|
|
188
|
+
* @param status
|
|
189
|
+
*/
|
|
190
|
+
setReadOnly(status) {
|
|
191
|
+
this.readOnly = status;
|
|
192
|
+
this.controls.forEach((control) => {
|
|
193
|
+
if (control instanceof SpecialFormGroup) {
|
|
194
|
+
control.setReadOnly(status);
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Vuelve todos los controles del formArray habilitados o deshabilitados
|
|
200
|
+
* @param status
|
|
201
|
+
*/
|
|
202
|
+
setDisabled(status) {
|
|
203
|
+
status ? this.disable() : this.enable();
|
|
204
|
+
this.controls.forEach((control) => {
|
|
205
|
+
if (control instanceof SpecialFormGroup) {
|
|
206
|
+
control.setDisabled(status);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Permite editar un control especifico.
|
|
212
|
+
* @param index
|
|
213
|
+
*/
|
|
214
|
+
editControl(index) {
|
|
215
|
+
this.form.reset(this.controls[index].value);
|
|
216
|
+
}
|
|
217
|
+
unpristineRequired() {
|
|
218
|
+
this.markAsDirty();
|
|
219
|
+
this.controls.forEach((item) => {
|
|
220
|
+
item.unpristineRequired();
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
recursiveFillForm(form, data) {
|
|
224
|
+
Object.entries(form.controls).map(([key, control]) => {
|
|
225
|
+
if (control instanceof FormControl) {
|
|
226
|
+
control.setValue(data[key]);
|
|
227
|
+
}
|
|
228
|
+
else if (control instanceof FormArray) {
|
|
229
|
+
data[key].forEach(() => { });
|
|
230
|
+
}
|
|
231
|
+
else if (control instanceof FormGroup) {
|
|
232
|
+
control.reset(data[key]);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
return form;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1mb3Jtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL2Zvcm1zL3NwZWNpYWwtZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsTUFBTSxPQUFPLGtCQUNYLFNBQVEsV0FBVztJQWtCbkIsWUFBWSxFQUNWLElBQUksRUFDSixRQUFRLEVBQ1IsSUFBSSxFQUNKLFVBQVUsRUFDVixlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLElBQUksRUFDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEVBQ1IsUUFBUSxFQUNSLE9BQU8sRUFDUCxhQUFhLEVBQ2IsUUFBUSxHQUNPO1FBQ2YsS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFhLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFN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LENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQzdCO2lCQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQzthQUM3QjtpQkFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7Z0JBQ3ZDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgRm9ybUFycmF5LFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVDb250cm9sVHlwZXMgfSBmcm9tICcuLi9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGRCYXNpY0RhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICBJQXJyYXlTZXR0aW5ncyxcclxuICBJRm9ybVNldHRpbmdzLFxyXG4gIFRTcGVjaWFsRmllbGRzLFxyXG4gIFRTcGVjaWFsRm9ybSxcclxuICBUU3BlY2lhbEFycmF5LFxyXG59IGZyb20gJy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2VzJztcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxGb3JtQ29udHJvbDxUPlxyXG4gIGV4dGVuZHMgRm9ybUNvbnRyb2xcclxuICBpbXBsZW1lbnRzIElGaWVsZEJhc2ljRGF0YVxyXG57XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVsZW1lbnRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyBzZXR0aW5nczogVDtcclxuICBwdWJsaWMgdHlwZTogRUNvbnRyb2xUeXBlcztcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgY29uc3RydWN0b3Ioe1xyXG4gICAgbmFtZSxcclxuICAgIHNldHRpbmdzLFxyXG4gICAgdHlwZSxcclxuICAgIHZhbGlkYXRvcnMsXHJcbiAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICBlbGVtZW50SWQsXHJcbiAgICBzdHlsZUNsYXNzZXMsXHJcbiAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICBoaWRkZW4sXHJcbiAgICBpY29uLFxyXG4gICAgbGFiZWwsXHJcbiAgICBsZW5ndGgsXHJcbiAgICBwbGFjZWhvbGRlcixcclxuICAgIHJlYWRPbmx5LFxyXG4gICAgcmVxdWlyZWQsXHJcbiAgICB0b29sdGlwLFxyXG4gICAgZXJyb3JNZXNzYWdlcyxcclxuICAgIGRpc2FibGVkLFxyXG4gIH06IFRTcGVjaWFsRmllbGRzKSB7XHJcbiAgICBzdXBlcihkZWZhdWx0VmFsdWUsIHZhbGlkYXRvcnMsIGFzeW5jVmFsaWRhdG9ycyk7XHJcblxyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcclxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcclxuICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5lbGVtZW50SWQgPSBlbGVtZW50SWQ7XHJcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3MgYXMgVDtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnN0eWxlQ2xhc3NlcyA9IHN0eWxlQ2xhc3NlcztcclxuICAgIHRoaXMuaGlkZGVuID0gaGlkZGVuO1xyXG4gICAgdGhpcy5sZW5ndGggPSBsZW5ndGg7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gcmVhZE9ubHk7XHJcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQ7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBlcnJvck1lc3NhZ2VzO1xyXG4gICAgZGlzYWJsZWQgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSZWFkT25seShzdGF0dXM6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWQoc3RhdHVzOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgc3RhdHVzID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0SGlkZGVuKHN0YXR1cyA9IHRydWUpIHtcclxuICAgIHRoaXMuaGlkZGVuID0gc3RhdHVzO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgU3BlY2lhbEZvcm1Hcm91cCBleHRlbmRzIEZvcm1Hcm91cCBpbXBsZW1lbnRzIElGaWVsZEJhc2ljRGF0YSB7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVsZW1lbnRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyBzZXR0aW5nczogSUZvcm1TZXR0aW5ncztcclxuICBwdWJsaWMgdHlwZTogRUNvbnRyb2xUeXBlcy5mb3JtO1xyXG4gIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHNldHRpbmdzLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICBhc3luY1ZhbGlkYXRvcnMsXHJcbiAgICAgIGVsZW1lbnRJZCxcclxuICAgICAgc3R5bGVDbGFzc2VzLFxyXG4gICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgIGhpZGRlbixcclxuICAgICAgaWNvbixcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIGxlbmd0aCxcclxuICAgICAgcGxhY2Vob2xkZXIsXHJcbiAgICAgIHJlYWRPbmx5LFxyXG4gICAgICByZXF1aXJlZCxcclxuICAgICAgdG9vbHRpcCxcclxuICAgICAgZGlzYWJsZWQsXHJcbiAgICB9OiBUU3BlY2lhbEZvcm0sXHJcbiAgICBjb250cm9sczoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBTcGVjaWFsRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIH0sXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9ycywgYXN5bmNWYWxpZGF0b3JzKTtcclxuXHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xyXG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xyXG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmVsZW1lbnRJZCA9IGVsZW1lbnRJZDtcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnN0eWxlQ2xhc3NlcyA9IHN0eWxlQ2xhc3NlcztcclxuICAgIHRoaXMuaGlkZGVuID0gaGlkZGVuO1xyXG4gICAgdGhpcy5sZW5ndGggPSBsZW5ndGg7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gcmVhZE9ubHk7XHJcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQ7XHJcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcclxuICAgIGRpc2FibGVkID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgdW5wcmlzdGluZVJlcXVpcmVkKCkge1xyXG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgY29udHJvbC51bnByaXN0aW5lUmVxdWlyZWQoKTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1BcnJheSkge1xyXG4gICAgICAgIGNvbnRyb2wudW5wcmlzdGluZVJlcXVpcmVkKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3BlY2lhbFJlc2V0KHZhbHVlID0ge30pIHtcclxuICAgIGNvbnN0IGF1eDogYW55ID0ge307XHJcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLmNvbnRyb2xzKS5tYXAoKFtrZXksIGNvbnRyb2xdKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgYXV4W2tleV0gPSBjb250cm9sLmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1BcnJheSkge1xyXG4gICAgICAgIGNvbnRyb2wuY2xlYXIoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5yZXNldCh7IC4uLmF1eCwgLi4udmFsdWUgfSk7XHJcbiAgfVxyXG4gIHNldFJlYWRPbmx5KHN0YXR1czogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9scykubWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wgfHxcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQXJyYXkgfHxcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtR3JvdXBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdmFsdWUuc2V0UmVhZE9ubHkoc3RhdHVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFJlYWRPbmx5QnlGaWVsZHMoZmllbGRzT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzT2JqZWN0KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sc1trZXldO1xyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wucmVhZE9ubHkgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWRkZW5CeUZpZWxkcyhmaWVsZHM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9KSB7XHJcbiAgICBPYmplY3QuZW50cmllcyhmaWVsZHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xzW2tleV07XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5oaWRkZW4gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldERpc2FibGVkKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmNvbnRyb2xzKS5tYXAoKHZhbHVlKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIFNwZWNpYWxGb3JtQ29udHJvbCB8fFxyXG4gICAgICAgIHZhbHVlIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1BcnJheSB8fFxyXG4gICAgICAgIHZhbHVlIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Hcm91cFxyXG4gICAgICApIHtcclxuICAgICAgICB2YWx1ZS5zZXREaXNhYmxlZChzdGF0dXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkQnlGaWVsZHMoZmllbGRzT2JqZWN0OiBhbnkpIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkc09iamVjdCkubWFwKChlbnRyaWVzKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2VudHJpZXNbMF1dIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgZW50cmllc1sxXVxyXG4gICAgICAgICAgPyB0aGlzLmNvbnRyb2xzW2VudHJpZXNbMF1dLmVuYWJsZSgpXHJcbiAgICAgICAgICA6IHRoaXMuY29udHJvbHNbZW50cmllc1swXV0uZGlzYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGRvbmRlIHZhbHVlIGVzIGVsIG9iamV0byBzZW1pbGxhIHkgZGV0YWlsRm9ybSBlcyB1biBhcnJlZ2xvIGRlIGZvcm0ga2V5IHBhcmEgZGFyIHVuIG1hcmNvIGFsIGZvcm1hcnJheVxyXG4gICAqL1xyXG5cclxuICBzZXRGb3JtVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zcGVjaWFsUmVzZXQodmFsdWUpO1xyXG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5jb250cm9scylcclxuICAgICAgLmZpbHRlcigoW19rZXksIGNvbnRyb2xdKSA9PiBjb250cm9sIGluc3RhbmNlb2YgU3BlY2lhbEZvcm1BcnJheSlcclxuICAgICAgLm1hcCgoW2tleSwgY29udHJvbF0pID0+IHtcclxuICAgICAgICAoY29udHJvbCBhcyBTcGVjaWFsRm9ybUFycmF5KS5maWxsRm9ybUFycmF5KHZhbHVlW2tleV0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcXVlIHJldG9ybmFcclxuICAgKi9cclxuXHJcbiAgZ2V0SWRQa2V5KCk6IFNwZWNpYWxGb3JtQ29udHJvbDxhbnk+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuY29udHJvbHMpLmZpbmQoXHJcbiAgICAgIChjb250cm9sKSA9PlxyXG4gICAgICAgIGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUNvbnRyb2wgJiYgY29udHJvbC50eXBlID09PSAnUFJJTUFSWS1LRVknXHJcbiAgICApIGFzIFNwZWNpYWxGb3JtQ29udHJvbDxhbnk+IHwgdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxGb3JtQXJyYXkgZXh0ZW5kcyBGb3JtQXJyYXkgaW1wbGVtZW50cyBJRmllbGRCYXNpY0RhdGEge1xyXG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XHJcbiAgcHVibGljIHRvb2x0aXA6IHN0cmluZztcclxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBlbGVtZW50SWQ6IHN0cmluZztcclxuICBwdWJsaWMgc3R5bGVDbGFzc2VzOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyBzZXR0aW5nczogSUFycmF5U2V0dGluZ3M7XHJcbiAgcHVibGljIHR5cGU6IEVDb250cm9sVHlwZXM7XHJcbiAgcHVibGljIGRlZmF1bHRWYWx1ZTogYW55O1xyXG4gIHB1YmxpYyBmb3JtOiBTcGVjaWFsRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgZm9ybUNyZWF0aW9uOiAodmFsdWU/OiBhbnkpID0+IFNwZWNpYWxGb3JtR3JvdXA7XHJcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAge1xyXG4gICAgICBuYW1lLFxyXG4gICAgICBzZXR0aW5ncyxcclxuICAgICAgdHlwZSxcclxuICAgICAgdmFsaWRhdG9ycyxcclxuICAgICAgYXN5bmNWYWxpZGF0b3JzLFxyXG4gICAgICBlbGVtZW50SWQsXHJcbiAgICAgIHN0eWxlQ2xhc3NlcyxcclxuICAgICAgZGVmYXVsdFZhbHVlLFxyXG4gICAgICBoaWRkZW4sXHJcbiAgICAgIGljb24sXHJcbiAgICAgIGxhYmVsLFxyXG4gICAgICBwbGFjZWhvbGRlcixcclxuICAgICAgcmVhZE9ubHksXHJcbiAgICAgIHJlcXVpcmVkLFxyXG4gICAgICB0b29sdGlwLFxyXG4gICAgICBlcnJvck1lc3NhZ2VzLFxyXG4gICAgICBkaXNhYmxlZCxcclxuICAgIH06IFRTcGVjaWFsQXJyYXksXHJcbiAgICBmb3JtQ3JlYXRpb246ICgpID0+IFNwZWNpYWxGb3JtR3JvdXAsXHJcbiAgICBjb250cm9sczogQWJzdHJhY3RDb250cm9sW11cclxuICApIHtcclxuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JzLCBhc3luY1ZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5mb3JtQ3JlYXRpb24gPSBmb3JtQ3JlYXRpb247XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1DcmVhdGlvbigpO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcclxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcclxuICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5lbGVtZW50SWQgPSBlbGVtZW50SWQ7XHJcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5zdHlsZUNsYXNzZXMgPSBzdHlsZUNsYXNzZXM7XHJcbiAgICB0aGlzLmhpZGRlbiA9IGhpZGRlbjtcclxuICAgIHRoaXMucmVhZE9ubHkgPSByZWFkT25seTtcclxuICAgIHRoaXMucmVxdWlyZWQgPSByZXF1aXJlZDtcclxuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcztcclxuICAgIGRpc2FibGVkID8gdGhpcy5kaXNhYmxlKCkgOiB0aGlzLmVuYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZmlsbEZvcm1BcnJheShkYXRhOiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICBkYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybUNyZWF0aW9uKGl0ZW0pO1xyXG4gICAgICB0aGlzLnB1c2goZm9ybSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFkZEl0ZW0oKSB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtQ3JlYXRpb24odGhpcy5mb3JtLnZhbHVlKTtcclxuXHJcbiAgICB0aGlzLmZvcm0uc3BlY2lhbFJlc2V0KCk7XHJcbiAgICB0aGlzLnB1c2goZm9ybSk7XHJcbiAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICBzcGVjaWFsUHVzaChpbmRleD86IG51bWJlcikge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybUNyZWF0aW9uKHRoaXMuZm9ybS52YWx1ZSk7XHJcbiAgICBpZiAoIWluZGV4KSB0aGlzLnB1c2goZm9ybSk7XHJcbiAgICBlbHNlIHRoaXMuY29udHJvbHNbaW5kZXhdLnJlc2V0KHRoaXMuZm9ybS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzcGVjaWFsSW5zZXJ0KGluZGV4ID0gMCkge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybUNyZWF0aW9uKHRoaXMuZm9ybS52YWx1ZSk7XHJcbiAgICB0aGlzLmluc2VydChpbmRleCwgZm9ybSk7XHJcbiAgfVxyXG5cclxuICBzcGVjaWFsRWRpdChpbmRleDogbnVtYmVyLCBuZXdWYWx1ZTogT2JqZWN0KSB7XHJcbiAgICB0aGlzLmNvbnRyb2xzW2luZGV4XS5yZXNldCh7IC4uLnRoaXMuY29udHJvbHNbaW5kZXhdLnZhbHVlLCAuLi5uZXdWYWx1ZSB9KTtcclxuICAgIHRoaXMubWFya0FzRGlydHkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZ1ZWx2ZSB0b2RvcyBsb3MgY29udHJvbGVzIGRlbCBmb3JtQXJyYXkgZGUgbGVjdHVyYSBvIGRlIHNvbG9sZWN0dXJhXHJcbiAgICogQHBhcmFtIHN0YXR1c1xyXG4gICAqL1xyXG5cclxuICBzZXRSZWFkT25seShzdGF0dXM6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucmVhZE9ubHkgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRSZWFkT25seShzdGF0dXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZ1ZWx2ZSB0b2RvcyBsb3MgY29udHJvbGVzIGRlbCBmb3JtQXJyYXkgaGFiaWxpdGFkb3MgbyBkZXNoYWJpbGl0YWRvc1xyXG4gICAqIEBwYXJhbSBzdGF0dXNcclxuICAgKi9cclxuXHJcbiAgc2V0RGlzYWJsZWQoc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICBzdGF0dXMgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XHJcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBTcGVjaWFsRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXREaXNhYmxlZChzdGF0dXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcm1pdGUgZWRpdGFyIHVuIGNvbnRyb2wgZXNwZWNpZmljby5cclxuICAgKiBAcGFyYW0gaW5kZXhcclxuICAgKi9cclxuXHJcbiAgZWRpdENvbnRyb2woaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KHRoaXMuY29udHJvbHNbaW5kZXhdLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHVucHJpc3RpbmVSZXF1aXJlZCgpIHtcclxuICAgIHRoaXMubWFya0FzRGlydHkoKTtcclxuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAoPFNwZWNpYWxGb3JtR3JvdXA+aXRlbSkudW5wcmlzdGluZVJlcXVpcmVkKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlY3Vyc2l2ZUZpbGxGb3JtKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogYW55KTogRm9ybUdyb3VwIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGZvcm0uY29udHJvbHMpLm1hcCgoW2tleSwgY29udHJvbF0pID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZGF0YVtrZXldKTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgZGF0YVtrZXldLmZvckVhY2goKCkgPT4ge30pO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICBjb250cm9sLnJlc2V0KGRhdGFba2V5XSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGZvcm07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzaWNzLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVjaWFsLWZvcm1zL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1ZhbGlkYXRvckZuLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkQmFzaWNEYXRhIHtcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdG9vbHRpcDogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZztcclxuICBlbGVtZW50SWQ6IHN0cmluZztcclxuICBzdHlsZUNsYXNzZXM6IHN0cmluZztcclxuICBsZW5ndGg6IG51bWJlcjtcclxuICByZXF1aXJlZDogYm9vbGVhbjtcclxuICBoaWRkZW46IGJvb2xlYW47XHJcbiAgcmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgZGlzYWJsZWQ6Ym9vbGVhbjtcclxuICBlcnJvck1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZERhdGEgZXh0ZW5kcyBJRmllbGRCYXNpY0RhdGEge1xyXG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGw7XHJcbiAgYXN5bmNWYWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbDtcclxuICBkZWZhdWx0VmFsdWU6IGFueTtcclxufVxyXG4iXX0=
|