@tetacom/ng-components 1.3.7 → 1.3.9
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/directive/only-number/only-number.directive.d.ts +2 -1
- package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +2 -2
- package/esm2022/component/input/text-field/text-field.component.mjs +2 -2
- package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +2 -2
- package/esm2022/directive/only-number/only-number.directive.mjs +9 -21
- package/fesm2022/tetacom-ng-components.mjs +11 -23
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
- package/style/radio.scss +4 -2
|
@@ -9,6 +9,7 @@ export declare class OnlyNumberDirective {
|
|
|
9
9
|
allowSign: boolean;
|
|
10
10
|
decimalSeparator: string;
|
|
11
11
|
commaSeparator: string;
|
|
12
|
+
onlyPositive: boolean;
|
|
12
13
|
private _previousValue;
|
|
13
14
|
private _integerUnsigned;
|
|
14
15
|
private _integerSigned;
|
|
@@ -22,5 +23,5 @@ export declare class OnlyNumberDirective {
|
|
|
22
23
|
onKeyDown(e: KeyboardEvent): void;
|
|
23
24
|
validateValue(value: string): void;
|
|
24
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<OnlyNumberDirective, never>;
|
|
25
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<OnlyNumberDirective, "[tetaOnlyNumber]", never, { "tetaOnlyNumber": { "alias": "tetaOnlyNumber"; "required": false; }; "allowDecimals": { "alias": "allowDecimals"; "required": false; }; "allowSign": { "alias": "allowSign"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "commaSeparator": { "alias": "commaSeparator"; "required": false; }; }, {}, never, never, true, never>;
|
|
26
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<OnlyNumberDirective, "[tetaOnlyNumber]", never, { "tetaOnlyNumber": { "alias": "tetaOnlyNumber"; "required": false; }; "allowDecimals": { "alias": "allowDecimals"; "required": false; }; "allowSign": { "alias": "allowSign"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "commaSeparator": { "alias": "commaSeparator"; "required": false; }; "onlyPositive": { "alias": "onlyPositive"; "required": false; }; }, {}, never, never, true, never>;
|
|
26
27
|
}
|
|
@@ -45,7 +45,7 @@ export class NumericFilterComponent extends FilterComponentBase {
|
|
|
45
45
|
return filter;
|
|
46
46
|
}
|
|
47
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericFilterComponent, isStandalone: true, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"/>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan=$event\"/>\n </teta-input>\n </div>\n }\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericFilterComponent, isStandalone: true, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"/>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan=$event\"/>\n </teta-input>\n </div>\n }\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericFilterComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
66
66
|
}], state: [{
|
|
67
67
|
type: Input
|
|
68
68
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9maWx0ZXIvbnVtZXJpYy1maWx0ZXIvbnVtZXJpYy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9maWx0ZXIvbnVtZXJpYy1maWx0ZXIvbnVtZXJpYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBZW5FLE1BQU0sT0FBTyxzQkFDWCxTQUFRLG1CQUFzQjtJQWE5QixJQUNJLEtBQUssQ0FBQyxHQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUdELFlBQW9CLGNBQWlDLEVBQ2pDLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRlUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBckJyQyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbEMsa0JBQWEsR0FDckIsSUFBSSxZQUFZLEVBQWtDLENBQUM7UUFxQm5ELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLElBQUksQ0FDMUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzNDLENBQUM7UUFDRixJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUNsQyxJQUFJLGFBQWEsQ0FBQztnQkFDaEIsS0FBSyxFQUFFLElBQUksa0JBQWtCLEVBQUU7Z0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7Z0JBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Z0JBQ3RCLE1BQU0sRUFBRSxJQUFJO2FBQ2IsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FuRFUsc0JBQXNCO2tHQUF0QixzQkFBc0IsK09DckNuQyx5cEJBa0JBLDBERGFRLGNBQWMsdUhBQ2QsV0FBVywrbUJBQ1gsbUJBQW1CLHdLQUNuQixTQUFTOzsyRkFHSixzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFNBQVM7cUJBQ1o7c0hBTU0sTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBUUgsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bWVyaWNGaWx0ZXIgfSBmcm9tICcuLi9jb250YXJjdC9udW1lcmljLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXJDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vYmFzZS9maWx0ZXItY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHsgRmlsdGVyQmFzZSB9IGZyb20gJy4uL2Jhc2UvZmlsdGVyLWJhc2UnO1xuaW1wb3J0IHsgRmlsdGVyU3RhdGUgfSBmcm9tICcuLi9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHsgRmlsdGVySXRlbSB9IGZyb20gJy4uL2NvbnRhcmN0L2ZpbHRlci1pdGVtJztcbmltcG9ydCB7IE51bWVyaWNGaWx0ZXJWYWx1ZSB9IGZyb20gJy4uL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7IElJZE5hbWUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RldGFMb2NhbGlzYXRpb259IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWxvY2FsaXNhdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT25seU51bWJlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2lucHV0L2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGV0YS1udW1lcmljLWZpbHRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWVyaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9udW1lcmljLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBJbnB1dENvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE9ubHlOdW1iZXJEaXJlY3RpdmUsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1lcmljRmlsdGVyQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgRmlsdGVyQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBjb2x1bW46IEZpbHRlckl0ZW07XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgZmlsdGVyT3B0aW9uczogSUlkTmFtZTxhbnk+W10gPSBbXTtcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXNlPE51bWVyaWNGaWx0ZXJWYWx1ZT4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckJhc2U8TnVtZXJpY0ZpbHRlclZhbHVlPj4oKTtcblxuICBmaWx0ZXI6IE51bWVyaWNGaWx0ZXI7XG5cbiAgcHJpdmF0ZSBzdGF0ZSQ6IEZpbHRlclN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBzdGF0ZSh2YWw6IEZpbHRlclN0YXRlKSB7XG4gICAgdGhpcy5zdGF0ZSQgPSB2YWw7XG4gICAgdGhpcy5maWx0ZXIgPSB0aGlzLmdldEZpbHRlcigpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJDtcbiAgfVxuICBsb2NhbGU6IE9ic2VydmFibGU8VGV0YUxvY2FsaXNhdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NvbmZpZzogVGV0YUNvbmZpZ1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5fY29uZmlnLmxvY2FsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyKCk6IE51bWVyaWNGaWx0ZXIge1xuICAgIGxldCBmaWx0ZXIgPSB0aGlzLnN0YXRlLm51bWVyaWNGaWx0ZXJzPy5maW5kKFxuICAgICAgKGYpID0+IGYuZmllbGQgPT09IHRoaXMuY29sdW1uLmZpbHRlckZpZWxkXG4gICAgKTtcbiAgICBpZiAoZmlsdGVyID09PSBudWxsIHx8IGZpbHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaWx0ZXIgPSB0aGlzLnN0YXRlLmFkZE51bWVyaWNGaWx0ZXIoXG4gICAgICAgIG5ldyBOdW1lcmljRmlsdGVyKHtcbiAgICAgICAgICB2YWx1ZTogbmV3IE51bWVyaWNGaWx0ZXJWYWx1ZSgpLFxuICAgICAgICAgIGZpZWxkOiB0aGlzLmNvbHVtbi5maWx0ZXJGaWVsZCxcbiAgICAgICAgICBuYW1lOiB0aGlzLmNvbHVtbi5uYW1lLFxuICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cbn1cbiIsIkBpZiAobG9jYWxlIHwgYXN5bmM7IGFzIGxvYykge1xuICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3cgcGFkZGluZy0zXCI+XG4gICAgPHRldGEtaW5wdXQgW2xhYmVsXT1cImxvYy5mcm9tXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dFwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTEwcHhcIlxuICAgICAgICBbdGV0YU9ubHlOdW1iZXJdPVwidHJ1ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cImZpbHRlci52YWx1ZT8uZ3JlYXRlclRoYW5cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXIudmFsdWUuZ3JlYXRlclRoYW49JGV2ZW50XCIvPlxuICAgICAgPC90ZXRhLWlucHV0PlxuICAgICAgPHRldGEtaW5wdXQgW2xhYmVsXT1cImxvYy50b1wiPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dFwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMTBweFwiXG4gICAgICAgICAgW3RldGFPbmx5TnVtYmVyXT1cInRydWVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImZpbHRlci52YWx1ZT8ubGVzc1RoYW5cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlci52YWx1ZS5sZXNzVGhhbj0kZXZlbnRcIi8+XG4gICAgICAgIDwvdGV0YS1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiJdfQ==
|
|
@@ -52,7 +52,7 @@ export class TextFieldComponent {
|
|
|
52
52
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
53
53
|
multi: true,
|
|
54
54
|
},
|
|
55
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (leftIconName) {\n <teta-icon [name]='leftIconName' [palette]=\"'text'\"></teta-icon>\n}\n<input\n #input\n [ngModel]='value | tetaNumber : !onlyNumber ? null : inputFocused ? 1000 : decimalPart'\n [tetaOnlyNumber]='onlyNumber'\n (ngModelChange)='value = $event; onChange($event);'\n [placeholder]='placeholder'\n [disabled]='disabled'\n [ngClass]=\"{'color-text-40':disabled}\"\n (focus)='inputFocused = true'\n (blur)='inputFocused = false;emitBlur()'\n (keydown)='keyPress($event)'\n type='text'\n />\n @if (value && !disabled) {\n <teta-icon\n class='close-icon'\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('');\"\n ></teta-icon>\n }\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
55
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (leftIconName) {\n <teta-icon [name]='leftIconName' [palette]=\"'text'\"></teta-icon>\n}\n<input\n #input\n [ngModel]='value | tetaNumber : !onlyNumber ? null : inputFocused ? 1000 : decimalPart'\n [tetaOnlyNumber]='onlyNumber'\n (ngModelChange)='value = $event; onChange($event);'\n [placeholder]='placeholder'\n [disabled]='disabled'\n [ngClass]=\"{'color-text-40':disabled}\"\n (focus)='inputFocused = true'\n (blur)='inputFocused = false;emitBlur()'\n (keydown)='keyPress($event)'\n type='text'\n />\n @if (value && !disabled) {\n <teta-icon\n class='close-icon'\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('');\"\n ></teta-icon>\n }\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
97
97
|
type: HostListener,
|
|
98
98
|
args: ['click']
|
|
99
99
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2lucHV0L3RleHQtZmllbGQvdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2lucHV0L3RleHQtZmllbGQvdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBdUIvRCxNQUFNLE9BQU8sa0JBQWtCO0lBaUI3QixZQUFvQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWhCbEMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFJMUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNSLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFRWCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLFVBQUssR0FBRyxFQUFFLENBQUM7SUFFbUMsQ0FBQztJQUV4QixPQUFPO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsSUFBUyxDQUFDO0lBRWhDLFNBQVMsS0FBVSxDQUFDOzhHQXhEVCxrQkFBa0I7a0dBQWxCLGtCQUFrQixtYUFqQmhCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBIQzNCTCxxdEJBd0JBLDBERE9RLGFBQWEsbUdBQ2IsV0FBVywrbUJBQ1gsbUJBQW1CLDZLQUNuQixPQUFPLCtFQUNQLFVBQVU7OzJGQUdMLGtCQUFrQjtrQkFyQjlCLFNBQVM7K0JBQ0ksaUJBQWlCLGFBR2hCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsYUFBYTt3QkFDYixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxVQUFVO3FCQUNiO3NGQUdNLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsMkJBQTJCOztzQkFDdkMsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR04sT0FBTztzQkFGTixXQUFXO3VCQUFDLDBCQUEwQjs7c0JBQ3RDLEtBQUs7Z0JBRWlDLEtBQUs7c0JBQTNDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHcEIsU0FBUztzQkFEekIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTVIsT0FBTztzQkFBN0IsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bWJlclBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlL251bWJlci1waXBlL251bWJlci5waXBlJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT25seU51bWJlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGV0YS10ZXh0LWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRGaWVsZENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgT25seU51bWJlckRpcmVjdGl2ZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTnVtYmVyUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxlZnRJY29uTmFtZT86IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LWZpZWxkX2Rpc2FibGVkJylcbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgb25seU51bWJlciA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWNpbWFsUGFydDogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZmllbGRfaW52YWxpZCcpXG4gIEBJbnB1dCgpXG4gIGludmFsaWQ6IGJvb2xlYW47XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuICBpbnB1dEZvY3VzZWQ6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1maWVsZCcpXG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEZpZWxkID0gdHJ1ZTtcbiAgdmFsdWUgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25Gb2N1cygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5lbWl0Qmx1cigpO1xuICAgIH1cbiAgfVxuXG4gIGVtaXRCbHVyKCkge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKGlucHV0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXQ7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGlucHV0OiBzdHJpbmcpOiB2b2lkIHt9XG5cbiAgb25Ub3VjaGVkKCk6IHZvaWQge31cbn1cbiIsIkBpZiAobGVmdEljb25OYW1lKSB7XG4gIDx0ZXRhLWljb24gW25hbWVdPSdsZWZ0SWNvbk5hbWUnIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxufVxuPGlucHV0XG4gICNpbnB1dFxuICBbbmdNb2RlbF09J3ZhbHVlIHwgdGV0YU51bWJlciA6ICFvbmx5TnVtYmVyID8gbnVsbCA6IGlucHV0Rm9jdXNlZCA/IDEwMDAgOiBkZWNpbWFsUGFydCdcbiAgW3RldGFPbmx5TnVtYmVyXT0nb25seU51bWJlcidcbiAgKG5nTW9kZWxDaGFuZ2UpPSd2YWx1ZSA9ICRldmVudDsgb25DaGFuZ2UoJGV2ZW50KTsnXG4gIFtwbGFjZWhvbGRlcl09J3BsYWNlaG9sZGVyJ1xuICBbZGlzYWJsZWRdPSdkaXNhYmxlZCdcbiAgW25nQ2xhc3NdPVwieydjb2xvci10ZXh0LTQwJzpkaXNhYmxlZH1cIlxuICAoZm9jdXMpPSdpbnB1dEZvY3VzZWQgPSB0cnVlJ1xuICAoYmx1cik9J2lucHV0Rm9jdXNlZCA9IGZhbHNlO2VtaXRCbHVyKCknXG4gIChrZXlkb3duKT0na2V5UHJlc3MoJGV2ZW50KSdcbiAgdHlwZT0ndGV4dCdcbiAgLz5cbiAgQGlmICh2YWx1ZSAmJiAhZGlzYWJsZWQpIHtcbiAgICA8dGV0YS1pY29uXG4gICAgICBjbGFzcz0nY2xvc2UtaWNvbidcbiAgICAgIFtuYW1lXT1cIidjbG9zZUNpcmNsZSdcIlxuICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgIChjbGljayk9XCJ2YWx1ZSA9ICcnOyBvbkNoYW5nZSgnJyk7XCJcbiAgICA+PC90ZXRhLWljb24+XG4gIH1cbiJdfQ==
|
|
@@ -27,7 +27,7 @@ export class NumericCellComponent extends CellComponentBase {
|
|
|
27
27
|
this.cdr.markForCheck();
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericCellComponent, isStandalone: true, selector: "teta-numeric-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{control?.value | tetaNumber : 2}}\n</span>\n@if (edit) {\n <input #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)='input.blur()'\n [formControl]=\"control\"/>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericCellComponent, isStandalone: true, selector: "teta-numeric-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{control?.value | tetaNumber : 2}}\n</span>\n@if (edit) {\n <input #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)='input.blur()'\n [formControl]=\"control\"/>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericCellComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
41
41
|
type: ViewChild,
|
|
42
42
|
args: ['input', { static: false }]
|
|
43
43
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9udW1lcmljLWNlbGwvbnVtZXJpYy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9udW1lcmljLWNlbGwvbnVtZXJpYy1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBRVYsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWdCbEUsTUFBTSxPQUFPLG9CQUNYLFNBQVEsaUJBQW9CO0lBSzVCLFlBQ3FCLEdBQW9CLEVBQ3BCLEdBQXNCO1FBRXpDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIRyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUNwQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUczQyxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQTJCLEVBQUUsSUFBb0I7UUFDekQsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBMUJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9NQy9CakMsZ1hBYUEseUREWVEsV0FBVyx1WkFDWCxtQkFBbUIsNEtBQ25CLG1CQUFtQiw2TUFDbkIsVUFBVSx3Q0FOQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7OzJGQVM5QixvQkFBb0I7a0JBZGhDLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUMzQixJQUFJLFdBQ1A7d0JBQ0wsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsVUFBVTtxQkFDYjtpSEFNb0MsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9ybXNVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbC9mb3Jtcy11dGlsJztcbmltcG9ydCB7IENlbGxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS9jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7IElDZWxsQ29vcmRpbmF0ZXMgfSBmcm9tICcuLi8uLi9jb250cmFjdC9pLWNlbGwtY29vcmRpbmF0ZXMnO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE51bWJlclBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlL251bWJlci1waXBlL251bWJlci5waXBlJztcbmltcG9ydCB7IE9ubHlOdW1iZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmUvb25seS1udW1iZXIvb25seS1udW1iZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RldGEtbnVtZXJpYy1jZWxsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtZXJpYy1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9udW1lcmljLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB2aWV3UHJvdmlkZXJzOiBbRm9ybXNVdGlsLmZvcm1Qcm92aWRlcl0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBPbmx5TnVtYmVyRGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBOdW1iZXJQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNDZWxsQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgQ2VsbENvbXBvbmVudEJhc2U8VD5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHN2YzogVGFibGVTZXJ2aWNlPFQ+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKHN2YywgY2RyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBzdGFydEVkaXQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzLCB0eXBlOiAnY2VsbCcgfCAncm93Jyk6IHZvaWQge1xuICAgIGlmIChpbml0aWF0b3I/LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4ubmFtZSkge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHN0b3BFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8c3BhbiBbc3R5bGUuZGlzcGxheV09XCJlZGl0ID8gJ25vbmUnIDogJ2Jsb2NrJ1wiXG4gIGNsYXNzPVwiY2VsbC10ZXh0XCJcbiAgW2NsYXNzLmNlbGwtdGV4dF9kaXNhYmxlZF09XCIhZWRpdGFibGVcIj5cbiAge3tjb250cm9sPy52YWx1ZSB8IHRldGFOdW1iZXIgOiAyfX1cbjwvc3Bhbj5cbkBpZiAoZWRpdCkge1xuICA8aW5wdXQgI2lucHV0XG4gICAgW3RldGFPbmx5TnVtYmVyXT1cInRydWVcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzcz1cImlucHV0IHJvd19hdXRvIGJvcmRlci1yYWRpdXMtMFwiXG4gICAgKGtleWRvd24uZW50ZXIpPSdpbnB1dC5ibHVyKCknXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIi8+XG59XG4iXX0=
|
|
@@ -11,6 +11,7 @@ export class OnlyNumberDirective {
|
|
|
11
11
|
this.allowSign = true;
|
|
12
12
|
this.decimalSeparator = '.';
|
|
13
13
|
this.commaSeparator = ',';
|
|
14
|
+
this.onlyPositive = false;
|
|
14
15
|
this._previousValue = '';
|
|
15
16
|
this._integerUnsigned = '^[0-9]*$';
|
|
16
17
|
this._integerSigned = '^-?[0-9]+$';
|
|
@@ -45,18 +46,8 @@ export class OnlyNumberDirective {
|
|
|
45
46
|
const originalValue = e.target.value;
|
|
46
47
|
const controlOrCommand = e.ctrlKey === true || e.metaKey === true;
|
|
47
48
|
const signExists = originalValue.includes('-');
|
|
48
|
-
const separatorExists = originalValue.includes(this.decimalSeparator) ||
|
|
49
|
-
|
|
50
|
-
const allowedKeys = [
|
|
51
|
-
'Backspace',
|
|
52
|
-
'ArrowLeft',
|
|
53
|
-
'ArrowRight',
|
|
54
|
-
'Delete',
|
|
55
|
-
'Escape',
|
|
56
|
-
'Tab',
|
|
57
|
-
'Home',
|
|
58
|
-
'End',
|
|
59
|
-
];
|
|
49
|
+
const separatorExists = originalValue.includes(this.decimalSeparator) || originalValue.includes(this.commaSeparator);
|
|
50
|
+
const allowedKeys = ['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Escape', 'Tab', 'Home', 'End'];
|
|
60
51
|
const separatorIsCloseToSign = signExists && cursorPosition <= 1;
|
|
61
52
|
if (this.allowDecimals && !separatorIsCloseToSign && !separatorExists) {
|
|
62
53
|
// if (this.decimalSeparator === '.') {
|
|
@@ -66,10 +57,7 @@ export class OnlyNumberDirective {
|
|
|
66
57
|
// }
|
|
67
58
|
}
|
|
68
59
|
const firstCharacterIsSeparator = originalValue.charAt(0) !== this.decimalSeparator;
|
|
69
|
-
if (this.allowSign &&
|
|
70
|
-
!signExists &&
|
|
71
|
-
firstCharacterIsSeparator &&
|
|
72
|
-
cursorPosition === 0) {
|
|
60
|
+
if (this.allowSign && !signExists && firstCharacterIsSeparator && cursorPosition === 0 && !this.onlyPositive) {
|
|
73
61
|
allowedKeys.push('-');
|
|
74
62
|
}
|
|
75
63
|
if (allowedKeys.indexOf(e.key) !== -1 ||
|
|
@@ -130,9 +118,7 @@ export class OnlyNumberDirective {
|
|
|
130
118
|
firstCharacter = value.charAt(0);
|
|
131
119
|
}
|
|
132
120
|
let secondChar = value.charAt(1);
|
|
133
|
-
while (firstCharacter === '0' &&
|
|
134
|
-
secondChar !== '' &&
|
|
135
|
-
secondChar !== this.decimalSeparator) {
|
|
121
|
+
while (firstCharacter === '0' && secondChar !== '' && secondChar !== this.decimalSeparator) {
|
|
136
122
|
value = value.substring(1);
|
|
137
123
|
firstCharacter = value.charAt(0);
|
|
138
124
|
secondChar = value.charAt(1);
|
|
@@ -162,7 +148,7 @@ export class OnlyNumberDirective {
|
|
|
162
148
|
}
|
|
163
149
|
}
|
|
164
150
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: OnlyNumberDirective, deps: [{ token: i0.ElementRef }, { token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
165
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: OnlyNumberDirective, isStandalone: true, selector: "[tetaOnlyNumber]", inputs: { tetaOnlyNumber: "tetaOnlyNumber", allowDecimals: "allowDecimals", allowSign: "allowSign", decimalSeparator: "decimalSeparator", commaSeparator: "commaSeparator" }, host: { listeners: { "change": "onChange($event)", "dblclick": "dblclick($event)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
151
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: OnlyNumberDirective, isStandalone: true, selector: "[tetaOnlyNumber]", inputs: { tetaOnlyNumber: "tetaOnlyNumber", allowDecimals: "allowDecimals", allowSign: "allowSign", decimalSeparator: "decimalSeparator", commaSeparator: "commaSeparator", onlyPositive: "onlyPositive" }, host: { listeners: { "change": "onChange($event)", "dblclick": "dblclick($event)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
166
152
|
}
|
|
167
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: OnlyNumberDirective, decorators: [{
|
|
168
154
|
type: Directive,
|
|
@@ -180,6 +166,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
180
166
|
type: Input
|
|
181
167
|
}], commaSeparator: [{
|
|
182
168
|
type: Input
|
|
169
|
+
}], onlyPositive: [{
|
|
170
|
+
type: Input
|
|
183
171
|
}], onChange: [{
|
|
184
172
|
type: HostListener,
|
|
185
173
|
args: ['change', ['$event']]
|
|
@@ -193,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
193
181
|
type: HostListener,
|
|
194
182
|
args: ['keydown', ['$event']]
|
|
195
183
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QixZQUNVLFdBQXlDLEVBQ3pDLFFBQW1CO1FBRG5CLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakJwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUV0QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixxQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFDOUIscUJBQWdCLEdBQUcsb0JBQW9CLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxzQkFBc0IsQ0FBQztRQUUvQixlQUFVLEdBQVcsR0FBRyxDQUFDO0lBS3ZDLENBQUM7SUFFZ0MsUUFBUSxDQUFDLENBQU07UUFDakQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRXFDLFFBQVEsQ0FBQyxDQUFNO1FBQ25ELElBQUks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UUFDRCxNQUFNLEtBQUssR0FBWSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFaEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQzs4R0FqTVUsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3VHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQWdCOEIsUUFBUTtzQkFBM0MsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT0ksUUFBUTtzQkFBN0MsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT0QsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUUksU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGV0YU9ubHlOdW1iZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBPbmx5TnVtYmVyRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgdGV0YU9ubHlOdW1iZXIgPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd0RlY2ltYWxzID0gdHJ1ZTtcbiAgQElucHV0KCkgYWxsb3dTaWduID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVjaW1hbFNlcGFyYXRvciA9ICcuJztcbiAgQElucHV0KCkgY29tbWFTZXBhcmF0b3IgPSAnLCc7XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNWYWx1ZSA9ICcnO1xuXG4gIHByaXZhdGUgX2ludGVnZXJVbnNpZ25lZCA9ICdeWzAtOV0qJCc7XG4gIHByaXZhdGUgX2ludGVnZXJTaWduZWQgPSAnXi0/WzAtOV0rJCc7XG4gIHByaXZhdGUgX2RlY2ltYWxVbnNpZ25lZCA9ICdeWzAtOV0rKC5bMC05XSspPyQnO1xuICBwcml2YXRlIF9kZWNpbWFsU2lnbmVkID0gJ14tP1swLTldKyguWzAtOV0rKT8kJztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9taW51c1NpZ246IHN0cmluZyA9ICctJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgX2NvbnRyb2w6IE5nQ29udHJvbFxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25DaGFuZ2UoZTogYW55KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKSBkYmxjbGljayhlOiBhbnkpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKSBvblBhc3RlKGU6IGFueSkge1xuICAgIGlmICh0aGlzLnRldGFPbmx5TnVtYmVyID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUoZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKSk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uOiBudW1iZXIgPVxuICAgICAgKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgY29uc3Qgb3JpZ2luYWxWYWx1ZTogc3RyaW5nID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIGNvbnN0IGNvbnRyb2xPckNvbW1hbmQgPSBlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlO1xuICAgIGNvbnN0IHNpZ25FeGlzdHMgPSBvcmlnaW5hbFZhbHVlLmluY2x1ZGVzKCctJyk7XG4gICAgY29uc3Qgc2VwYXJhdG9yRXhpc3RzID1cbiAgICAgIG9yaWdpbmFsVmFsdWUuaW5jbHVkZXModGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB8fFxuICAgICAgb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcyh0aGlzLmNvbW1hU2VwYXJhdG9yKTtcblxuICAgIGNvbnN0IGFsbG93ZWRLZXlzID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnQXJyb3dMZWZ0JyxcbiAgICAgICdBcnJvd1JpZ2h0JyxcbiAgICAgICdEZWxldGUnLFxuICAgICAgJ0VzY2FwZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdIb21lJyxcbiAgICAgICdFbmQnLFxuICAgIF07XG5cbiAgICBjb25zdCBzZXBhcmF0b3JJc0Nsb3NlVG9TaWduID0gc2lnbkV4aXN0cyAmJiBjdXJzb3JQb3NpdGlvbiA8PSAxO1xuICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXNlcGFyYXRvcklzQ2xvc2VUb1NpZ24gJiYgIXNlcGFyYXRvckV4aXN0cykge1xuICAgICAgLy8gaWYgKHRoaXMuZGVjaW1hbFNlcGFyYXRvciA9PT0gJy4nKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCcuJyk7XG4gICAgICAvLyB9IGVsc2Uge1xuICAgICAgLy8gYWxsb3dlZEtleXMucHVzaCgnLCcpO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgPVxuICAgICAgb3JpZ2luYWxWYWx1ZS5jaGFyQXQoMCkgIT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcjtcbiAgICBpZiAoXG4gICAgICB0aGlzLmFsbG93U2lnbiAmJlxuICAgICAgIXNpZ25FeGlzdHMgJiZcbiAgICAgIGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgJiZcbiAgICAgIGN1cnNvclBvc2l0aW9uID09PSAwXG4gICAgKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCctJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgYWxsb3dlZEtleXMuaW5kZXhPZihlLmtleSkgIT09IC0xIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5QScgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlDJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleVYnICYmIGNvbnRyb2xPckNvbW1hbmQpIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5WicgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlYJyAmJiBjb250cm9sT3JDb21tYW5kKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gb3JpZ2luYWxWYWx1ZTtcblxuICAgIGNvbnN0IGlzTnVtYmVyID0gbmV3IFJlZ0V4cCh0aGlzLl9pbnRlZ2VyVW5zaWduZWQpLnRlc3QoZS5rZXkpO1xuICAgIGlmIChpc051bWJlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZS5rZXkgPT09ICcsJyAmJiBvcmlnaW5hbFZhbHVlLmluZGV4T2YoJy4nKSA8IDApIHtcbiAgICAgICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID1cbiAgICAgICAgLy8gICBgJHtvcmlnaW5hbFZhbHVlLnNsaWNlKDAsIGN1cnNvclBvc2l0aW9uKX0uJHtvcmlnaW5hbFZhbHVlLnNsaWNlKGN1cnNvclBvc2l0aW9uKX1gO1xuICAgICAgICB0aGlzLl9jb250cm9sLmNvbnRyb2wucGF0Y2hWYWx1ZShcbiAgICAgICAgICBgJHtvcmlnaW5hbFZhbHVlLnNsaWNlKDAsIGN1cnNvclBvc2l0aW9uKX0uJHtvcmlnaW5hbFZhbHVlLnNsaWNlKFxuICAgICAgICAgICAgY3Vyc29yUG9zaXRpb25cbiAgICAgICAgICApfWBcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSkge1xuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uICsgMSxcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uICsgMVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKS50cmltKCk7XG4gICAgbGV0IHJlZ2V4OiBzdHJpbmcgPSB0aGlzLl9pbnRlZ2VyVW5zaWduZWQ7XG4gICAgaWYgKCF0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2ludGVnZXJVbnNpZ25lZDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmFsbG93RGVjaW1hbHMgJiYgdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5faW50ZWdlclNpZ25lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiAhdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5fZGVjaW1hbFVuc2lnbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0RlY2ltYWxzICYmIHRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2RlY2ltYWxTaWduZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICB2YWx1ZSA9IDAgKyB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KHZhbHVlLmxlbmd0aCAtIDEpO1xuICAgIGlmIChsYXN0Q2hhcmFjdGVyID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUgKyAwO1xuICAgIH1cblxuICAgIGxldCBzaWduZWRWYWx1ZSA9IGZhbHNlO1xuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gdGhpcy5fbWludXNTaWduKSB7XG4gICAgICBzaWduZWRWYWx1ZSA9IHRydWU7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgIH1cbiAgICBsZXQgc2Vjb25kQ2hhciA9IHZhbHVlLmNoYXJBdCgxKTtcbiAgICB3aGlsZSAoXG4gICAgICBmaXJzdENoYXJhY3RlciA9PT0gJzAnICYmXG4gICAgICBzZWNvbmRDaGFyICE9PSAnJyAmJlxuICAgICAgc2Vjb25kQ2hhciAhPT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yXG4gICAgKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgICAgc2Vjb25kQ2hhciA9IHZhbHVlLmNoYXJBdCgxKTtcbiAgICB9XG4gICAgaWYgKHNpZ25lZFZhbHVlID09PSB0cnVlKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuX21pbnVzU2lnbiArIHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlUGFydHMgPSB2YWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIGNvbnN0IG5hdHVyYWxQYXJ0ID0gdmFsdWVQYXJ0cz8uWzBdO1xuICAgIGxldCBkZWNpbWFsUGFydCA9IHZhbHVlUGFydHM/LlsxXTtcblxuICAgIGlmIChkZWNpbWFsUGFydCAhPSBudWxsICYmIC9eMCskLy50ZXN0KGRlY2ltYWxQYXJ0KSkge1xuICAgICAgZGVjaW1hbFBhcnQgPSAnMCc7XG4gICAgICB2YWx1ZSA9IG5hdHVyYWxQYXJ0ICsgJy4nICsgZGVjaW1hbFBhcnQ7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJy0wJykge1xuICAgICAgdmFsdWUgPSAnMCc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJy0wLjAnKSB7XG4gICAgICB2YWx1ZSA9ICcwLjAnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsaWQ6IGJvb2xlYW4gPSBuZXcgUmVnRXhwKHJlZ2V4KS50ZXN0KHZhbHVlLnRvU3RyaW5nKCkpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICB0aGlzLl9jb250cm9sLmNvbnRyb2wucGF0Y2hWYWx1ZShwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBaUI5QixZQUFvQixXQUF5QyxFQUFVLFFBQW1CO1FBQXRFLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFoQmpGLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXRCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXBCLHFCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUM5QixtQkFBYyxHQUFHLFlBQVksQ0FBQztRQUM5QixxQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztRQUN4QyxtQkFBYyxHQUFHLHNCQUFzQixDQUFDO1FBRS9CLGVBQVUsR0FBVyxHQUFHLENBQUM7SUFFbUQsQ0FBQztJQUUxRCxRQUFRLENBQUMsQ0FBTTtRQUNqRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFcUMs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SyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQVksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7OEdBcktVLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt1R0FFVSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQWE4QixRQUFRO3NCQUEzQyxZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPSSxRQUFRO3NCQUE3QyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPRCxPQUFPO3NCQUF6QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRSSxTQUFTO3NCQUE3QyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YU9ubHlOdW1iZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgT25seU51bWJlckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHRldGFPbmx5TnVtYmVyID0gdHJ1ZTtcbiAgQElucHV0KCkgYWxsb3dEZWNpbWFscyA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93U2lnbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3IgPSAnLic7XG4gIEBJbnB1dCgpIGNvbW1hU2VwYXJhdG9yID0gJywnO1xuICBASW5wdXQoKSBvbmx5UG9zaXRpdmUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wcmV2aW91c1ZhbHVlID0gJyc7XG5cbiAgcHJpdmF0ZSBfaW50ZWdlclVuc2lnbmVkID0gJ15bMC05XSokJztcbiAgcHJpdmF0ZSBfaW50ZWdlclNpZ25lZCA9ICdeLT9bMC05XSskJztcbiAgcHJpdmF0ZSBfZGVjaW1hbFVuc2lnbmVkID0gJ15bMC05XSsoLlswLTldKyk/JCc7XG4gIHByaXZhdGUgX2RlY2ltYWxTaWduZWQgPSAnXi0/WzAtOV0rKC5bMC05XSspPyQnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21pbnVzU2lnbjogc3RyaW5nID0gJy0nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sIHByaXZhdGUgX2NvbnRyb2w6IE5nQ29udHJvbCkge31cblxuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudCddKSBvbkNoYW5nZShlOiBhbnkpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkYmxjbGljaycsIFsnJGV2ZW50J10pIGRibGNsaWNrKGU6IGFueSkge1xuICAgIGlmICh0aGlzLnRldGFPbmx5TnVtYmVyID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pIG9uUGFzdGUoZTogYW55KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShlLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY3Vyc29yUG9zaXRpb246IG51bWJlciA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5zZWxlY3Rpb25TdGFydCA/PyAwO1xuICAgIGNvbnN0IG9yaWdpbmFsVmFsdWU6IHN0cmluZyA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICBjb25zdCBjb250cm9sT3JDb21tYW5kID0gZS5jdHJsS2V5ID09PSB0cnVlIHx8IGUubWV0YUtleSA9PT0gdHJ1ZTtcbiAgICBjb25zdCBzaWduRXhpc3RzID0gb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcygnLScpO1xuICAgIGNvbnN0IHNlcGFyYXRvckV4aXN0cyA9XG4gICAgICBvcmlnaW5hbFZhbHVlLmluY2x1ZGVzKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgfHwgb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcyh0aGlzLmNvbW1hU2VwYXJhdG9yKTtcblxuICAgIGNvbnN0IGFsbG93ZWRLZXlzID0gWydCYWNrc3BhY2UnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnRGVsZXRlJywgJ0VzY2FwZScsICdUYWInLCAnSG9tZScsICdFbmQnXTtcblxuICAgIGNvbnN0IHNlcGFyYXRvcklzQ2xvc2VUb1NpZ24gPSBzaWduRXhpc3RzICYmIGN1cnNvclBvc2l0aW9uIDw9IDE7XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiAhc2VwYXJhdG9ySXNDbG9zZVRvU2lnbiAmJiAhc2VwYXJhdG9yRXhpc3RzKSB7XG4gICAgICAvLyBpZiAodGhpcy5kZWNpbWFsU2VwYXJhdG9yID09PSAnLicpIHtcbiAgICAgIGFsbG93ZWRLZXlzLnB1c2goJy4nKTtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAvLyBhbGxvd2VkS2V5cy5wdXNoKCcsJyk7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RDaGFyYWN0ZXJJc1NlcGFyYXRvciA9IG9yaWdpbmFsVmFsdWUuY2hhckF0KDApICE9PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3I7XG4gICAgaWYgKHRoaXMuYWxsb3dTaWduICYmICFzaWduRXhpc3RzICYmIGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgJiYgY3Vyc29yUG9zaXRpb24gPT09IDAgJiYgIXRoaXMub25seVBvc2l0aXZlKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCctJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgYWxsb3dlZEtleXMuaW5kZXhPZihlLmtleSkgIT09IC0xIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5QScgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlDJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleVYnICYmIGNvbnRyb2xPckNvbW1hbmQpIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5WicgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlYJyAmJiBjb250cm9sT3JDb21tYW5kKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gb3JpZ2luYWxWYWx1ZTtcblxuICAgIGNvbnN0IGlzTnVtYmVyID0gbmV3IFJlZ0V4cCh0aGlzLl9pbnRlZ2VyVW5zaWduZWQpLnRlc3QoZS5rZXkpO1xuICAgIGlmIChpc051bWJlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZS5rZXkgPT09ICcsJyAmJiBvcmlnaW5hbFZhbHVlLmluZGV4T2YoJy4nKSA8IDApIHtcbiAgICAgICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID1cbiAgICAgICAgLy8gICBgJHtvcmlnaW5hbFZhbHVlLnNsaWNlKDAsIGN1cnNvclBvc2l0aW9uKX0uJHtvcmlnaW5hbFZhbHVlLnNsaWNlKGN1cnNvclBvc2l0aW9uKX1gO1xuICAgICAgICB0aGlzLl9jb250cm9sLmNvbnRyb2wucGF0Y2hWYWx1ZShcbiAgICAgICAgICBgJHtvcmlnaW5hbFZhbHVlLnNsaWNlKDAsIGN1cnNvclBvc2l0aW9uKX0uJHtvcmlnaW5hbFZhbHVlLnNsaWNlKGN1cnNvclBvc2l0aW9uKX1gXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UpIHtcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb24gKyAxLCBjdXJzb3JQb3NpdGlvbiArIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnLCcsICcuJykudHJpbSgpO1xuICAgIGxldCByZWdleDogc3RyaW5nID0gdGhpcy5faW50ZWdlclVuc2lnbmVkO1xuICAgIGlmICghdGhpcy5hbGxvd0RlY2ltYWxzICYmICF0aGlzLmFsbG93U2lnbikge1xuICAgICAgcmVnZXggPSB0aGlzLl9pbnRlZ2VyVW5zaWduZWQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5hbGxvd0RlY2ltYWxzICYmIHRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2ludGVnZXJTaWduZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2RlY2ltYWxVbnNpZ25lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiB0aGlzLmFsbG93U2lnbikge1xuICAgICAgcmVnZXggPSB0aGlzLl9kZWNpbWFsU2lnbmVkO1xuICAgIH1cblxuICAgIGxldCBmaXJzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCgwKTtcbiAgICBpZiAoZmlyc3RDaGFyYWN0ZXIgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgdmFsdWUgPSAwICsgdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCh2YWx1ZS5sZW5ndGggLSAxKTtcbiAgICBpZiAobGFzdENoYXJhY3RlciA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlICsgMDtcbiAgICB9XG5cbiAgICBsZXQgc2lnbmVkVmFsdWUgPSBmYWxzZTtcbiAgICBpZiAoZmlyc3RDaGFyYWN0ZXIgPT09IHRoaXMuX21pbnVzU2lnbikge1xuICAgICAgc2lnbmVkVmFsdWUgPSB0cnVlO1xuICAgICAgdmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcoMSk7XG4gICAgICBmaXJzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCgwKTtcbiAgICB9XG4gICAgbGV0IHNlY29uZENoYXIgPSB2YWx1ZS5jaGFyQXQoMSk7XG4gICAgd2hpbGUgKGZpcnN0Q2hhcmFjdGVyID09PSAnMCcgJiYgc2Vjb25kQ2hhciAhPT0gJycgJiYgc2Vjb25kQ2hhciAhPT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgICAgc2Vjb25kQ2hhciA9IHZhbHVlLmNoYXJBdCgxKTtcbiAgICB9XG4gICAgaWYgKHNpZ25lZFZhbHVlID09PSB0cnVlKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuX21pbnVzU2lnbiArIHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlUGFydHMgPSB2YWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIGNvbnN0IG5hdHVyYWxQYXJ0ID0gdmFsdWVQYXJ0cz8uWzBdO1xuICAgIGxldCBkZWNpbWFsUGFydCA9IHZhbHVlUGFydHM/LlsxXTtcblxuICAgIGlmIChkZWNpbWFsUGFydCAhPSBudWxsICYmIC9eMCskLy50ZXN0KGRlY2ltYWxQYXJ0KSkge1xuICAgICAgZGVjaW1hbFBhcnQgPSAnMCc7XG4gICAgICB2YWx1ZSA9IG5hdHVyYWxQYXJ0ICsgJy4nICsgZGVjaW1hbFBhcnQ7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJy0wJykge1xuICAgICAgdmFsdWUgPSAnMCc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJy0wLjAnKSB7XG4gICAgICB2YWx1ZSA9ICcwLjAnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsaWQ6IGJvb2xlYW4gPSBuZXcgUmVnRXhwKHJlZ2V4KS50ZXN0KHZhbHVlLnRvU3RyaW5nKCkpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICB0aGlzLl9jb250cm9sLmNvbnRyb2wucGF0Y2hWYWx1ZShwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -3894,6 +3894,7 @@ class OnlyNumberDirective {
|
|
|
3894
3894
|
this.allowSign = true;
|
|
3895
3895
|
this.decimalSeparator = '.';
|
|
3896
3896
|
this.commaSeparator = ',';
|
|
3897
|
+
this.onlyPositive = false;
|
|
3897
3898
|
this._previousValue = '';
|
|
3898
3899
|
this._integerUnsigned = '^[0-9]*$';
|
|
3899
3900
|
this._integerSigned = '^-?[0-9]+$';
|
|
@@ -3928,18 +3929,8 @@ class OnlyNumberDirective {
|
|
|
3928
3929
|
const originalValue = e.target.value;
|
|
3929
3930
|
const controlOrCommand = e.ctrlKey === true || e.metaKey === true;
|
|
3930
3931
|
const signExists = originalValue.includes('-');
|
|
3931
|
-
const separatorExists = originalValue.includes(this.decimalSeparator) ||
|
|
3932
|
-
|
|
3933
|
-
const allowedKeys = [
|
|
3934
|
-
'Backspace',
|
|
3935
|
-
'ArrowLeft',
|
|
3936
|
-
'ArrowRight',
|
|
3937
|
-
'Delete',
|
|
3938
|
-
'Escape',
|
|
3939
|
-
'Tab',
|
|
3940
|
-
'Home',
|
|
3941
|
-
'End',
|
|
3942
|
-
];
|
|
3932
|
+
const separatorExists = originalValue.includes(this.decimalSeparator) || originalValue.includes(this.commaSeparator);
|
|
3933
|
+
const allowedKeys = ['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Escape', 'Tab', 'Home', 'End'];
|
|
3943
3934
|
const separatorIsCloseToSign = signExists && cursorPosition <= 1;
|
|
3944
3935
|
if (this.allowDecimals && !separatorIsCloseToSign && !separatorExists) {
|
|
3945
3936
|
// if (this.decimalSeparator === '.') {
|
|
@@ -3949,10 +3940,7 @@ class OnlyNumberDirective {
|
|
|
3949
3940
|
// }
|
|
3950
3941
|
}
|
|
3951
3942
|
const firstCharacterIsSeparator = originalValue.charAt(0) !== this.decimalSeparator;
|
|
3952
|
-
if (this.allowSign &&
|
|
3953
|
-
!signExists &&
|
|
3954
|
-
firstCharacterIsSeparator &&
|
|
3955
|
-
cursorPosition === 0) {
|
|
3943
|
+
if (this.allowSign && !signExists && firstCharacterIsSeparator && cursorPosition === 0 && !this.onlyPositive) {
|
|
3956
3944
|
allowedKeys.push('-');
|
|
3957
3945
|
}
|
|
3958
3946
|
if (allowedKeys.indexOf(e.key) !== -1 ||
|
|
@@ -4013,9 +4001,7 @@ class OnlyNumberDirective {
|
|
|
4013
4001
|
firstCharacter = value.charAt(0);
|
|
4014
4002
|
}
|
|
4015
4003
|
let secondChar = value.charAt(1);
|
|
4016
|
-
while (firstCharacter === '0' &&
|
|
4017
|
-
secondChar !== '' &&
|
|
4018
|
-
secondChar !== this.decimalSeparator) {
|
|
4004
|
+
while (firstCharacter === '0' && secondChar !== '' && secondChar !== this.decimalSeparator) {
|
|
4019
4005
|
value = value.substring(1);
|
|
4020
4006
|
firstCharacter = value.charAt(0);
|
|
4021
4007
|
secondChar = value.charAt(1);
|
|
@@ -4045,7 +4031,7 @@ class OnlyNumberDirective {
|
|
|
4045
4031
|
}
|
|
4046
4032
|
}
|
|
4047
4033
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: OnlyNumberDirective, deps: [{ token: i0.ElementRef }, { token: i2.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4048
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: OnlyNumberDirective, isStandalone: true, selector: "[tetaOnlyNumber]", inputs: { tetaOnlyNumber: "tetaOnlyNumber", allowDecimals: "allowDecimals", allowSign: "allowSign", decimalSeparator: "decimalSeparator", commaSeparator: "commaSeparator" }, host: { listeners: { "change": "onChange($event)", "dblclick": "dblclick($event)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
4034
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: OnlyNumberDirective, isStandalone: true, selector: "[tetaOnlyNumber]", inputs: { tetaOnlyNumber: "tetaOnlyNumber", allowDecimals: "allowDecimals", allowSign: "allowSign", decimalSeparator: "decimalSeparator", commaSeparator: "commaSeparator", onlyPositive: "onlyPositive" }, host: { listeners: { "change": "onChange($event)", "dblclick": "dblclick($event)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
4049
4035
|
}
|
|
4050
4036
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: OnlyNumberDirective, decorators: [{
|
|
4051
4037
|
type: Directive,
|
|
@@ -4063,6 +4049,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
4063
4049
|
type: Input
|
|
4064
4050
|
}], commaSeparator: [{
|
|
4065
4051
|
type: Input
|
|
4052
|
+
}], onlyPositive: [{
|
|
4053
|
+
type: Input
|
|
4066
4054
|
}], onChange: [{
|
|
4067
4055
|
type: HostListener,
|
|
4068
4056
|
args: ['change', ['$event']]
|
|
@@ -4123,7 +4111,7 @@ class TextFieldComponent {
|
|
|
4123
4111
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
4124
4112
|
multi: true,
|
|
4125
4113
|
},
|
|
4126
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (leftIconName) {\n <teta-icon [name]='leftIconName' [palette]=\"'text'\"></teta-icon>\n}\n<input\n #input\n [ngModel]='value | tetaNumber : !onlyNumber ? null : inputFocused ? 1000 : decimalPart'\n [tetaOnlyNumber]='onlyNumber'\n (ngModelChange)='value = $event; onChange($event);'\n [placeholder]='placeholder'\n [disabled]='disabled'\n [ngClass]=\"{'color-text-40':disabled}\"\n (focus)='inputFocused = true'\n (blur)='inputFocused = false;emitBlur()'\n (keydown)='keyPress($event)'\n type='text'\n />\n @if (value && !disabled) {\n <teta-icon\n class='close-icon'\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('');\"\n ></teta-icon>\n }\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4114
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (leftIconName) {\n <teta-icon [name]='leftIconName' [palette]=\"'text'\"></teta-icon>\n}\n<input\n #input\n [ngModel]='value | tetaNumber : !onlyNumber ? null : inputFocused ? 1000 : decimalPart'\n [tetaOnlyNumber]='onlyNumber'\n (ngModelChange)='value = $event; onChange($event);'\n [placeholder]='placeholder'\n [disabled]='disabled'\n [ngClass]=\"{'color-text-40':disabled}\"\n (focus)='inputFocused = true'\n (blur)='inputFocused = false;emitBlur()'\n (keydown)='keyPress($event)'\n type='text'\n />\n @if (value && !disabled) {\n <teta-icon\n class='close-icon'\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('');\"\n ></teta-icon>\n }\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4127
4115
|
}
|
|
4128
4116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
4129
4117
|
type: Component,
|
|
@@ -4292,7 +4280,7 @@ class NumericFilterComponent extends FilterComponentBase {
|
|
|
4292
4280
|
return filter;
|
|
4293
4281
|
}
|
|
4294
4282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4295
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericFilterComponent, isStandalone: true, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"/>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan=$event\"/>\n </teta-input>\n </div>\n }\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4283
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericFilterComponent, isStandalone: true, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"/>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan=$event\"/>\n </teta-input>\n </div>\n }\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4296
4284
|
}
|
|
4297
4285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericFilterComponent, decorators: [{
|
|
4298
4286
|
type: Component,
|
|
@@ -8114,7 +8102,7 @@ class NumericCellComponent extends CellComponentBase {
|
|
|
8114
8102
|
this.cdr.markForCheck();
|
|
8115
8103
|
}
|
|
8116
8104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericCellComponent, isStandalone: true, selector: "teta-numeric-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{control?.value | tetaNumber : 2}}\n</span>\n@if (edit) {\n <input #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)='input.blur()'\n [formControl]=\"control\"/>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NumericCellComponent, isStandalone: true, selector: "teta-numeric-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{control?.value | tetaNumber : 2}}\n</span>\n@if (edit) {\n <input #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)='input.blur()'\n [formControl]=\"control\"/>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8118
8106
|
}
|
|
8119
8107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NumericCellComponent, decorators: [{
|
|
8120
8108
|
type: Component,
|