@indigina/kendo 1.1.8 → 1.1.11

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.
@@ -1,10 +1,12 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ControlContainer, FormGroupDirective } from '@angular/forms';
2
+ import { ControlContainer, FormGroupDirective, } from '@angular/forms';
3
3
  import { FieldInputComponent } from './field-input.component';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/forms";
6
6
  import * as i2 from "@ngx-translate/core";
7
7
  import * as i3 from "@angular/common";
8
+ const defaultValue = null;
9
+ const minusSign = '-';
8
10
  const emptyString = '';
9
11
  export class NumberInputComponent extends FieldInputComponent {
10
12
  constructor(parent, eref) {
@@ -12,21 +14,56 @@ export class NumberInputComponent extends FieldInputComponent {
12
14
  this.parent = parent;
13
15
  this.eref = eref;
14
16
  this.isPositive = false;
15
- this.type = 'number';
17
+ this.type = 'text';
16
18
  }
17
19
  ngAfterContentInit() {
18
20
  const control = this.parent.form.get(this.fieldName);
21
+ control.setValue(this.presetDefaultValue(control.value));
22
+ control.setValidators(this.isNaNValidator());
19
23
  control.valueChanges.subscribe((value) => {
20
- if (value !== this.cachedValue) {
21
- this.cachedValue =
22
- (!this.isPositive && (value || value === 0)) ||
23
- (this.isPositive && value >= 0 && value !== emptyString)
24
- ? +value
25
- : emptyString;
24
+ if (((typeof value === 'undefined' || value?.toString() === emptyString) &&
25
+ this.cachedValue !== defaultValue) ||
26
+ (this.presetDefaultValue(value) === defaultValue &&
27
+ control.value !== defaultValue)) {
28
+ this.cachedValue = defaultValue;
29
+ control.setValue(this.cachedValue);
30
+ return;
31
+ }
32
+ if (value && value.toString().includes(minusSign)) {
33
+ let newValue = !!this.isPositive
34
+ ? value.replaceAll(minusSign, emptyString)
35
+ : value.slice(0, 1) + value.replaceAll(minusSign, emptyString);
36
+ this.cachedValue = !isNaN(newValue + 1) ? newValue : this.cachedValue;
37
+ if (this.cachedValue !== value) {
38
+ control.setValue(this.cachedValue);
39
+ }
40
+ return;
41
+ }
42
+ if (isNaN(value)) {
43
+ this.cachedValue !== defaultValue
44
+ ? control.setValue(this.cachedValue)
45
+ : control.setValue(defaultValue);
46
+ return;
47
+ }
48
+ this.cachedValue = +value;
49
+ if (this.cachedValue !== value &&
50
+ value !== null &&
51
+ !value.toString().endsWith('.')) {
26
52
  control.setValue(this.cachedValue);
27
53
  }
28
54
  });
29
55
  }
56
+ presetDefaultValue(value) {
57
+ return value?.toString().replace(/\s/g, emptyString) === emptyString
58
+ ? defaultValue
59
+ : value;
60
+ }
61
+ isNaNValidator() {
62
+ return (control) => {
63
+ const notValid = isNaN(control.value);
64
+ return notValid ? { forbiddenName: { value: control.value } } : null;
65
+ };
66
+ }
30
67
  }
31
68
  NumberInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NumberInputComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
32
69
  NumberInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: NumberInputComponent, selector: "number-input", inputs: { isPositive: "isPositive" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ id }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\">\n <input\n [formControlName]=\"fieldName\"\n id=\"{{ id }}\"\n [type]=\"type\"\n class=\"k-input\"\n autocomplete=\"new-{{ fieldName }}\"\n placeholder=\"{{ labelKey | translate }}\"\n [attr.disabled]=\"disabled ? disabledKey : null\"\n />\n <ng-content></ng-content>\n <div\n class=\"bg-danger\"\n *ngIf=\"\n parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched\n \"\n >\n <span *ngIf=\"parent.form.get(fieldName).errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['email']\">{{\n 'ValidEmail' | translate\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['serverErrorMsg']\">{{\n parent.form.get(fieldName).errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", directives: [{ type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, viewProviders: [
@@ -40,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
40
77
  }], ctorParameters: function () { return [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { isPositive: [{
41
78
  type: Input
42
79
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9maWVsZC9maWVsZC1pbnB1dC9maWVsZC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFFOUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBU3ZCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFDM0QsWUFBbUIsTUFBMEIsRUFBUyxJQUFnQjtRQUNwRSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBREgsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSzdELGVBQVUsR0FBWSxLQUFLLENBQUM7UUFIbkMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQU1ELGtCQUFrQjtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFdBQVc7b0JBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUM1QyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssV0FBVyxDQUFDO3dCQUN0RCxDQUFDLENBQUMsQ0FBQyxLQUFLO3dCQUNSLENBQUMsQ0FBQyxXQUFXLENBQUM7Z0JBRWxCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3BDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF2QlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsaUhDYmpDLDRuQ0FxQ0EsNnVCRDVCaUI7UUFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7S0FDL0Q7MkZBRVUsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGNBQWMsaUJBRVQ7d0JBQ2IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFO3FCQUMvRDtrSUFRUSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtaW5wdXQuY29tcG9uZW50JztcblxuY29uc3QgZW1wdHlTdHJpbmcgPSAnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnVtYmVyLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IEZvcm1Hcm91cERpcmVjdGl2ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbnB1dENvbXBvbmVudCBleHRlbmRzIEZpZWxkSW5wdXRDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50OiBGb3JtR3JvdXBEaXJlY3RpdmUsIHB1YmxpYyBlcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIocGFyZW50LCBlcmVmKTtcbiAgICB0aGlzLnR5cGUgPSAnbnVtYmVyJztcbiAgfVxuXG4gIEBJbnB1dCgpIGlzUG9zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGNhY2hlZFZhbHVlOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnBhcmVudC5mb3JtLmdldCh0aGlzLmZpZWxkTmFtZSk7XG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmNhY2hlZFZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2FjaGVkVmFsdWUgPVxuICAgICAgICAgICghdGhpcy5pc1Bvc2l0aXZlICYmICh2YWx1ZSB8fCB2YWx1ZSA9PT0gMCkpIHx8XG4gICAgICAgICAgKHRoaXMuaXNQb3NpdGl2ZSAmJiB2YWx1ZSA+PSAwICYmIHZhbHVlICE9PSBlbXB0eVN0cmluZylcbiAgICAgICAgICAgID8gK3ZhbHVlXG4gICAgICAgICAgICA6IGVtcHR5U3RyaW5nO1xuXG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUodGhpcy5jYWNoZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxsYWJlbFxuICAgIGZvcj1cInt7IGlkIH19XCJcbiAgICBjbGFzcz1cImNvbC1tZC0zIGNvbnRyb2wtbGFiZWxcIlxuICAgIHRyYW5zbGF0ZT1cInt7IGxhYmVsS2V5IH19XCJcbiAgPjwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxuICAgIDxpbnB1dFxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZE5hbWVcIlxuICAgICAgaWQ9XCJ7eyBpZCB9fVwiXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgIGNsYXNzPVwiay1pbnB1dFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJuZXcte3sgZmllbGROYW1lIH19XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgbGFiZWxLZXkgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyBkaXNhYmxlZEtleSA6IG51bGxcIlxuICAgIC8+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYmctZGFuZ2VyXCJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIHBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpICYmXG4gICAgICAgIHBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpLmludmFsaWQgJiZcbiAgICAgICAgcGFyZW50LmZvcm0uZ2V0KGZpZWxkTmFtZSkudG91Y2hlZFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cInBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7XG4gICAgICAgICdSZXF1aXJlZCcgfCB0cmFuc2xhdGU6IHsgcGFyYW0wOiBsYWJlbEtleSB8IHRyYW5zbGF0ZSB9XG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGFyZW50LmZvcm0uZ2V0KGZpZWxkTmFtZSkuZXJyb3JzWydlbWFpbCddXCI+e3tcbiAgICAgICAgJ1ZhbGlkRW1haWwnIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGFyZW50LmZvcm0uZ2V0KGZpZWxkTmFtZSkuZXJyb3JzWydzZXJ2ZXJFcnJvck1zZyddXCI+e3tcbiAgICAgICAgcGFyZW50LmZvcm0uZ2V0KGZpZWxkTmFtZSkuZXJyb3JzWydzZXJ2ZXJFcnJvck1zZyddXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9maWVsZC9maWVsZC1pbnB1dC9maWVsZC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUduQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUU5RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQVN2QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNELFlBQW1CLE1BQTBCLEVBQVMsSUFBZ0I7UUFDcEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQURILFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUs3RCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBSG5DLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxrQkFBa0I7UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxT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QUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN2RSxDQUFDLENBQUM7SUFDSixDQUFDOztpSEF0RVUsb0JBQW9CO3FHQUFwQixvQkFBb0IsaUhDckJqQyw0bkNBcUNBLDZ1QkRwQmlCO1FBQ2IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFO0tBQy9EOzJGQUVVLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxjQUFjLGlCQUVUO3dCQUNiLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRTtxQkFDL0Q7a0lBUVEsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtaW5wdXQuY29tcG9uZW50JztcblxuY29uc3QgZGVmYXVsdFZhbHVlID0gbnVsbDtcbmNvbnN0IG1pbnVzU2lnbiA9ICctJztcbmNvbnN0IGVtcHR5U3RyaW5nID0gJyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ251bWJlci1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBGb3JtR3JvdXBEaXJlY3RpdmUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZElucHV0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIHBhcmVudDogRm9ybUdyb3VwRGlyZWN0aXZlLCBwdWJsaWMgZXJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKHBhcmVudCwgZXJlZik7XG4gICAgdGhpcy50eXBlID0gJ3RleHQnO1xuICB9XG5cbiAgQElucHV0KCkgaXNQb3NpdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY2FjaGVkVmFsdWU6IG51bWJlciB8IHN0cmluZztcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMucGFyZW50LmZvcm0uZ2V0KHRoaXMuZmllbGROYW1lKTtcbiAgICBjb250cm9sLnNldFZhbHVlKHRoaXMucHJlc2V0RGVmYXVsdFZhbHVlKGNvbnRyb2wudmFsdWUpKTtcbiAgICBjb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5pc05hTlZhbGlkYXRvcigpKTtcbiAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgICgodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fCB2YWx1ZT8udG9TdHJpbmcoKSA9PT0gZW1wdHlTdHJpbmcpICYmXG4gICAgICAgICAgdGhpcy5jYWNoZWRWYWx1ZSAhPT0gZGVmYXVsdFZhbHVlKSB8fFxuICAgICAgICAodGhpcy5wcmVzZXREZWZhdWx0VmFsdWUodmFsdWUpID09PSBkZWZhdWx0VmFsdWUgJiZcbiAgICAgICAgICBjb250cm9sLnZhbHVlICE9PSBkZWZhdWx0VmFsdWUpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5jYWNoZWRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZSh0aGlzLmNhY2hlZFZhbHVlKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS50b1N0cmluZygpLmluY2x1ZGVzKG1pbnVzU2lnbikpIHtcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gISF0aGlzLmlzUG9zaXRpdmVcbiAgICAgICAgICA/IHZhbHVlLnJlcGxhY2VBbGwobWludXNTaWduLCBlbXB0eVN0cmluZylcbiAgICAgICAgICA6IHZhbHVlLnNsaWNlKDAsIDEpICsgdmFsdWUucmVwbGFjZUFsbChtaW51c1NpZ24sIGVtcHR5U3RyaW5nKTtcbiAgICAgICAgdGhpcy5jYWNoZWRWYWx1ZSA9ICFpc05hTihuZXdWYWx1ZSArIDEpID8gbmV3VmFsdWUgOiB0aGlzLmNhY2hlZFZhbHVlO1xuICAgICAgICBpZiAodGhpcy5jYWNoZWRWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHRoaXMuY2FjaGVkVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICAgIHRoaXMuY2FjaGVkVmFsdWUgIT09IGRlZmF1bHRWYWx1ZVxuICAgICAgICAgID8gY29udHJvbC5zZXRWYWx1ZSh0aGlzLmNhY2hlZFZhbHVlKVxuICAgICAgICAgIDogY29udHJvbC5zZXRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYWNoZWRWYWx1ZSA9ICt2YWx1ZTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jYWNoZWRWYWx1ZSAhPT0gdmFsdWUgJiZcbiAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgIXZhbHVlLnRvU3RyaW5nKCkuZW5kc1dpdGgoJy4nKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUodGhpcy5jYWNoZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZXNldERlZmF1bHRWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWU/LnRvU3RyaW5nKCkucmVwbGFjZSgvXFxzL2csIGVtcHR5U3RyaW5nKSA9PT0gZW1wdHlTdHJpbmdcbiAgICAgID8gZGVmYXVsdFZhbHVlXG4gICAgICA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05hTlZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCBub3RWYWxpZCA9IGlzTmFOKGNvbnRyb2wudmFsdWUpO1xuXG4gICAgICByZXR1cm4gbm90VmFsaWQgPyB7IGZvcmJpZGRlbk5hbWU6IHsgdmFsdWU6IGNvbnRyb2wudmFsdWUgfSB9IDogbnVsbDtcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8bGFiZWxcbiAgICBmb3I9XCJ7eyBpZCB9fVwiXG4gICAgY2xhc3M9XCJjb2wtbWQtMyBjb250cm9sLWxhYmVsXCJcbiAgICB0cmFuc2xhdGU9XCJ7eyBsYWJlbEtleSB9fVwiXG4gID48L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5cbiAgICA8aW5wdXRcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGROYW1lXCJcbiAgICAgIGlkPVwie3sgaWQgfX1cIlxuICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICBjbGFzcz1cImstaW5wdXRcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXt7IGZpZWxkTmFtZSB9fVwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7IGxhYmVsS2V5IHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gZGlzYWJsZWRLZXkgOiBudWxsXCJcbiAgICAvPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImJnLWRhbmdlclwiXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBwYXJlbnQuZm9ybS5nZXQoZmllbGROYW1lKSAmJlxuICAgICAgICBwYXJlbnQuZm9ybS5nZXQoZmllbGROYW1lKS5pbnZhbGlkICYmXG4gICAgICAgIHBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpLnRvdWNoZWRcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYXJlbnQuZm9ybS5nZXQoZmllbGROYW1lKS5lcnJvcnNbJ3JlcXVpcmVkJ11cIj57e1xuICAgICAgICAnUmVxdWlyZWQnIHwgdHJhbnNsYXRlOiB7IHBhcmFtMDogbGFiZWxLZXkgfCB0cmFuc2xhdGUgfVxuICAgICAgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpLmVycm9yc1snZW1haWwnXVwiPnt7XG4gICAgICAgICdWYWxpZEVtYWlsJyB8IHRyYW5zbGF0ZVxuICAgICAgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpLmVycm9yc1snc2VydmVyRXJyb3JNc2cnXVwiPnt7XG4gICAgICAgIHBhcmVudC5mb3JtLmdldChmaWVsZE5hbWUpLmVycm9yc1snc2VydmVyRXJyb3JNc2cnXVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -10,13 +10,13 @@ export class FieldDropdownlistComponent {
10
10
  }
11
11
  async ngOnInit() {
12
12
  this.defaultItem = { id: null, name: this.translate.instant(All) };
13
- await this.getData();
14
- this.translate.onLangChange.subscribe((event) => {
13
+ this.getData();
14
+ this.translate.onLangChange.subscribe((_event) => {
15
15
  this.defaultItem = { id: null, name: this.translate.instant(All) };
16
16
  });
17
17
  }
18
18
  getData() {
19
- this.service.getPage({}).subscribe((data) => {
19
+ this.service.getPage({ sort: this.sort }).subscribe((data) => {
20
20
  this.data = data.data;
21
21
  if (this.initialSelectedId) {
22
22
  const selectedItem = this.data.find((x) => x.id === this.initialSelectedId);
@@ -34,7 +34,7 @@ export class FieldDropdownlistComponent {
34
34
  }
35
35
  }
36
36
  FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
37
- FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
37
+ FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'field-dropdownlist', template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""] }]
@@ -42,10 +42,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
42
42
  type: Input
43
43
  }], label: [{
44
44
  type: Input
45
+ }], sort: [{
46
+ type: Input
45
47
  }], valueChange: [{
46
48
  type: Output
47
49
  }], kendoDropDown: [{
48
50
  type: ViewChild,
49
51
  args: ['inputElement']
50
52
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9maWVsZC1kcm9wZG93bmxpc3QvZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9maWVsZC1kcm9wZG93bmxpc3QvZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBTXZCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQztBQU9sQixNQUFNLE9BQU8sMEJBQTBCO0lBY3JDLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBUi9DLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQVFLLENBQUM7SUFFbkQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFzQixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkMsQ0FBQztnQkFFRixJQUFJLFlBQVksRUFBRTtvQkFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLGNBQWMsQ0FBQyxFQUFVO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7dUhBN0NVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGtRQ3BCdkMsNFpBaUJBOzJGREdhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxvQkFBb0I7dUdBTTlCLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sV0FBVztzQkFEVixNQUFNO2dCQUdDLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgT25Jbml0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcm9wRG93bkxpc3RDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xuaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9JRW50aXR5U2VydmljZSc7XG5pbXBvcnQgeyBMYW5nQ2hhbmdlRXZlbnQsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcblxuY29uc3QgQWxsID0gJ0FsbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpZWxkLWRyb3Bkb3dubGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1kcm9wZG93bmxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1kcm9wZG93bmxpc3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZERyb3Bkb3dubGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNlcnZpY2U6IElFbnRpdHlTZXJ2aWNlPE5hbWVkTW9kZWw+O1xuICBASW5wdXQoKVxuICBsYWJlbDogc3RyaW5nO1xuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5hbWVkTW9kZWw+KCk7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gIHByaXZhdGUga2VuZG9Ecm9wRG93bjogRHJvcERvd25MaXN0Q29tcG9uZW50O1xuICBwcml2YXRlIGluaXRpYWxTZWxlY3RlZElkOiBzdHJpbmc7XG5cbiAgcHVibGljIGRlZmF1bHRJdGVtOiBOYW1lZE1vZGVsO1xuICBwdWJsaWMgZGF0YTogTmFtZWRNb2RlbFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZGVmYXVsdEl0ZW0gPSB7IGlkOiBudWxsLCBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KEFsbCkgfTtcbiAgICBhd2FpdCB0aGlzLmdldERhdGEoKTtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmRlZmF1bHRJdGVtID0geyBpZDogbnVsbCwgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChBbGwpIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERhdGEoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmdldFBhZ2Uoe30pLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5kYXRhID0gZGF0YS5kYXRhO1xuICAgICAgaWYgKHRoaXMuaW5pdGlhbFNlbGVjdGVkSWQpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhLmZpbmQoXG4gICAgICAgICAgKHgpID0+IHguaWQgPT09IHRoaXMuaW5pdGlhbFNlbGVjdGVkSWRcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5rZW5kb0Ryb3BEb3duLndyaXRlVmFsdWUoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShldmVudDogTmFtZWRNb2RlbCkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdFNlbGVjdGVkSWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSWQgPSBpZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlci1zZWxlY3Rpb24tZmllbGRcIj5cbiAgPGxhYmVsXG4gICAgZm9yPVwie3sgJ18nICsgbGFiZWwgfX1cIlxuICAgIGNsYXNzPVwidGl0bGUtZmllbGRcIlxuICAgIHRyYW5zbGF0ZT1cInt7IGxhYmVsIH19XCJcbiAgPjwvbGFiZWw+XG4gIDxrZW5kby1kcm9wZG93bmxpc3RcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgIGlkPVwie3sgJ18nICsgbGFiZWwgfX1cIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtkZWZhdWx0SXRlbV09XCJkZWZhdWx0SXRlbVwiXG4gICAgI2lucHV0RWxlbWVudFxuICA+XG4gIDwva2VuZG8tZHJvcGRvd25saXN0PlxuPC9kaXY+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9maWVsZC1kcm9wZG93bmxpc3QvZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9maWVsZC1kcm9wZG93bmxpc3QvZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQztBQU9sQixNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQyxZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVIvQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFRSyxDQUFDO0lBRW5ELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQ3ZDLENBQUM7Z0JBRUYsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUM3QzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsRUFBVTtRQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7O3VIQS9DVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixnUkNyQnZDLDRaQWlCQTsyRkRJYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usb0JBQW9CO3VHQU05QixPQUFPO3NCQUROLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixXQUFXO3NCQURWLE1BQU07Z0JBR0MsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBPbkluaXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BEb3duTGlzdENvbXBvbmVudCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRyb3Bkb3ducyc7XG5pbXBvcnQgeyBJRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgU29ydERlc2NyaXB0b3IgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5cbmNvbnN0IEFsbCA9ICdBbGwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWVsZC1kcm9wZG93bmxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGREcm9wZG93bmxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBzZXJ2aWNlOiBJRW50aXR5U2VydmljZTxOYW1lZE1vZGVsPjtcbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KClcbiAgc29ydD86IFNvcnREZXNjcmlwdG9yW107XG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TmFtZWRNb2RlbD4oKTtcbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgcHJpdmF0ZSBrZW5kb0Ryb3BEb3duOiBEcm9wRG93bkxpc3RDb21wb25lbnQ7XG4gIHByaXZhdGUgaW5pdGlhbFNlbGVjdGVkSWQ6IHN0cmluZztcblxuICBwdWJsaWMgZGVmYXVsdEl0ZW06IE5hbWVkTW9kZWw7XG4gIHB1YmxpYyBkYXRhOiBOYW1lZE1vZGVsW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5kZWZhdWx0SXRlbSA9IHsgaWQ6IG51bGwsIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoQWxsKSB9O1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgIHRoaXMudHJhbnNsYXRlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKF9ldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmRlZmF1bHRJdGVtID0geyBpZDogbnVsbCwgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChBbGwpIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERhdGEoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmdldFBhZ2UoeyBzb3J0OiB0aGlzLnNvcnQgfSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhLmRhdGE7XG4gICAgICBpZiAodGhpcy5pbml0aWFsU2VsZWN0ZWRJZCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGEuZmluZChcbiAgICAgICAgICAoeCkgPT4geC5pZCA9PT0gdGhpcy5pbml0aWFsU2VsZWN0ZWRJZFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB0aGlzLmtlbmRvRHJvcERvd24ud3JpdGVWYWx1ZShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBOYW1lZE1vZGVsKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0U2VsZWN0ZWRJZChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJZCA9IGlkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyLXNlbGVjdGlvbi1maWVsZFwiPlxuICA8bGFiZWxcbiAgICBmb3I9XCJ7eyAnXycgKyBsYWJlbCB9fVwiXG4gICAgY2xhc3M9XCJ0aXRsZS1maWVsZFwiXG4gICAgdHJhbnNsYXRlPVwie3sgbGFiZWwgfX1cIlxuICA+PC9sYWJlbD5cbiAgPGtlbmRvLWRyb3Bkb3dubGlzdFxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgaWQ9XCJ7eyAnXycgKyBsYWJlbCB9fVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2RlZmF1bHRJdGVtXT1cImRlZmF1bHRJdGVtXCJcbiAgICAjaW5wdXRFbGVtZW50XG4gID5cbiAgPC9rZW5kby1kcm9wZG93bmxpc3Q+XG48L2Rpdj5cbiJdfQ==
@@ -174,6 +174,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
174
174
  type: Input
175
175
  }] } });
176
176
 
177
+ const defaultValue = null;
178
+ const minusSign = '-';
177
179
  const emptyString = '';
178
180
  class NumberInputComponent extends FieldInputComponent {
179
181
  constructor(parent, eref) {
@@ -181,21 +183,56 @@ class NumberInputComponent extends FieldInputComponent {
181
183
  this.parent = parent;
182
184
  this.eref = eref;
183
185
  this.isPositive = false;
184
- this.type = 'number';
186
+ this.type = 'text';
185
187
  }
186
188
  ngAfterContentInit() {
187
189
  const control = this.parent.form.get(this.fieldName);
190
+ control.setValue(this.presetDefaultValue(control.value));
191
+ control.setValidators(this.isNaNValidator());
188
192
  control.valueChanges.subscribe((value) => {
189
- if (value !== this.cachedValue) {
190
- this.cachedValue =
191
- (!this.isPositive && (value || value === 0)) ||
192
- (this.isPositive && value >= 0 && value !== emptyString)
193
- ? +value
194
- : emptyString;
193
+ if (((typeof value === 'undefined' || (value === null || value === void 0 ? void 0 : value.toString()) === emptyString) &&
194
+ this.cachedValue !== defaultValue) ||
195
+ (this.presetDefaultValue(value) === defaultValue &&
196
+ control.value !== defaultValue)) {
197
+ this.cachedValue = defaultValue;
198
+ control.setValue(this.cachedValue);
199
+ return;
200
+ }
201
+ if (value && value.toString().includes(minusSign)) {
202
+ let newValue = !!this.isPositive
203
+ ? value.replaceAll(minusSign, emptyString)
204
+ : value.slice(0, 1) + value.replaceAll(minusSign, emptyString);
205
+ this.cachedValue = !isNaN(newValue + 1) ? newValue : this.cachedValue;
206
+ if (this.cachedValue !== value) {
207
+ control.setValue(this.cachedValue);
208
+ }
209
+ return;
210
+ }
211
+ if (isNaN(value)) {
212
+ this.cachedValue !== defaultValue
213
+ ? control.setValue(this.cachedValue)
214
+ : control.setValue(defaultValue);
215
+ return;
216
+ }
217
+ this.cachedValue = +value;
218
+ if (this.cachedValue !== value &&
219
+ value !== null &&
220
+ !value.toString().endsWith('.')) {
195
221
  control.setValue(this.cachedValue);
196
222
  }
197
223
  });
198
224
  }
225
+ presetDefaultValue(value) {
226
+ return (value === null || value === void 0 ? void 0 : value.toString().replace(/\s/g, emptyString)) === emptyString
227
+ ? defaultValue
228
+ : value;
229
+ }
230
+ isNaNValidator() {
231
+ return (control) => {
232
+ const notValid = isNaN(control.value);
233
+ return notValid ? { forbiddenName: { value: control.value } } : null;
234
+ };
235
+ }
199
236
  }
200
237
  NumberInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NumberInputComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
201
238
  NumberInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: NumberInputComponent, selector: "number-input", inputs: { isPositive: "isPositive" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ id }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\">\n <input\n [formControlName]=\"fieldName\"\n id=\"{{ id }}\"\n [type]=\"type\"\n class=\"k-input\"\n autocomplete=\"new-{{ fieldName }}\"\n placeholder=\"{{ labelKey | translate }}\"\n [attr.disabled]=\"disabled ? disabledKey : null\"\n />\n <ng-content></ng-content>\n <div\n class=\"bg-danger\"\n *ngIf=\"\n parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched\n \"\n >\n <span *ngIf=\"parent.form.get(fieldName).errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['email']\">{{\n 'ValidEmail' | translate\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['serverErrorMsg']\">{{\n parent.form.get(fieldName).errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, viewProviders: [
@@ -2414,14 +2451,14 @@ class FieldDropdownlistComponent {
2414
2451
  ngOnInit() {
2415
2452
  return __awaiter(this, void 0, void 0, function* () {
2416
2453
  this.defaultItem = { id: null, name: this.translate.instant(All) };
2417
- yield this.getData();
2418
- this.translate.onLangChange.subscribe((event) => {
2454
+ this.getData();
2455
+ this.translate.onLangChange.subscribe((_event) => {
2419
2456
  this.defaultItem = { id: null, name: this.translate.instant(All) };
2420
2457
  });
2421
2458
  });
2422
2459
  }
2423
2460
  getData() {
2424
- this.service.getPage({}).subscribe((data) => {
2461
+ this.service.getPage({ sort: this.sort }).subscribe((data) => {
2425
2462
  this.data = data.data;
2426
2463
  if (this.initialSelectedId) {
2427
2464
  const selectedItem = this.data.find((x) => x.id === this.initialSelectedId);
@@ -2439,7 +2476,7 @@ class FieldDropdownlistComponent {
2439
2476
  }
2440
2477
  }
2441
2478
  FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2442
- FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], components: [{ type: i3$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
2479
+ FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], components: [{ type: i3$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
2443
2480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
2444
2481
  type: Component,
2445
2482
  args: [{ selector: 'field-dropdownlist', template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""] }]
@@ -2447,6 +2484,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
2447
2484
  type: Input
2448
2485
  }], label: [{
2449
2486
  type: Input
2487
+ }], sort: [{
2488
+ type: Input
2450
2489
  }], valueChange: [{
2451
2490
  type: Output
2452
2491
  }], kendoDropDown: [{