@indigina/kendo 1.2.42 → 1.2.43
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/angular/forms/directives/debounce.directive.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-date-input.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/field/field-input/field-input.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/field/field.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/file/file-select/field-file-select.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/file/file-select/field-file-select.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/file/file-upload/field-file-upload.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/file/file-upload/field-file-upload.module.mjs +4 -4
- package/esm2022/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/textarea/field-textarea.component.mjs +3 -3
- package/esm2022/lib/angular/forms/widgets/textarea/field-textarea.module.mjs +4 -4
- package/esm2022/lib/angular/indigina.module.mjs +4 -4
- package/esm2022/lib/angular/models/AppSettings.mjs +3 -3
- package/esm2022/lib/angular/models/IndiginaConfiguration.mjs +3 -3
- package/esm2022/lib/angular/services/http.service.mjs +3 -3
- package/esm2022/lib/angular/services/locale-settings.service.mjs +3 -3
- package/esm2022/lib/angular/services/settings.service.mjs +3 -3
- package/esm2022/lib/angular/services/toastr.service.mjs +3 -3
- package/esm2022/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/side-menu/side-menu.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +3 -3
- package/esm2022/lib/angular/widgets/tree-view/tree-view.component.mjs +3 -3
- package/esm2022/lib/components/account-menu/account-menu.component.mjs +3 -3
- package/esm2022/lib/components/azure-login-callback/azure-login-callback.component.mjs +3 -3
- package/esm2022/lib/components/forbidden/forbidden.component.mjs +3 -3
- package/esm2022/lib/components/language-selector/language-selector.component.mjs +3 -3
- package/esm2022/lib/directives/requirePermission/requirePermission.directive.mjs +3 -3
- package/esm2022/lib/directives/requirePermission/requirePermission.module.mjs +4 -4
- package/esm2022/lib/interceptors/auth-headers.interceptor.mjs +3 -3
- package/esm2022/lib/kendo.module.mjs +4 -4
- package/esm2022/lib/services/account.service.mjs +3 -3
- package/esm2022/lib/services/activity.filter.service.mjs +3 -3
- package/esm2022/lib/services/auth-provider.resolver.mjs +3 -3
- package/esm2022/lib/services/partner.service.mjs +3 -3
- package/esm2022/lib/services/permissions.service.mjs +3 -3
- package/esm2022/lib/services/signalr/signalr.service.mjs +3 -3
- package/esm2022/lib/widgets/activity-filter/activity-filter.component.mjs +3 -3
- package/esm2022/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/widgets/confirm-dialog/confirm-dialog.module.mjs +4 -4
- package/esm2022/lib/widgets/current-timezone/current-timezone.component.mjs +3 -3
- package/esm2022/lib/widgets/current-timezone/current-timezone.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.mjs +20 -8
- package/esm2022/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.module.mjs +4 -4
- package/esm2022/lib/widgets/entity-edit/entity-edit-form.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-list/entity-list.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +3 -3
- package/esm2022/lib/widgets/entity-list/user-list-admin.component.mjs +3 -3
- package/esm2022/lib/widgets/excel-export-button/excel-export-button.component.mjs +3 -3
- package/esm2022/lib/widgets/footer-bar/footer-bar.component.mjs +3 -3
- package/esm2022/lib/widgets/modal-window/modal-window.component.mjs +3 -3
- package/esm2022/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +3 -3
- package/esm2022/lib/widgets/top-bar/top-bar.component.mjs +3 -3
- package/esm2022/public-api.mjs +1 -4
- package/fesm2022/indigina-kendo.mjs +250 -524
- package/fesm2022/indigina-kendo.mjs.map +1 -1
- package/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.d.ts +3 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -3
- package/esm2022/lib/angular/forms/widgets/form/form.component.mjs +0 -140
- package/esm2022/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.component.mjs +0 -134
- package/esm2022/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.module.mjs +0 -32
- package/lib/angular/forms/widgets/form/form.component.d.ts +0 -34
- package/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.component.d.ts +0 -45
- package/lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.module.d.ts +0 -11
|
@@ -27,6 +27,9 @@ export declare class FieldDropdownComponent extends FieldComponent<string> {
|
|
|
27
27
|
get control(): AbstractControl;
|
|
28
28
|
constructor(parent: FormGroupDirective, eref: ElementRef, translate: TranslateService);
|
|
29
29
|
ngOnInit(): void;
|
|
30
|
+
private setDefaultItem;
|
|
31
|
+
private setTextFieldForDefaultItem;
|
|
32
|
+
private setDefaultName;
|
|
30
33
|
ngOnChanges(): void;
|
|
31
34
|
onValueChange(event: string): void;
|
|
32
35
|
setData(): void;
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -20,7 +20,6 @@ export { FieldInputComponent } from './lib/angular/forms/widgets/field/field-inp
|
|
|
20
20
|
export { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';
|
|
21
21
|
export { FieldDateInputComponent } from './lib/angular/forms/widgets/field/field-input/field-date-input.component';
|
|
22
22
|
export { FieldComponent } from './lib/angular/forms/widgets/field/field.component';
|
|
23
|
-
export { FormComponent } from './lib/angular/forms/widgets/form/form.component';
|
|
24
23
|
export { FieldFileUploadComponent } from './lib/angular/forms/widgets/file/file-upload/field-file-upload.component';
|
|
25
24
|
export { FieldFileSelectComponent } from './lib/angular/forms/widgets/file/file-select/field-file-select.component';
|
|
26
25
|
export { FieldTextAreaComponent } from './lib/angular/forms/widgets/textarea/field-textarea.component';
|
|
@@ -87,7 +86,6 @@ export { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.compo
|
|
|
87
86
|
export { FieldDropdownComponent } from './lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component';
|
|
88
87
|
export { ObjectDropdownComponent } from './lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.component';
|
|
89
88
|
export { SimpleObject } from './lib/widgets/entity-edit/dropdowns/SimpleObject';
|
|
90
|
-
export { FormDropdownComponent } from './lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.component';
|
|
91
89
|
export { FieldMultiSelectComponent } from './lib/widgets/entity-edit/field-multiselect/field-multiselect.component';
|
|
92
90
|
export { UserListAdminComponent } from './lib/widgets/entity-list/user-list-admin.component';
|
|
93
91
|
export { Command } from './lib/widgets/entity-list/Command';
|
|
@@ -105,6 +103,5 @@ export { IPrettifier } from './lib/angular/widgets/tree-view/Prettifiers/IPretti
|
|
|
105
103
|
export { ContentTypesFormat } from './lib/angular/widgets/tree-view/models/ContentTypesFormat';
|
|
106
104
|
export declare const momentTimezone: () => momentModule.Moment;
|
|
107
105
|
export { FieldDropdownModule } from './lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.module';
|
|
108
|
-
export { FormDropdownModule } from './lib/widgets/entity-edit/dropdowns/form-dropdown/form-dropdown.module';
|
|
109
106
|
export { ObjectDropdownModule } from './lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.module';
|
|
110
107
|
export { ForbiddenComponent } from './lib/components/forbidden/forbidden.component';
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { UntypedFormControl, UntypedFormGroup, Validators, } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
let id = 0;
|
|
6
|
-
const disabledKey = 'disabled';
|
|
7
|
-
export class FormComponent {
|
|
8
|
-
constructor(parent, eref, formGroup) {
|
|
9
|
-
this.parent = parent;
|
|
10
|
-
this.eref = eref;
|
|
11
|
-
this.formGroup = formGroup;
|
|
12
|
-
this.disabled = false;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.id = '_' + this.fieldName + ++id;
|
|
16
|
-
this.setUp();
|
|
17
|
-
}
|
|
18
|
-
ngOnChanges() {
|
|
19
|
-
this.setUp();
|
|
20
|
-
}
|
|
21
|
-
setUp() {
|
|
22
|
-
const validators = this.setUpValidatorsFromAttributes();
|
|
23
|
-
let control = this.getGroupControl();
|
|
24
|
-
if (control) {
|
|
25
|
-
if (control.validator) {
|
|
26
|
-
this.addValidator(validators, control.validator);
|
|
27
|
-
}
|
|
28
|
-
this.setValidatorsForControl(control, validators);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this.setUpGroupControl(validators);
|
|
32
|
-
}
|
|
33
|
-
this.updateState();
|
|
34
|
-
}
|
|
35
|
-
updateState() {
|
|
36
|
-
const control = this.getGroupControl();
|
|
37
|
-
if (!control) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (this.disabled) {
|
|
41
|
-
control.disable();
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
control.enable();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
setUpValidatorsFromAttributes() {
|
|
48
|
-
const validators = [];
|
|
49
|
-
for (const attr of this.eref.nativeElement.attributes) {
|
|
50
|
-
const validator = this.setAttribute(attr.name, attr.value);
|
|
51
|
-
if (validator) {
|
|
52
|
-
this.addValidator(validators, validator);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return validators;
|
|
56
|
-
}
|
|
57
|
-
setAttribute(name, value) {
|
|
58
|
-
if (name === disabledKey) {
|
|
59
|
-
this.disabled = true;
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
if (name === 'required') {
|
|
63
|
-
return Validators.required;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
addValidator(validators, newValidator) {
|
|
67
|
-
validators.push(newValidator);
|
|
68
|
-
}
|
|
69
|
-
setUpGroupControl(validators) {
|
|
70
|
-
this.formGroup = this.createGroup();
|
|
71
|
-
this.parent.form.addControl(this.fieldName, this.formGroup);
|
|
72
|
-
const updatedControl = this.getGroupControl();
|
|
73
|
-
this.setValidatorsForControl(updatedControl, validators);
|
|
74
|
-
}
|
|
75
|
-
setValidatorsForControl(control, validators) {
|
|
76
|
-
const entityFormControl = control.get(this.textField);
|
|
77
|
-
if (validators) {
|
|
78
|
-
entityFormControl.setValidators(validators);
|
|
79
|
-
}
|
|
80
|
-
entityFormControl.updateValueAndValidity();
|
|
81
|
-
}
|
|
82
|
-
createGroup() {
|
|
83
|
-
const formControls = this.setFormControls();
|
|
84
|
-
return new UntypedFormGroup(formControls);
|
|
85
|
-
}
|
|
86
|
-
setFormControls() {
|
|
87
|
-
const formControls = {};
|
|
88
|
-
if (this.formFields) {
|
|
89
|
-
this.formFields.forEach((fieldName) => {
|
|
90
|
-
formControls[fieldName] = new UntypedFormControl('');
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
formControls[this.textField] = new UntypedFormControl('');
|
|
94
|
-
return formControls;
|
|
95
|
-
}
|
|
96
|
-
setGroupValues(entity) {
|
|
97
|
-
const formFields = this.getGroupFields(entity);
|
|
98
|
-
this.getGroupControl().setValue(formFields);
|
|
99
|
-
}
|
|
100
|
-
getGroupFields(entity) {
|
|
101
|
-
const formFields = {};
|
|
102
|
-
const formGroup = this.getGroupControl();
|
|
103
|
-
if (this.formFields) {
|
|
104
|
-
this.formFields.forEach((name) => {
|
|
105
|
-
if (!this.checkEntityHasProperty(entity, name)) {
|
|
106
|
-
this.removeControlForNonExistentProperty(formGroup, name);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
formFields[name] = entity[name];
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
formFields[this.textField] = entity[this.textField];
|
|
113
|
-
return formFields;
|
|
114
|
-
}
|
|
115
|
-
getGroupControl() {
|
|
116
|
-
return this.parent.form.get(this.fieldName);
|
|
117
|
-
}
|
|
118
|
-
checkEntityHasProperty(entity, name) {
|
|
119
|
-
return entity.hasOwnProperty(name);
|
|
120
|
-
}
|
|
121
|
-
removeControlForNonExistentProperty(formGroup, name) {
|
|
122
|
-
formGroup.removeControl(name);
|
|
123
|
-
}
|
|
124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }, { token: i1.UntypedFormGroup }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
125
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.5", type: FormComponent, inputs: { labelKey: "labelKey", fieldName: "fieldName", textField: "textField", disabled: "disabled", formFields: "formFields" }, usesOnChanges: true, ngImport: i0 }); }
|
|
126
|
-
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormComponent, decorators: [{
|
|
128
|
-
type: Directive
|
|
129
|
-
}], ctorParameters: () => [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }, { type: i1.UntypedFormGroup }], propDecorators: { labelKey: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], fieldName: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], textField: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], disabled: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], formFields: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBSUwsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUVoQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3hCLElBQUksRUFBRSxHQUFXLENBQUMsQ0FBQztBQUNuQixNQUFNLFdBQVcsR0FBVyxVQUFVLENBQUM7QUFHdkMsTUFBTSxPQUFnQixhQUFhO0lBUWpDLFlBQ1MsTUFBMEIsRUFDMUIsSUFBZ0IsRUFDZixTQUEyQjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFQNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQVFoQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRVMsS0FBSztRQUNiLE1BQU0sVUFBVSxHQUFrQixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUV2RSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckMsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMs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LElBQVk7UUFDN0QsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxtQ0FBbUMsQ0FDekMsU0FBeUIsRUFDekIsSUFBWTtRQUVaLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FsS21CLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEbEMsU0FBUzsrSUFFQyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9OYW1lZE1vZGVsJztcblxubGV0IGlkOiBudW1iZXIgPSAwO1xuY29uc3QgZGlzYWJsZWRLZXk6IHN0cmluZyA9ICdkaXNhYmxlZCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxhYmVsS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0RmllbGQ6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZm9ybUZpZWxkczogc3RyaW5nW107XG4gIGlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhcmVudDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIHB1YmxpYyBlcmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9ICdfJyArIHRoaXMuZmllbGROYW1lICsgKytpZDtcbiAgICB0aGlzLnNldFVwKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldFVwKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VXAoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHRoaXMuc2V0VXBWYWxpZGF0b3JzRnJvbUF0dHJpYnV0ZXMoKTtcblxuICAgIGxldCBjb250cm9sID0gdGhpcy5nZXRHcm91cENvbnRyb2woKTtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgaWYgKGNvbnRyb2wudmFsaWRhdG9yKSB7XG4gICAgICAgIHRoaXMuYWRkVmFsaWRhdG9yKHZhbGlkYXRvcnMsIGNvbnRyb2wudmFsaWRhdG9yKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRWYWxpZGF0b3JzRm9yQ29udHJvbChjb250cm9sLCB2YWxpZGF0b3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRVcEdyb3VwQ29udHJvbCh2YWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG4gIH1cblxuICB1cGRhdGVTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5nZXRHcm91cENvbnRyb2woKTtcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRVcFZhbGlkYXRvcnNGcm9tQXR0cmlidXRlcygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgZm9yIChjb25zdCBhdHRyIG9mIHRoaXMuZXJlZi5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXMgYXMgW1xuICAgICAgeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSxcbiAgICBdKSB7XG4gICAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgaWYgKHZhbGlkYXRvcikge1xuICAgICAgICB0aGlzLmFkZFZhbGlkYXRvcih2YWxpZGF0b3JzLCB2YWxpZGF0b3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgaWYgKG5hbWUgPT09IGRpc2FibGVkS2V5KSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChuYW1lID09PSAncmVxdWlyZWQnKSB7XG4gICAgICByZXR1cm4gVmFsaWRhdG9ycy5yZXF1aXJlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFZhbGlkYXRvcihcbiAgICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdLFxuICAgIG5ld1ZhbGlkYXRvcjogVmFsaWRhdG9yRm4sXG4gICk6IHZvaWQge1xuICAgIHZhbGlkYXRvcnMucHVzaChuZXdWYWxpZGF0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVcEdyb3VwQ29udHJvbCh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZUdyb3VwKCk7XG4gICAgdGhpcy5wYXJlbnQuZm9ybS5hZGRDb250cm9sKHRoaXMuZmllbGROYW1lLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgY29uc3QgdXBkYXRlZENvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxhbnk+ID0gdGhpcy5nZXRHcm91cENvbnRyb2woKTtcbiAgICB0aGlzLnNldFZhbGlkYXRvcnNGb3JDb250cm9sKHVwZGF0ZWRDb250cm9sLCB2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsaWRhdG9yc0ZvckNvbnRyb2woXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPGFueT4sXG4gICAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuW10sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGVudGl0eUZvcm1Db250cm9sID0gY29udHJvbC5nZXQodGhpcy50ZXh0RmllbGQpO1xuICAgIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgICBlbnRpdHlGb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIGVudGl0eUZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlR3JvdXAoKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2xzID0gdGhpcy5zZXRGb3JtQ29udHJvbHMoKTtcblxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChmb3JtQ29udHJvbHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtQ29udHJvbHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgaWYgKHRoaXMuZm9ybUZpZWxkcykge1xuICAgICAgdGhpcy5mb3JtRmllbGRzLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgICBmb3JtQ29udHJvbHNbZmllbGROYW1lXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9ybUNvbnRyb2xzW3RoaXMudGV4dEZpZWxkXSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuXG4gICAgcmV0dXJuIGZvcm1Db250cm9scztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRHcm91cFZhbHVlcyhlbnRpdHk6IE5hbWVkTW9kZWwpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gdGhpcy5nZXRHcm91cEZpZWxkcyhlbnRpdHkpO1xuICAgIHRoaXMuZ2V0R3JvdXBDb250cm9sKCkuc2V0VmFsdWUoZm9ybUZpZWxkcyk7XG4gIH1cblxuICBwcml2YXRlIGdldEdyb3VwRmllbGRzKGVudGl0eTogTmFtZWRNb2RlbCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IGZvcm1GaWVsZHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLmdldEdyb3VwQ29udHJvbCgpIGFzIEZvcm1Hcm91cDtcbiAgICBpZiAodGhpcy5mb3JtRmllbGRzKSB7XG4gICAgICB0aGlzLmZvcm1GaWVsZHMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuY2hlY2tFbnRpdHlIYXNQcm9wZXJ0eShlbnRpdHksIG5hbWUpKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVDb250cm9sRm9yTm9uRXhpc3RlbnRQcm9wZXJ0eShmb3JtR3JvdXAsIG5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9ybUZpZWxkc1tuYW1lXSA9IGVudGl0eVtuYW1lXTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvcm1GaWVsZHNbdGhpcy50ZXh0RmllbGRdID0gZW50aXR5W3RoaXMudGV4dEZpZWxkXTtcblxuICAgIHJldHVybiBmb3JtRmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRHcm91cENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5mb3JtLmdldCh0aGlzLmZpZWxkTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRW50aXR5SGFzUHJvcGVydHkoZW50aXR5OiBOYW1lZE1vZGVsLCBuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZW50aXR5Lmhhc093blByb3BlcnR5KG5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVDb250cm9sRm9yTm9uRXhpc3RlbnRQcm9wZXJ0eShcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDxhbnk+LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgZm9ybUdyb3VwLnJlbW92ZUNvbnRyb2wobmFtZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { ControlContainer, FormGroupDirective, } from '@angular/forms';
|
|
3
|
-
import { FormComponent } from '../../../../angular/forms/widgets/form/form.component';
|
|
4
|
-
import { BehaviorSubject, map, tap } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@ngx-translate/core";
|
|
8
|
-
import * as i3 from "@progress/kendo-angular-dropdowns";
|
|
9
|
-
import * as i4 from "@angular/common";
|
|
10
|
-
const SelectValue = 'Select value';
|
|
11
|
-
const defaultFieldName = 'name';
|
|
12
|
-
const emptyLine = '';
|
|
13
|
-
export class FormDropdownComponent extends FormComponent {
|
|
14
|
-
get control() {
|
|
15
|
-
return this.parent.form.get(this.fieldName).get(this.textField);
|
|
16
|
-
}
|
|
17
|
-
constructor(parent, eref, translate) {
|
|
18
|
-
super(parent, eref, null);
|
|
19
|
-
this.parent = parent;
|
|
20
|
-
this.eref = eref;
|
|
21
|
-
this.translate = translate;
|
|
22
|
-
this.textField = defaultFieldName;
|
|
23
|
-
this.selectedChange = new EventEmitter();
|
|
24
|
-
this.firstLoad = true;
|
|
25
|
-
}
|
|
26
|
-
onValueChange(event) {
|
|
27
|
-
this.updateControlGroupWithSelectedEntity(event);
|
|
28
|
-
if (event !== emptyLine) {
|
|
29
|
-
const entity = this.getEntityById(event);
|
|
30
|
-
this.emitSelectedEntity(entity);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.emitSelectedEntity(this.defaultItem);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
super.ngOnInit();
|
|
38
|
-
this.setData();
|
|
39
|
-
this.setDefaultItem();
|
|
40
|
-
}
|
|
41
|
-
setDefaultItem() {
|
|
42
|
-
this.defaultItem = {
|
|
43
|
-
id: emptyLine,
|
|
44
|
-
name: this.translate.instant(this.defaultName || SelectValue),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
ngOnChanges() {
|
|
48
|
-
super.ngOnChanges();
|
|
49
|
-
this.setData();
|
|
50
|
-
}
|
|
51
|
-
setData() {
|
|
52
|
-
if (this.data) {
|
|
53
|
-
this.setInputData();
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.data$ = this.service
|
|
57
|
-
.getPage(this.filter ? { filter: this.filter } : {})
|
|
58
|
-
.pipe(tap((x) => {
|
|
59
|
-
this.items = x.data;
|
|
60
|
-
if (this.canUpdateWithSelectedItem()) {
|
|
61
|
-
const selectedItem = this.updateControlGroupWithSelectedEntity(this.selectedItem.id);
|
|
62
|
-
this.writeSelectedItemValueIfExists(selectedItem);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.updateControlGroupWithSelectedEntity(this.control.value);
|
|
66
|
-
}
|
|
67
|
-
this.setFirstLoadFalse();
|
|
68
|
-
}), map((x) => x.data));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
setInputData() {
|
|
72
|
-
let dataSubject = new BehaviorSubject(this.data);
|
|
73
|
-
this.data$ = dataSubject.asObservable();
|
|
74
|
-
}
|
|
75
|
-
canUpdateWithSelectedItem() {
|
|
76
|
-
return this.selectedItem && this.firstLoad;
|
|
77
|
-
}
|
|
78
|
-
updateControlGroupWithSelectedEntity(entityId) {
|
|
79
|
-
const entity = this.getEntityById(entityId);
|
|
80
|
-
if (entity) {
|
|
81
|
-
this.updateControlGroup(entity);
|
|
82
|
-
}
|
|
83
|
-
return entity;
|
|
84
|
-
}
|
|
85
|
-
updateControlGroup(entity) {
|
|
86
|
-
this.setGroupValues(entity);
|
|
87
|
-
}
|
|
88
|
-
emitSelectedEntity(entity) {
|
|
89
|
-
this.selectedChange.emit(entity);
|
|
90
|
-
}
|
|
91
|
-
getEntityById(entityId) {
|
|
92
|
-
return this.items.find((x) => x.id === entityId);
|
|
93
|
-
}
|
|
94
|
-
writeSelectedItemValueIfExists(selectedItem) {
|
|
95
|
-
if (selectedItem) {
|
|
96
|
-
this.kendoDropDown.writeValue(selectedItem.id);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
setFirstLoadFalse() {
|
|
100
|
-
this.firstLoad = false;
|
|
101
|
-
}
|
|
102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: FormDropdownComponent, selector: "form-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter", defaultName: "defaultName", selectedItem: "selectedItem", data: "data", formFields: "formFields", textField: "textField" }, outputs: { selectedChange: "selectedChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], viewProviders: [
|
|
104
|
-
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
105
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownComponent, decorators: [{
|
|
108
|
-
type: Component,
|
|
109
|
-
args: [{ selector: 'form-dropdown', viewProviders: [
|
|
110
|
-
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
111
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n" }]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }, { type: i2.TranslateService }], propDecorators: { service: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], rebind: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], filter: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], defaultName: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], selectedItem: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], data: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], formFields: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], textField: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], selectedChange: [{
|
|
129
|
-
type: Output
|
|
130
|
-
}], kendoDropDown: [{
|
|
131
|
-
type: ViewChild,
|
|
132
|
-
args: ['inputElement']
|
|
133
|
-
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZHJvcGRvd25zL2Zvcm0tZHJvcGRvd24vZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZHJvcGRvd25zL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUl0RixPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUk3RCxNQUFNLFdBQVcsR0FBVyxjQUFjLENBQUM7QUFDM0MsTUFBTSxnQkFBZ0IsR0FBVyxNQUFNLENBQUM7QUFDeEMsTUFBTSxTQUFTLEdBQVcsRUFBRSxDQUFDO0FBVTdCLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBMkJ0RCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFDUyxNQUEwQixFQUMxQixJQUFnQixFQUNmLFNBQTJCO1FBRW5DLEtBQUss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QkFETCxLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sY0FBYztzQkFEYixNQUFNO2dCQUlDLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5ndWxhci9mb3Jtcy93aWRnZXRzL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUdldFBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZ2V0LXBhZ2Uuc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERyb3BEb3duTGlzdENvbXBvbmVudCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRyb3Bkb3ducyc7XG5cbmNvbnN0IFNlbGVjdFZhbHVlOiBzdHJpbmcgPSAnU2VsZWN0IHZhbHVlJztcbmNvbnN0IGRlZmF1bHRGaWVsZE5hbWU6IHN0cmluZyA9ICduYW1lJztcbmNvbnN0IGVtcHR5TGluZTogc3RyaW5nID0gJyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4uL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IEZvcm1Hcm91cERpcmVjdGl2ZSB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybURyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHNlcnZpY2U6IElHZXRQYWdlU2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KClcbiAgcmViaW5kOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGZpbHRlcj86IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I7XG4gIEBJbnB1dCgpXG4gIGRlZmF1bHROYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBzZWxlY3RlZEl0ZW0/OiBOYW1lZE1vZGVsO1xuICBASW5wdXQoKVxuICBkYXRhPzogTmFtZWRNb2RlbFtdO1xuICBASW5wdXQoKVxuICBmb3JtRmllbGRzOiBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgdGV4dEZpZWxkOiBzdHJpbmcgPSBkZWZhdWx0RmllbGROYW1lO1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxOYW1lZE1vZGVsIHwgbnVtYmVyIHwgc3RyaW5nPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKVxuICBwcml2YXRlIGtlbmRvRHJvcERvd246IERyb3BEb3duTGlzdENvbXBvbmVudDtcblxuICBwcml2YXRlIGl0ZW1zOiBOYW1lZE1vZGVsW107XG4gIHB1YmxpYyBkZWZhdWx0SXRlbTogTmFtZWRNb2RlbDtcbiAgcHVibGljIGRhdGEkOiBPYnNlcnZhYmxlPE5hbWVkTW9kZWxbXT47XG4gIHB1YmxpYyBmaXJzdExvYWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5mb3JtLmdldCh0aGlzLmZpZWxkTmFtZSkuZ2V0KHRoaXMudGV4dEZpZWxkKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXJlbnQ6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBwdWJsaWMgZXJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIocGFyZW50LCBlcmVmLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvblZhbHVlQ2hhbmdlKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xHcm91cFdpdGhTZWxlY3RlZEVudGl0eShldmVudCk7XG4gICAgaWYgKGV2ZW50ICE9PSBlbXB0eUxpbmUpIHtcbiAgICAgIGNvbnN0IGVudGl0eTogTmFtZWRNb2RlbCA9IHRoaXMuZ2V0RW50aXR5QnlJZChldmVudCk7XG4gICAgICB0aGlzLmVtaXRTZWxlY3RlZEVudGl0eShlbnRpdHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtaXRTZWxlY3RlZEVudGl0eSh0aGlzLmRlZmF1bHRJdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc2V0RGF0YSgpO1xuICAgIHRoaXMuc2V0RGVmYXVsdEl0ZW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGVmYXVsdEl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5kZWZhdWx0SXRlbSA9IHtcbiAgICAgIGlkOiBlbXB0eUxpbmUsXG4gICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMuZGVmYXVsdE5hbWUgfHwgU2VsZWN0VmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcygpO1xuICAgIHRoaXMuc2V0RGF0YSgpO1xuICB9XG5cbiAgc2V0RGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLnNldElucHV0RGF0YSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGEkID0gdGhpcy5zZXJ2aWNlXG4gICAgICAgIC5nZXRQYWdlKHRoaXMuZmlsdGVyID8geyBmaWx0ZXI6IHRoaXMuZmlsdGVyIH0gOiB7fSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKCh4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0geC5kYXRhO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuVXBkYXRlV2l0aFNlbGVjdGVkSXRlbSgpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbTogTmFtZWRNb2RlbCA9XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDb250cm9sR3JvdXBXaXRoU2VsZWN0ZWRFbnRpdHkodGhpcy5zZWxlY3RlZEl0ZW0uaWQpO1xuICAgICAgICAgICAgICB0aGlzLndyaXRlU2VsZWN0ZWRJdGVtVmFsdWVJZkV4aXN0cyhzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVDb250cm9sR3JvdXBXaXRoU2VsZWN0ZWRFbnRpdHkodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRGaXJzdExvYWRGYWxzZSgpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1hcCgoeCkgPT4geC5kYXRhKSxcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0RGF0YSgpOiB2b2lkIHtcbiAgICBsZXQgZGF0YVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxOYW1lZE1vZGVsW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgIE5hbWVkTW9kZWxbXVxuICAgID4odGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGEkID0gZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGNhblVwZGF0ZVdpdGhTZWxlY3RlZEl0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMuZmlyc3RMb2FkO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250cm9sR3JvdXBXaXRoU2VsZWN0ZWRFbnRpdHkoZW50aXR5SWQ6IHN0cmluZyk6IE5hbWVkTW9kZWwge1xuICAgIGNvbnN0IGVudGl0eTogTmFtZWRNb2RlbCA9IHRoaXMuZ2V0RW50aXR5QnlJZChlbnRpdHlJZCk7XG4gICAgaWYgKGVudGl0eSkge1xuICAgICAgdGhpcy51cGRhdGVDb250cm9sR3JvdXAoZW50aXR5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250cm9sR3JvdXAoZW50aXR5OiBOYW1lZE1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zZXRHcm91cFZhbHVlcyhlbnRpdHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U2VsZWN0ZWRFbnRpdHkoZW50aXR5OiBOYW1lZE1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGVudGl0eSk7XG4gIH1cblxuICBwcml2YXRlIGdldEVudGl0eUJ5SWQoZW50aXR5SWQ6IHN0cmluZyk6IE5hbWVkTW9kZWwge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKHgpID0+IHguaWQgPT09IGVudGl0eUlkKTtcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVTZWxlY3RlZEl0ZW1WYWx1ZUlmRXhpc3RzKHNlbGVjdGVkSXRlbTogTmFtZWRNb2RlbCk6IHZvaWQge1xuICAgIGlmIChzZWxlY3RlZEl0ZW0pIHtcbiAgICAgIHRoaXMua2VuZG9Ecm9wRG93bi53cml0ZVZhbHVlKHNlbGVjdGVkSXRlbS5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaXJzdExvYWRGYWxzZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpcnN0TG9hZCA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8bGFiZWxcbiAgICBmb3I9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgIGNsYXNzPVwiY29sLW1kLTMgY29udHJvbC1sYWJlbFwiXG4gICAgdHJhbnNsYXRlPVwie3sgbGFiZWxLZXkgfX1cIlxuICA+PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC05XCIgKm5nSWY9XCJjb250cm9sXCI+XG4gICAgPGtlbmRvLWRyb3Bkb3dubGlzdFxuICAgICAgaWQ9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW2RhdGFdPVwiZGF0YSQgfCBhc3luY1wiXG4gICAgICBbdGV4dEZpZWxkXT1cInRleHRGaWVsZFwiXG4gICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgW3ZhbHVlUHJpbWl0aXZlXT1cInRydWVcIlxuICAgICAgW2RlZmF1bHRJdGVtXT1cImRlZmF1bHRJdGVtXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgI2lucHV0RWxlbWVudFxuICAgID5cbiAgICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cblxuICAgIDxkaXYgY2xhc3M9XCJiZy1kYW5nZXJcIiAqbmdJZj1cImNvbnRyb2wuaW52YWxpZCAmJiBjb250cm9sLnRvdWNoZWRcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ3JlcXVpcmVkJ11cIj57e1xuICAgICAgICBcIlJlcXVpcmVkXCIgfCB0cmFuc2xhdGUgOiB7IHBhcmFtMDogbGFiZWxLZXkgfCB0cmFuc2xhdGUgfVxuICAgICAgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydzZXJ2ZXJFcnJvck1zZyddXCI+e3tcbiAgICAgICAgY29udHJvbC5lcnJvcnNbXCJzZXJ2ZXJFcnJvck1zZ1wiXVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FormDropdownComponent } from './form-dropdown.component';
|
|
3
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
-
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
5
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class FormDropdownModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, declarations: [FormDropdownComponent], imports: [TranslateModule,
|
|
11
|
-
DropDownsModule,
|
|
12
|
-
ReactiveFormsModule,
|
|
13
|
-
CommonModule], exports: [FormDropdownComponent] }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, imports: [TranslateModule,
|
|
15
|
-
DropDownsModule,
|
|
16
|
-
ReactiveFormsModule,
|
|
17
|
-
CommonModule] }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: FormDropdownModule, decorators: [{
|
|
20
|
-
type: NgModule,
|
|
21
|
-
args: [{
|
|
22
|
-
declarations: [FormDropdownComponent],
|
|
23
|
-
imports: [
|
|
24
|
-
TranslateModule,
|
|
25
|
-
DropDownsModule,
|
|
26
|
-
ReactiveFormsModule,
|
|
27
|
-
CommonModule,
|
|
28
|
-
],
|
|
29
|
-
exports: [FormDropdownComponent],
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcm9wZG93bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZHJvcGRvd25zL2Zvcm0tZHJvcGRvd24vZm9ybS1kcm9wZG93bi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZL0MsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBVGQscUJBQXFCLGFBRWxDLGVBQWU7WUFDZixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLFlBQVksYUFFSixxQkFBcUI7K0dBRXBCLGtCQUFrQixZQVAzQixlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixZQUFZOzsyRkFJSCxrQkFBa0I7a0JBVjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRHJvcERvd25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZHJvcGRvd25zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGb3JtRHJvcGRvd25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERyb3BEb3duc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0Zvcm1Ecm9wZG93bkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Ecm9wZG93bk1vZHVsZSB7fVxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ElementRef, OnChanges, OnInit } from '@angular/core';
|
|
2
|
-
import { FormGroupDirective, UntypedFormGroup, ValidatorFn } from '@angular/forms';
|
|
3
|
-
import { NamedModel } from '../../../models/NamedModel';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare abstract class FormComponent implements OnInit, OnChanges {
|
|
6
|
-
parent: FormGroupDirective;
|
|
7
|
-
eref: ElementRef;
|
|
8
|
-
private formGroup;
|
|
9
|
-
labelKey: string;
|
|
10
|
-
fieldName: string;
|
|
11
|
-
textField: string;
|
|
12
|
-
disabled: boolean;
|
|
13
|
-
formFields: string[];
|
|
14
|
-
id: string;
|
|
15
|
-
constructor(parent: FormGroupDirective, eref: ElementRef, formGroup: UntypedFormGroup);
|
|
16
|
-
ngOnInit(): void;
|
|
17
|
-
ngOnChanges(): void;
|
|
18
|
-
protected setUp(): void;
|
|
19
|
-
updateState(): void;
|
|
20
|
-
private setUpValidatorsFromAttributes;
|
|
21
|
-
protected setAttribute(name: string, value: string): ValidatorFn;
|
|
22
|
-
private addValidator;
|
|
23
|
-
private setUpGroupControl;
|
|
24
|
-
private setValidatorsForControl;
|
|
25
|
-
private createGroup;
|
|
26
|
-
private setFormControls;
|
|
27
|
-
protected setGroupValues(entity: NamedModel): void;
|
|
28
|
-
private getGroupFields;
|
|
29
|
-
private getGroupControl;
|
|
30
|
-
private checkEntityHasProperty;
|
|
31
|
-
private removeControlForNonExistentProperty;
|
|
32
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
|
|
33
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FormComponent, never, never, { "labelKey": { "alias": "labelKey"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formFields": { "alias": "formFields"; "required": false; }; }, {}, never, never, false, never>;
|
|
34
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import { AbstractControl, FormGroupDirective } from '@angular/forms';
|
|
3
|
-
import { FormComponent } from '../../../../angular/forms/widgets/form/form.component';
|
|
4
|
-
import { IGetPageService } from '../../../../services/get-page.service.interface';
|
|
5
|
-
import { NamedModel } from '../../../../angular/models/NamedModel';
|
|
6
|
-
import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
|
|
7
|
-
import { Observable } from 'rxjs';
|
|
8
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export declare class FormDropdownComponent extends FormComponent {
|
|
11
|
-
parent: FormGroupDirective;
|
|
12
|
-
eref: ElementRef;
|
|
13
|
-
private translate;
|
|
14
|
-
service: IGetPageService<NamedModel>;
|
|
15
|
-
rebind: string;
|
|
16
|
-
filter?: CompositeFilterDescriptor;
|
|
17
|
-
defaultName?: string;
|
|
18
|
-
selectedItem?: NamedModel;
|
|
19
|
-
data?: NamedModel[];
|
|
20
|
-
formFields: string[];
|
|
21
|
-
textField: string;
|
|
22
|
-
selectedChange: EventEmitter<NamedModel | number | string>;
|
|
23
|
-
private kendoDropDown;
|
|
24
|
-
private items;
|
|
25
|
-
defaultItem: NamedModel;
|
|
26
|
-
data$: Observable<NamedModel[]>;
|
|
27
|
-
firstLoad: boolean;
|
|
28
|
-
get control(): AbstractControl;
|
|
29
|
-
constructor(parent: FormGroupDirective, eref: ElementRef, translate: TranslateService);
|
|
30
|
-
onValueChange(event: string): void;
|
|
31
|
-
ngOnInit(): void;
|
|
32
|
-
private setDefaultItem;
|
|
33
|
-
ngOnChanges(): void;
|
|
34
|
-
setData(): void;
|
|
35
|
-
private setInputData;
|
|
36
|
-
private canUpdateWithSelectedItem;
|
|
37
|
-
private updateControlGroupWithSelectedEntity;
|
|
38
|
-
private updateControlGroup;
|
|
39
|
-
private emitSelectedEntity;
|
|
40
|
-
private getEntityById;
|
|
41
|
-
private writeSelectedItemValueIfExists;
|
|
42
|
-
private setFirstLoadFalse;
|
|
43
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormDropdownComponent, never>;
|
|
44
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FormDropdownComponent, "form-dropdown", never, { "service": { "alias": "service"; "required": false; }; "rebind": { "alias": "rebind"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "defaultName": { "alias": "defaultName"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "data": { "alias": "data"; "required": false; }; "formFields": { "alias": "formFields"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, false, never>;
|
|
45
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./form-dropdown.component";
|
|
3
|
-
import * as i2 from "@ngx-translate/core";
|
|
4
|
-
import * as i3 from "@progress/kendo-angular-dropdowns";
|
|
5
|
-
import * as i4 from "@angular/forms";
|
|
6
|
-
import * as i5 from "@angular/common";
|
|
7
|
-
export declare class FormDropdownModule {
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormDropdownModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FormDropdownModule, [typeof i1.FormDropdownComponent], [typeof i2.TranslateModule, typeof i3.DropDownsModule, typeof i4.ReactiveFormsModule, typeof i5.CommonModule], [typeof i1.FormDropdownComponent]>;
|
|
10
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<FormDropdownModule>;
|
|
11
|
-
}
|