@tetacom/ng-components 1.0.123 → 1.0.125
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/component/input/input.module.d.ts +2 -1
- package/component/input/text-field/text-field.component.d.ts +3 -1
- package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +2 -1
- package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +2 -1
- package/component/property-grid/property-grid/property-grid.component.d.ts +2 -1
- package/esm2020/component/filter/list-filter/list-filter.component.mjs +1 -1
- package/esm2020/component/input/input.module.mjs +5 -4
- package/esm2020/component/input/text-field/text-field.component.mjs +7 -4
- package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +5 -3
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +7 -6
- package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +5 -3
- package/esm2020/component/select/select/select.component.mjs +1 -1
- package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +1 -1
- package/esm2020/directive/only-number/only-number.directive.mjs +7 -3
- package/esm2020/pipe/number-pipe/number.pipe.mjs +4 -1
- package/esm2020/util/forms-util.mjs +6 -2
- package/fesm2015/tetacom-ng-components.mjs +75 -58
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +75 -58
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -80,8 +80,12 @@ export class OnlyNumberDirective {
|
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
if (e.key === ',' && originalValue.indexOf('.') < 0) {
|
|
83
|
-
this._elementRef.nativeElement.value =
|
|
84
|
-
|
|
83
|
+
// this._elementRef.nativeElement.value =
|
|
84
|
+
// `${originalValue.slice(0, cursorPosition)}.${originalValue.slice(cursorPosition)}`;
|
|
85
|
+
this._control.control.patchValue(`${originalValue.slice(0, cursorPosition)}.${originalValue.slice(cursorPosition)}`);
|
|
86
|
+
if (this._elementRef.nativeElement.setSelectionRange) {
|
|
87
|
+
this._elementRef.nativeElement.setSelectionRange(cursorPosition + 1, cursorPosition + 1);
|
|
88
|
+
}
|
|
85
89
|
}
|
|
86
90
|
e.preventDefault();
|
|
87
91
|
}
|
|
@@ -182,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
182
186
|
type: HostListener,
|
|
183
187
|
args: ['keydown', ['$event']]
|
|
184
188
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFNekUsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFBb0IsV0FBdUIsRUFBVSxRQUFtQjtRQUFwRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFmL0QsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIscUJBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsWUFBWSxDQUFDO1FBQzlCLHFCQUFnQixHQUFHLG9CQUFvQixDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsc0JBQXNCLENBQUM7UUFFL0IsZUFBVSxHQUFXLEdBQUcsQ0FBQztJQUcxQyxDQUFDO0lBRW1DLFFBQVEsQ0FBQyxDQUFNO1FBQ2pELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRWtDLE9BQU8sQ0FBQyxDQUFNO1FBQy9DLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEs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dGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YU9ubHlOdW1iZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgT25seU51bWJlckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHRldGFPbmx5TnVtYmVyID0gdHJ1ZTtcbiAgQElucHV0KCkgYWxsb3dEZWNpbWFscyA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93U2lnbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3IgPSAnLic7XG4gIEBJbnB1dCgpIGNvbW1hU2VwYXJhdG9yID0gJywnO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzVmFsdWUgPSAnJztcblxuICBwcml2YXRlIF9pbnRlZ2VyVW5zaWduZWQgPSAnXlswLTldKiQnO1xuICBwcml2YXRlIF9pbnRlZ2VyU2lnbmVkID0gJ14tP1swLTldKyQnO1xuICBwcml2YXRlIF9kZWNpbWFsVW5zaWduZWQgPSAnXlswLTldKyguWzAtOV0rKT8kJztcbiAgcHJpdmF0ZSBfZGVjaW1hbFNpZ25lZCA9ICdeLT9bMC05XSsoLlswLTldKyk/JCc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWludXNTaWduOiBzdHJpbmcgPSAnLSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfY29udHJvbDogTmdDb250cm9sKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudCddKSBvbkNoYW5nZShlOiBhbnkpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pIG9uUGFzdGUoZTogYW55KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShlLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY3Vyc29yUG9zaXRpb246IG51bWJlciA9XG4gICAgICAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuc2VsZWN0aW9uU3RhcnQgPz8gMDtcbiAgICBjb25zdCBvcmlnaW5hbFZhbHVlOiBzdHJpbmcgPSAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgY29uc3QgY29udHJvbE9yQ29tbWFuZCA9IGUuY3RybEtleSA9PT0gdHJ1ZSB8fCBlLm1ldGFLZXkgPT09IHRydWU7XG4gICAgY29uc3Qgc2lnbkV4aXN0cyA9IG9yaWdpbmFsVmFsdWUuaW5jbHVkZXMoJy0nKTtcbiAgICBjb25zdCBzZXBhcmF0b3JFeGlzdHMgPVxuICAgICAgb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcyh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHx8XG4gICAgICBvcmlnaW5hbFZhbHVlLmluY2x1ZGVzKHRoaXMuY29tbWFTZXBhcmF0b3IpO1xuXG4gICAgY29uc3QgYWxsb3dlZEtleXMgPSBbXG4gICAgICAnQmFja3NwYWNlJyxcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0RlbGV0ZScsXG4gICAgICAnRXNjYXBlJyxcbiAgICAgICdUYWInLFxuICAgICAgJ0hvbWUnLFxuICAgICAgJ0VuZCcsXG4gICAgXTtcblxuICAgIGNvbnN0IHNlcGFyYXRvcklzQ2xvc2VUb1NpZ24gPSBzaWduRXhpc3RzICYmIGN1cnNvclBvc2l0aW9uIDw9IDE7XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiAhc2VwYXJhdG9ySXNDbG9zZVRvU2lnbiAmJiAhc2VwYXJhdG9yRXhpc3RzKSB7XG4gICAgICAvLyBpZiAodGhpcy5kZWNpbWFsU2VwYXJhdG9yID09PSAnLicpIHtcbiAgICAgIGFsbG93ZWRLZXlzLnB1c2goJy4nKTtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAvLyBhbGxvd2VkS2V5cy5wdXNoKCcsJyk7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RDaGFyYWN0ZXJJc1NlcGFyYXRvciA9XG4gICAgICBvcmlnaW5hbFZhbHVlLmNoYXJBdCgwKSAhPT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yO1xuICAgIGlmIChcbiAgICAgIHRoaXMuYWxsb3dTaWduICYmXG4gICAgICAhc2lnbkV4aXN0cyAmJlxuICAgICAgZmlyc3RDaGFyYWN0ZXJJc1NlcGFyYXRvciAmJlxuICAgICAgY3Vyc29yUG9zaXRpb24gPT09IDBcbiAgICApIHtcbiAgICAgIGFsbG93ZWRLZXlzLnB1c2goJy0nKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBhbGxvd2VkS2V5cy5pbmRleE9mKGUua2V5KSAhPT0gLTEgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlBJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleUMnICYmIGNvbnRyb2xPckNvbW1hbmQpIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5VicgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlaJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleVgnICYmIGNvbnRyb2xPckNvbW1hbmQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3ByZXZpb3VzVmFsdWUgPSBvcmlnaW5hbFZhbHVlO1xuXG4gICAgY29uc3QgaXNOdW1iZXIgPSBuZXcgUmVnRXhwKHRoaXMuX2ludGVnZXJVbnNpZ25lZCkudGVzdChlLmtleSk7XG4gICAgaWYgKGlzTnVtYmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChlLmtleSA9PT0gJywnICYmIG9yaWdpbmFsVmFsdWUuaW5kZXhPZignLicpIDwgMCkge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPVxuICAgICAgICAgIGAke29yaWdpbmFsVmFsdWUuc2xpY2UoMCwgY3Vyc29yUG9zaXRpb24pfS4ke29yaWdpbmFsVmFsdWUuc2xpY2UoY3Vyc29yUG9zaXRpb24pfWA7XG4gICAgICB9XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnLCcsICcuJykudHJpbSgpO1xuICAgIGxldCByZWdleDogc3RyaW5nID0gdGhpcy5faW50ZWdlclVuc2lnbmVkO1xuICAgIGlmICghdGhpcy5hbGxvd0RlY2ltYWxzICYmICF0aGlzLmFsbG93U2lnbikge1xuICAgICAgcmVnZXggPSB0aGlzLl9pbnRlZ2VyVW5zaWduZWQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5hbGxvd0RlY2ltYWxzICYmIHRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2ludGVnZXJTaWduZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2RlY2ltYWxVbnNpZ25lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiB0aGlzLmFsbG93U2lnbikge1xuICAgICAgcmVnZXggPSB0aGlzLl9kZWNpbWFsU2lnbmVkO1xuICAgIH1cblxuICAgIGxldCBmaXJzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCgwKTtcbiAgICBpZiAoZmlyc3RDaGFyYWN0ZXIgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgdmFsdWUgPSAwICsgdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCh2YWx1ZS5sZW5ndGggLSAxKTtcbiAgICBpZiAobGFzdENoYXJhY3RlciA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlICsgMDtcbiAgICB9XG5cbiAgICBsZXQgc2lnbmVkVmFsdWUgPSBmYWxzZTtcbiAgICBpZiAoZmlyc3RDaGFyYWN0ZXIgPT09IHRoaXMuX21pbnVzU2lnbikge1xuICAgICAgc2lnbmVkVmFsdWUgPSB0cnVlO1xuICAgICAgdmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcoMSk7XG4gICAgICBmaXJzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCgwKTtcbiAgICB9XG4gICAgbGV0IHNlY29uZENoYXIgPSB2YWx1ZS5jaGFyQXQoMSk7XG4gICAgd2hpbGUgKFxuICAgICAgZmlyc3RDaGFyYWN0ZXIgPT09ICcwJyAmJlxuICAgICAgc2Vjb25kQ2hhciAhPT0gJycgJiZcbiAgICAgIHNlY29uZENoYXIgIT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvclxuICAgICAgKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgICAgc2Vjb25kQ2hhciA9IHZhbHVlLmNoYXJBdCgxKTtcbiAgICB9XG4gICAgaWYgKHNpZ25lZFZhbHVlID09PSB0cnVlKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuX21pbnVzU2lnbiArIHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlUGFydHMgPSB2YWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIGNvbnN0IG5hdHVyYWxQYXJ0ID0gdmFsdWVQYXJ0cz8uWzBdO1xuICAgIGxldCBkZWNpbWFsUGFydCA9IHZhbHVlUGFydHM/LlsxXTtcblxuICAgIGlmIChkZWNpbWFsUGFydCAhPSBudWxsICYmIC9eMCskLy50ZXN0KGRlY2ltYWxQYXJ0KSkge1xuICAgICAgZGVjaW1hbFBhcnQgPSAnMCc7XG4gICAgICB2YWx1ZSA9IG5hdHVyYWxQYXJ0ICsgJy4nICsgZGVjaW1hbFBhcnQ7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJy0wJykge1xuICAgICAgdmFsdWUgPSAnMCc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJy0wLjAnKSB7XG4gICAgICB2YWx1ZSA9ICcwLjAnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsaWQ6IGJvb2xlYW4gPSBuZXcgUmVnRXhwKHJlZ2V4KS50ZXN0KHZhbHVlLnRvU3RyaW5nKCkpO1xuXG4gICAgLy8gaWYgKHZhbGlkICYmIHZhbHVlLnRvU3RyaW5nKCkgIT09IHRoaXMuX2NvbnRyb2wuY29udHJvbC52YWx1ZS50b1N0cmluZygpKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZyh2YWx1ZSwgcGFyc2VGbG9hdCh2YWx1ZSkpO1xuICAgIC8vICAgdGhpcy5fY29udHJvbC5jb250cm9sLnBhdGNoVmFsdWUocGFyc2VGbG9hdCh2YWx1ZSkpO1xuICAgIC8vIH1cbiAgICBpZiAodmFsaWQpIHtcbiAgICAgIHRoaXMuX2NvbnRyb2wuY29udHJvbC5wYXRjaFZhbHVlKHBhcnNlRmxvYXQodmFsdWUpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFNekUsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFBb0IsV0FBdUIsRUFBVSxRQUFtQjtRQUFwRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFmL0QsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIscUJBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsWUFBWSxDQUFDO1FBQzlCLHFCQUFnQixHQUFHLG9CQUFvQixDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsc0JBQXNCLENBQUM7UUFFL0IsZUFBVSxHQUFXLEdBQUcsQ0FBQztJQUcxQyxDQUFDO0lBRW1DLFFBQVEsQ0FBQyxDQUFNO1FBQ2pELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRWtDLE9BQU8sQ0FBQyxDQUFNO1FBQy9DLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEs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QkFBdEIsS0FBSztnQkFjOEIsUUFBUTtzQkFBM0MsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT0MsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUUksU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YU9ubHlOdW1iZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgT25seU51bWJlckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHRldGFPbmx5TnVtYmVyID0gdHJ1ZTtcbiAgQElucHV0KCkgYWxsb3dEZWNpbWFscyA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93U2lnbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3IgPSAnLic7XG4gIEBJbnB1dCgpIGNvbW1hU2VwYXJhdG9yID0gJywnO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzVmFsdWUgPSAnJztcblxuICBwcml2YXRlIF9pbnRlZ2VyVW5zaWduZWQgPSAnXlswLTldKiQnO1xuICBwcml2YXRlIF9pbnRlZ2VyU2lnbmVkID0gJ14tP1swLTldKyQnO1xuICBwcml2YXRlIF9kZWNpbWFsVW5zaWduZWQgPSAnXlswLTldKyguWzAtOV0rKT8kJztcbiAgcHJpdmF0ZSBfZGVjaW1hbFNpZ25lZCA9ICdeLT9bMC05XSsoLlswLTldKyk/JCc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWludXNTaWduOiBzdHJpbmcgPSAnLSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfY29udHJvbDogTmdDb250cm9sKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudCddKSBvbkNoYW5nZShlOiBhbnkpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pIG9uUGFzdGUoZTogYW55KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShlLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY3Vyc29yUG9zaXRpb246IG51bWJlciA9XG4gICAgICAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuc2VsZWN0aW9uU3RhcnQgPz8gMDtcbiAgICBjb25zdCBvcmlnaW5hbFZhbHVlOiBzdHJpbmcgPSAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgY29uc3QgY29udHJvbE9yQ29tbWFuZCA9IGUuY3RybEtleSA9PT0gdHJ1ZSB8fCBlLm1ldGFLZXkgPT09IHRydWU7XG4gICAgY29uc3Qgc2lnbkV4aXN0cyA9IG9yaWdpbmFsVmFsdWUuaW5jbHVkZXMoJy0nKTtcbiAgICBjb25zdCBzZXBhcmF0b3JFeGlzdHMgPVxuICAgICAgb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcyh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHx8XG4gICAgICBvcmlnaW5hbFZhbHVlLmluY2x1ZGVzKHRoaXMuY29tbWFTZXBhcmF0b3IpO1xuXG4gICAgY29uc3QgYWxsb3dlZEtleXMgPSBbXG4gICAgICAnQmFja3NwYWNlJyxcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0RlbGV0ZScsXG4gICAgICAnRXNjYXBlJyxcbiAgICAgICdUYWInLFxuICAgICAgJ0hvbWUnLFxuICAgICAgJ0VuZCcsXG4gICAgXTtcblxuICAgIGNvbnN0IHNlcGFyYXRvcklzQ2xvc2VUb1NpZ24gPSBzaWduRXhpc3RzICYmIGN1cnNvclBvc2l0aW9uIDw9IDE7XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiAhc2VwYXJhdG9ySXNDbG9zZVRvU2lnbiAmJiAhc2VwYXJhdG9yRXhpc3RzKSB7XG4gICAgICAvLyBpZiAodGhpcy5kZWNpbWFsU2VwYXJhdG9yID09PSAnLicpIHtcbiAgICAgIGFsbG93ZWRLZXlzLnB1c2goJy4nKTtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAvLyBhbGxvd2VkS2V5cy5wdXNoKCcsJyk7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RDaGFyYWN0ZXJJc1NlcGFyYXRvciA9XG4gICAgICBvcmlnaW5hbFZhbHVlLmNoYXJBdCgwKSAhPT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yO1xuICAgIGlmIChcbiAgICAgIHRoaXMuYWxsb3dTaWduICYmXG4gICAgICAhc2lnbkV4aXN0cyAmJlxuICAgICAgZmlyc3RDaGFyYWN0ZXJJc1NlcGFyYXRvciAmJlxuICAgICAgY3Vyc29yUG9zaXRpb24gPT09IDBcbiAgICApIHtcbiAgICAgIGFsbG93ZWRLZXlzLnB1c2goJy0nKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBhbGxvd2VkS2V5cy5pbmRleE9mKGUua2V5KSAhPT0gLTEgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlBJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleUMnICYmIGNvbnRyb2xPckNvbW1hbmQpIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5VicgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlaJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleVgnICYmIGNvbnRyb2xPckNvbW1hbmQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3ByZXZpb3VzVmFsdWUgPSBvcmlnaW5hbFZhbHVlO1xuXG4gICAgY29uc3QgaXNOdW1iZXIgPSBuZXcgUmVnRXhwKHRoaXMuX2ludGVnZXJVbnNpZ25lZCkudGVzdChlLmtleSk7XG4gICAgaWYgKGlzTnVtYmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChlLmtleSA9PT0gJywnICYmIG9yaWdpbmFsVmFsdWUuaW5kZXhPZignLicpIDwgMCkge1xuICAgICAgICAvLyB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPVxuICAgICAgICAvLyAgIGAke29yaWdpbmFsVmFsdWUuc2xpY2UoMCwgY3Vyc29yUG9zaXRpb24pfS4ke29yaWdpbmFsVmFsdWUuc2xpY2UoY3Vyc29yUG9zaXRpb24pfWA7XG4gICAgICAgIHRoaXMuX2NvbnRyb2wuY29udHJvbC5wYXRjaFZhbHVlKFxuICAgICAgICAgIGAke29yaWdpbmFsVmFsdWUuc2xpY2UoMCwgY3Vyc29yUG9zaXRpb24pfS4ke29yaWdpbmFsVmFsdWUuc2xpY2UoY3Vyc29yUG9zaXRpb24pfWApO1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKSB7XG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGN1cnNvclBvc2l0aW9uICsgMSwgY3Vyc29yUG9zaXRpb24gKyAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRldGFPbmx5TnVtYmVyID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoJywnLCAnLicpLnRyaW0oKTtcbiAgICBsZXQgcmVnZXg6IHN0cmluZyA9IHRoaXMuX2ludGVnZXJVbnNpZ25lZDtcbiAgICBpZiAoIXRoaXMuYWxsb3dEZWNpbWFscyAmJiAhdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5faW50ZWdlclVuc2lnbmVkO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWxsb3dEZWNpbWFscyAmJiB0aGlzLmFsbG93U2lnbikge1xuICAgICAgcmVnZXggPSB0aGlzLl9pbnRlZ2VyU2lnbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0RlY2ltYWxzICYmICF0aGlzLmFsbG93U2lnbikge1xuICAgICAgcmVnZXggPSB0aGlzLl9kZWNpbWFsVW5zaWduZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbHMgJiYgdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5fZGVjaW1hbFNpZ25lZDtcbiAgICB9XG5cbiAgICBsZXQgZmlyc3RDaGFyYWN0ZXIgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgaWYgKGZpcnN0Q2hhcmFjdGVyID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgIHZhbHVlID0gMCArIHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RDaGFyYWN0ZXIgPSB2YWx1ZS5jaGFyQXQodmFsdWUubGVuZ3RoIC0gMSk7XG4gICAgaWYgKGxhc3RDaGFyYWN0ZXIgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgdmFsdWUgPSB2YWx1ZSArIDA7XG4gICAgfVxuXG4gICAgbGV0IHNpZ25lZFZhbHVlID0gZmFsc2U7XG4gICAgaWYgKGZpcnN0Q2hhcmFjdGVyID09PSB0aGlzLl9taW51c1NpZ24pIHtcbiAgICAgIHNpZ25lZFZhbHVlID0gdHJ1ZTtcbiAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDEpO1xuICAgICAgZmlyc3RDaGFyYWN0ZXIgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgfVxuICAgIGxldCBzZWNvbmRDaGFyID0gdmFsdWUuY2hhckF0KDEpO1xuICAgIHdoaWxlIChcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID09PSAnMCcgJiZcbiAgICAgIHNlY29uZENoYXIgIT09ICcnICYmXG4gICAgICBzZWNvbmRDaGFyICE9PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3JcbiAgICAgICkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcoMSk7XG4gICAgICBmaXJzdENoYXJhY3RlciA9IHZhbHVlLmNoYXJBdCgwKTtcbiAgICAgIHNlY29uZENoYXIgPSB2YWx1ZS5jaGFyQXQoMSk7XG4gICAgfVxuICAgIGlmIChzaWduZWRWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgdmFsdWUgPSB0aGlzLl9taW51c1NpZ24gKyB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVBhcnRzID0gdmFsdWUuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICBjb25zdCBuYXR1cmFsUGFydCA9IHZhbHVlUGFydHM/LlswXTtcbiAgICBsZXQgZGVjaW1hbFBhcnQgPSB2YWx1ZVBhcnRzPy5bMV07XG5cbiAgICBpZiAoZGVjaW1hbFBhcnQgIT0gbnVsbCAmJiAvXjArJC8udGVzdChkZWNpbWFsUGFydCkpIHtcbiAgICAgIGRlY2ltYWxQYXJ0ID0gJzAnO1xuICAgICAgdmFsdWUgPSBuYXR1cmFsUGFydCArICcuJyArIGRlY2ltYWxQYXJ0O1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09ICctMCcpIHtcbiAgICAgIHZhbHVlID0gJzAnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09ICctMC4wJykge1xuICAgICAgdmFsdWUgPSAnMC4wJztcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gbmV3IFJlZ0V4cChyZWdleCkudGVzdCh2YWx1ZS50b1N0cmluZygpKTtcblxuICAgIC8vIGlmICh2YWxpZCAmJiB2YWx1ZS50b1N0cmluZygpICE9PSB0aGlzLl9jb250cm9sLmNvbnRyb2wudmFsdWUudG9TdHJpbmcoKSkge1xuICAgIC8vICAgY29uc29sZS5sb2codmFsdWUsIHBhcnNlRmxvYXQodmFsdWUpKTtcbiAgICAvLyAgIHRoaXMuX2NvbnRyb2wuY29udHJvbC5wYXRjaFZhbHVlKHBhcnNlRmxvYXQodmFsdWUpKTtcbiAgICAvLyB9XG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICB0aGlzLl9jb250cm9sLmNvbnRyb2wucGF0Y2hWYWx1ZShwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -9,6 +9,9 @@ export class NumberPipe {
|
|
|
9
9
|
if (typeof value === 'string' && isNaN(parseFloat(value))) {
|
|
10
10
|
return value.toString();
|
|
11
11
|
}
|
|
12
|
+
if (decimalLength === null) {
|
|
13
|
+
return value.toString();
|
|
14
|
+
}
|
|
12
15
|
value = Number(value);
|
|
13
16
|
return formatNumber(value, decimalLength, chunkDelimiter, decimalDelimiter, chunkLength);
|
|
14
17
|
}
|
|
@@ -21,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
21
24
|
name: 'tetaNumber'
|
|
22
25
|
}]
|
|
23
26
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGlwZS9udW1iZXItcGlwZS9udW1iZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBS25ELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FBQyxLQUFzQixFQUN0QixnQkFBd0IsQ0FBQyxFQUN6QixpQkFBeUIsRUFBRSxFQUMzQixtQkFBMkIsR0FBRyxFQUM5QixjQUFzQixDQUFDO1FBQy9CLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDekQsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN6RCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN6QjtRQUNELElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtZQUMxQixPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN6QjtRQUNELEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUN2QixhQUFhLEVBQ2IsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLENBQUMsQ0FBQztJQUNqQixDQUFDOzt1R0FyQlUsVUFBVTtxR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Zm9ybWF0TnVtYmVyfSBmcm9tICcuLi91dGlsL251bWJlci1oZWxwZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0ZXRhTnVtYmVyJ1xufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgICAgICAgICAgZGVjaW1hbExlbmd0aDogbnVtYmVyID0gMixcbiAgICAgICAgICAgIGNodW5rRGVsaW1pdGVyOiBzdHJpbmcgPSAnJyxcbiAgICAgICAgICAgIGRlY2ltYWxEZWxpbWl0ZXI6IHN0cmluZyA9ICcuJyxcbiAgICAgICAgICAgIGNodW5rTGVuZ3RoOiBudW1iZXIgPSAzKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgaXNOYU4ocGFyc2VGbG9hdCh2YWx1ZSkpKSB7XG4gICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKGRlY2ltYWxMZW5ndGggPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xuICAgIH1cbiAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gICAgcmV0dXJuIGZvcm1hdE51bWJlcih2YWx1ZSxcbiAgICAgIGRlY2ltYWxMZW5ndGgsXG4gICAgICBjaHVua0RlbGltaXRlcixcbiAgICAgIGRlY2ltYWxEZWxpbWl0ZXIsXG4gICAgICBjaHVua0xlbmd0aCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { UntypedFormControl, UntypedFormGroup, Validators, } from '@angular/forms';
|
|
2
2
|
import { ArrayUtil } from '../common/util/array-util';
|
|
3
|
+
import { FilterType } from "../component/filter/enum/filter-type.enum";
|
|
3
4
|
export class FormsUtil {
|
|
4
5
|
static validateAllFormFields(formGroup) {
|
|
5
6
|
Object.keys(formGroup.controls).forEach((field) => {
|
|
@@ -45,7 +46,10 @@ export class FormsUtil {
|
|
|
45
46
|
const control = new UntypedFormControl({
|
|
46
47
|
value: dataItem ? dataItem[column.name] : undefined,
|
|
47
48
|
disabled: !column.editable,
|
|
48
|
-
},
|
|
49
|
+
}, {
|
|
50
|
+
validators: FormsUtil.getValidators(column),
|
|
51
|
+
updateOn: column.filterType === FilterType.number || column.filterType === FilterType.string ? 'blur' : 'change'
|
|
52
|
+
});
|
|
49
53
|
form.registerControl(column.name, control);
|
|
50
54
|
});
|
|
51
55
|
return form;
|
|
@@ -71,4 +75,4 @@ export class FormsUtil {
|
|
|
71
75
|
return null;
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL2Zvcm1zLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBb0IsVUFBVSxHQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUVyRSxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMscUJBQXFCLENBQUMsU0FBMkI7UUFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxJQUFJLE9BQU8sWUFBWSxrQkFBa0IsRUFBRTtnQkFDekMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7YUFDdkM7aUJBQU0sSUFBSSxPQUFPLFlBQVksZ0JBQWdCLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNyQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUEyQixFQUFFLFdBQW1CO1FBQ3RFLE9BQU8sQ0FDTCxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU87WUFDeEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQTJCLEVBQUUsV0FBbUI7UUFDdEUsSUFBSSxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFO1lBQ3RELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixPQUFlO1FBRWYsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUUsQ0FDM0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2hCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDdEIsT0FBTyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLO1lBQ3RELENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUNmLEtBQWM7UUFFZCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRSxDQUMzRCxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDaEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN0QixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUk7WUFDckIsS0FBSztZQUNILENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBc0IsRUFBRSxRQUFhO1FBQzlELE1BQU0sSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUNwQztnQkFDRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUNuRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUTthQUMzQixFQUNEO2dCQUNFLFVBQVUsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztnQkFDM0MsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUTthQUNqSCxDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQW1CO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDbkIsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUM5QztRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDM0IsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtZQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDbEQ7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQXdCO1FBQy9DLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ25ELE9BQU8sRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUE7U0FDeEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi9jb21wb25lbnQvdGFibGUvY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7QXJyYXlVdGlsfSBmcm9tICcuLi9jb21tb24vdXRpbC9hcnJheS11dGlsJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSBcIi4uL2NvbXBvbmVudC9maWx0ZXIvZW51bS9maWx0ZXItdHlwZS5lbnVtXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3Jtc1V0aWwge1xuICBzdGF0aWMgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCkge1xuICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCh7b25seVNlbGY6IHRydWV9KTtcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7b25seVNlbGY6IHRydWV9KTtcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgY29udHJvbElzSW52YWxpZChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsIGNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXT8uaW52YWxpZCAmJlxuICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXT8uZGlydHlcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldENvbnRyb2xFcnJvcnMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBjb250cm9sTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGlmIChGb3Jtc1V0aWwuY29udHJvbElzSW52YWxpZChmb3JtR3JvdXAsIGNvbnRyb2xOYW1lKSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0/LmVycm9ycyk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHN0YXRpYyBtYXRjaFZhbHVlc1ZhbGlkYXRvcihcbiAgICBtYXRjaFRvOiBzdHJpbmdcbiAgKTogKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT5cbiAgICAgICEhY29udHJvbC5wYXJlbnQgJiZcbiAgICAgICEhY29udHJvbC5wYXJlbnQudmFsdWUgJiZcbiAgICAgIGNvbnRyb2wudmFsdWUgPT09IGNvbnRyb2wucGFyZW50LmNvbnRyb2xzW21hdGNoVG9dLnZhbHVlXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHtpc01hdGNoaW5nOiBmYWxzZX07XG4gIH1cblxuICBzdGF0aWMgcmVxdWlyZWRJZihcbiAgICB2YWx1ZTogYm9vbGVhblxuICApOiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PlxuICAgICAgISFjb250cm9sLnBhcmVudCAmJlxuICAgICAgISFjb250cm9sLnBhcmVudC52YWx1ZSAmJlxuICAgICAgY29udHJvbC52YWx1ZSAhPSBudWxsICYmXG4gICAgICB2YWx1ZVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7aXNNYXRjaGluZzogZmFsc2V9O1xuICB9XG5cbiAgc3RhdGljIGluaXRGb3JtRnJvbUNvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSwgZGF0YUl0ZW06IGFueSkge1xuICAgIGNvbnN0IGZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgY29uc3QgZmxhdCA9IEFycmF5VXRpbC5mbGF0dGVuKGNvbHVtbnMsICdjb2x1bW5zJyk7XG4gICAgZmxhdC5mb3JFYWNoKChjb2x1bW46IFRhYmxlQ29sdW1uKSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiBkYXRhSXRlbSA/IGRhdGFJdGVtW2NvbHVtbi5uYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBkaXNhYmxlZDogIWNvbHVtbi5lZGl0YWJsZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHZhbGlkYXRvcnM6IEZvcm1zVXRpbC5nZXRWYWxpZGF0b3JzKGNvbHVtbiksXG4gICAgICAgICAgdXBkYXRlT246IGNvbHVtbi5maWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLm51bWJlciB8fCBjb2x1bW4uZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5zdHJpbmcgPyAnYmx1cicgOiAnY2hhbmdlJ1xuICAgICAgICB9XG4gICAgICApO1xuICAgICAgZm9ybS5yZWdpc3RlckNvbnRyb2woY29sdW1uLm5hbWUsIGNvbnRyb2wpO1xuICAgIH0pO1xuICAgIHJldHVybiBmb3JtO1xuICB9XG5cbiAgc3RhdGljIGdldFZhbGlkYXRvcnMoY29sdW1uOiBUYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbXTtcbiAgICBpZiAoY29sdW1uLnJlcXVpcmVkKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goRm9ybXNVdGlsLnZhbGlkYXRvck5vdEVtcHR5KTtcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5taW5WYWx1ZSAhPSBudWxsKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4oY29sdW1uLm1pblZhbHVlKSk7XG4gICAgfVxuICAgIGlmIChjb2x1bW4ubWF4VmFsdWUgIT0gbnVsbCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KGNvbHVtbi5tYXhWYWx1ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHN0YXRpYyB2YWxpZGF0b3JOb3RFbXB0eShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy50cmltKCk/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm4ge3JlcXVpcmVkOiB0cnVlfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -2831,8 +2831,12 @@ class OnlyNumberDirective {
|
|
|
2831
2831
|
}
|
|
2832
2832
|
else {
|
|
2833
2833
|
if (e.key === ',' && originalValue.indexOf('.') < 0) {
|
|
2834
|
-
this._elementRef.nativeElement.value =
|
|
2835
|
-
|
|
2834
|
+
// this._elementRef.nativeElement.value =
|
|
2835
|
+
// `${originalValue.slice(0, cursorPosition)}.${originalValue.slice(cursorPosition)}`;
|
|
2836
|
+
this._control.control.patchValue(`${originalValue.slice(0, cursorPosition)}.${originalValue.slice(cursorPosition)}`);
|
|
2837
|
+
if (this._elementRef.nativeElement.setSelectionRange) {
|
|
2838
|
+
this._elementRef.nativeElement.setSelectionRange(cursorPosition + 1, cursorPosition + 1);
|
|
2839
|
+
}
|
|
2836
2840
|
}
|
|
2837
2841
|
e.preventDefault();
|
|
2838
2842
|
}
|
|
@@ -4129,6 +4133,30 @@ class ListFilter extends FilterBase {
|
|
|
4129
4133
|
}
|
|
4130
4134
|
}
|
|
4131
4135
|
|
|
4136
|
+
class NumberPipe {
|
|
4137
|
+
transform(value, decimalLength = 2, chunkDelimiter = '', decimalDelimiter = '.', chunkLength = 3) {
|
|
4138
|
+
if (value === null || value === undefined || value === '') {
|
|
4139
|
+
return '';
|
|
4140
|
+
}
|
|
4141
|
+
if (typeof value === 'string' && isNaN(parseFloat(value))) {
|
|
4142
|
+
return value.toString();
|
|
4143
|
+
}
|
|
4144
|
+
if (decimalLength === null) {
|
|
4145
|
+
return value.toString();
|
|
4146
|
+
}
|
|
4147
|
+
value = Number(value);
|
|
4148
|
+
return formatNumber(value, decimalLength, chunkDelimiter, decimalDelimiter, chunkLength);
|
|
4149
|
+
}
|
|
4150
|
+
}
|
|
4151
|
+
NumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4152
|
+
NumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: NumberPipe, name: "tetaNumber" });
|
|
4153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipe, decorators: [{
|
|
4154
|
+
type: Pipe,
|
|
4155
|
+
args: [{
|
|
4156
|
+
name: 'tetaNumber'
|
|
4157
|
+
}]
|
|
4158
|
+
}] });
|
|
4159
|
+
|
|
4132
4160
|
class TextFieldComponent {
|
|
4133
4161
|
constructor(_cdr) {
|
|
4134
4162
|
this._cdr = _cdr;
|
|
@@ -4172,13 +4200,13 @@ class TextFieldComponent {
|
|
|
4172
4200
|
}
|
|
4173
4201
|
}
|
|
4174
4202
|
TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4175
|
-
TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "class.text-field": "this.textField" } }, providers: [
|
|
4203
|
+
TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", decimalPart: "decimalPart", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "class.text-field": "this.textField" } }, providers: [
|
|
4176
4204
|
{
|
|
4177
4205
|
provide: NG_VALUE_ACCESSOR,
|
|
4178
4206
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
4179
4207
|
multi: true,
|
|
4180
4208
|
},
|
|
4181
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4209
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value | tetaNumber : inputFocused ? null : decimalPart\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (focus)='inputFocused = true'\n (blur)=\"inputFocused = false;emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.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: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4182
4210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
4183
4211
|
type: Component,
|
|
4184
4212
|
args: [{ selector: 'teta-text-field', providers: [
|
|
@@ -4187,7 +4215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
4187
4215
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
4188
4216
|
multi: true,
|
|
4189
4217
|
},
|
|
4190
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n" }]
|
|
4218
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value | tetaNumber : inputFocused ? null : decimalPart\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (focus)='inputFocused = true'\n (blur)=\"inputFocused = false;emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n" }]
|
|
4191
4219
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
|
|
4192
4220
|
type: Input
|
|
4193
4221
|
}], leftIconName: [{
|
|
@@ -4199,6 +4227,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
4199
4227
|
type: Input
|
|
4200
4228
|
}], onlyNumber: [{
|
|
4201
4229
|
type: Input
|
|
4230
|
+
}], decimalPart: [{
|
|
4231
|
+
type: Input
|
|
4202
4232
|
}], invalid: [{
|
|
4203
4233
|
type: HostBinding,
|
|
4204
4234
|
args: ['class.text-field_invalid']
|
|
@@ -4288,7 +4318,7 @@ class ListFilterComponent extends FilterComponentBase {
|
|
|
4288
4318
|
}
|
|
4289
4319
|
}
|
|
4290
4320
|
ListFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4291
|
-
ListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ListFilterComponent, selector: "teta-list-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\n {{(locale | async)?.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item\" *ngFor=\"let option of visibleOptions\">\n <teta-checkbox [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [value]=\"option.id\"\n [binary]=\"false\">\n {{option.name}}\n </teta-checkbox>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4321
|
+
ListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ListFilterComponent, selector: "teta-list-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\n {{(locale | async)?.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item\" *ngFor=\"let option of visibleOptions\">\n <teta-checkbox [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [value]=\"option.id\"\n [binary]=\"false\">\n {{option.name}}\n </teta-checkbox>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4292
4322
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ListFilterComponent, decorators: [{
|
|
4293
4323
|
type: Component,
|
|
4294
4324
|
args: [{ selector: 'teta-list-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\n {{(locale | async)?.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item\" *ngFor=\"let option of visibleOptions\">\n <teta-checkbox [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [value]=\"option.id\"\n [binary]=\"false\">\n {{option.name}}\n </teta-checkbox>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"] }]
|
|
@@ -5139,7 +5169,7 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
5139
5169
|
useExisting: forwardRef(() => SelectComponent),
|
|
5140
5170
|
multi: true,
|
|
5141
5171
|
},
|
|
5142
|
-
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], ngImport: i0, template: "<teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n *tetaLet=\"locale | async as loc\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n class=\"row row_auto select-head\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0) && placeholder\">\n {{placeholder}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-list scrollable row_auto\"\n (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search\">\n <teta-text-field [ngModel]=\"searchText\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"clear()\"\n [class.list-item_active]=\"value==null\">\n {{loc.notSelected}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!virtual\">\n <div class=\"list-item list-item_interactive\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'primary'\"></teta-icon>\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n </div>\n </ng-container>\n <cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div class=\"select-list-item select-list-item_interactive\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'primary'\" class=\"margin-left-2\"></teta-icon>\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"chip\">\n <teta-icon [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n {{getText(item)}}\n </div>\n </div>\n </div>\n</teta-dropdown>\n\n<ng-template #optionDefault let-option>\n {{getText(option)}}\n</ng-template>\n<ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n <ng-container\n *ngFor=\"let item of value; let i = index\">{{getText(item) + (value.length === i + 1 ? '' : ', ') }}</ng-container>\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i6.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i6.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: HighlightDirective, selector: "[tetaHighlight]", inputs: ["tetaHighlight"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { kind: "directive", type: LetDirective, selector: "[tetaLet]", inputs: ["tetaLet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5172
|
+
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], ngImport: i0, template: "<teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n *tetaLet=\"locale | async as loc\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n class=\"row row_auto select-head\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0) && placeholder\">\n {{placeholder}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-list scrollable row_auto\"\n (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search\">\n <teta-text-field [ngModel]=\"searchText\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"clear()\"\n [class.list-item_active]=\"value==null\">\n {{loc.notSelected}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!virtual\">\n <div class=\"list-item list-item_interactive\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'primary'\"></teta-icon>\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n </div>\n </ng-container>\n <cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div class=\"select-list-item select-list-item_interactive\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'primary'\" class=\"margin-left-2\"></teta-icon>\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"chip\">\n <teta-icon [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n {{getText(item)}}\n </div>\n </div>\n </div>\n</teta-dropdown>\n\n<ng-template #optionDefault let-option>\n {{getText(option)}}\n</ng-template>\n<ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n <ng-container\n *ngFor=\"let item of value; let i = index\">{{getText(item) + (value.length === i + 1 ? '' : ', ') }}</ng-container>\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i6.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i6.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: HighlightDirective, selector: "[tetaHighlight]", inputs: ["tetaHighlight"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "directive", type: LetDirective, selector: "[tetaLet]", inputs: ["tetaLet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5143
5173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SelectComponent, decorators: [{
|
|
5144
5174
|
type: Component,
|
|
5145
5175
|
args: [{ selector: 'teta-select', providers: [
|
|
@@ -5326,17 +5356,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
5326
5356
|
args: ['click']
|
|
5327
5357
|
}] } });
|
|
5328
5358
|
|
|
5359
|
+
class NumberPipeModule {
|
|
5360
|
+
}
|
|
5361
|
+
NumberPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5362
|
+
NumberPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, declarations: [NumberPipe], imports: [CommonModule], exports: [NumberPipe] });
|
|
5363
|
+
NumberPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, imports: [CommonModule] });
|
|
5364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, decorators: [{
|
|
5365
|
+
type: NgModule,
|
|
5366
|
+
args: [{
|
|
5367
|
+
declarations: [NumberPipe],
|
|
5368
|
+
exports: [
|
|
5369
|
+
NumberPipe
|
|
5370
|
+
],
|
|
5371
|
+
imports: [
|
|
5372
|
+
CommonModule
|
|
5373
|
+
]
|
|
5374
|
+
}]
|
|
5375
|
+
}] });
|
|
5376
|
+
|
|
5329
5377
|
class InputModule {
|
|
5330
5378
|
}
|
|
5331
5379
|
InputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5332
|
-
InputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: InputModule, declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent, ColorInputComponent], imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule], exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent, ColorInputComponent] });
|
|
5333
|
-
InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule] });
|
|
5380
|
+
InputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: InputModule, declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent, ColorInputComponent], imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule, NumberPipeModule], exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent, ColorInputComponent] });
|
|
5381
|
+
InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule, NumberPipeModule] });
|
|
5334
5382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, decorators: [{
|
|
5335
5383
|
type: NgModule,
|
|
5336
5384
|
args: [{
|
|
5337
5385
|
declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent, ColorInputComponent],
|
|
5338
5386
|
exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent, ColorInputComponent],
|
|
5339
|
-
imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule],
|
|
5387
|
+
imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule, NumberPipeModule],
|
|
5340
5388
|
}]
|
|
5341
5389
|
}] });
|
|
5342
5390
|
|
|
@@ -6565,7 +6613,10 @@ class FormsUtil {
|
|
|
6565
6613
|
const control = new UntypedFormControl({
|
|
6566
6614
|
value: dataItem ? dataItem[column.name] : undefined,
|
|
6567
6615
|
disabled: !column.editable,
|
|
6568
|
-
},
|
|
6616
|
+
}, {
|
|
6617
|
+
validators: FormsUtil.getValidators(column),
|
|
6618
|
+
updateOn: column.filterType === FilterType.number || column.filterType === FilterType.string ? 'blur' : 'change'
|
|
6619
|
+
});
|
|
6569
6620
|
form.registerControl(column.name, control);
|
|
6570
6621
|
});
|
|
6571
6622
|
return form;
|
|
@@ -6680,8 +6731,7 @@ class PropertyGridItemComponent {
|
|
|
6680
6731
|
var _a, _b, _c;
|
|
6681
6732
|
this._formGroup = form;
|
|
6682
6733
|
(_a = this._formSub) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
6683
|
-
this._formSub = (_c = (_b = this._formGroup) === null || _b === void 0 ? void 0 : _b.controls[this.column.name]) === null || _c === void 0 ? void 0 : _c.valueChanges.pipe(takeWhile(() => this._alive)
|
|
6684
|
-
this.column.filterType !== FilterType.number)).subscribe((_) => {
|
|
6734
|
+
this._formSub = (_c = (_b = this._formGroup) === null || _b === void 0 ? void 0 : _b.controls[this.column.name]) === null || _c === void 0 ? void 0 : _c.valueChanges.pipe(takeWhile(() => this._alive)).subscribe((_) => {
|
|
6685
6735
|
this.controlValueChange.emit({
|
|
6686
6736
|
id: _,
|
|
6687
6737
|
name: this.column.name,
|
|
@@ -6745,16 +6795,18 @@ class PropertyGridItemComponent {
|
|
|
6745
6795
|
}
|
|
6746
6796
|
}
|
|
6747
6797
|
PropertyGridItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridItemComponent, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6748
|
-
PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-input [label]=\"caption\"\n [hint]=\"column.hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n [required]=\"column.required\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\"\n *ngIf=\"formGroup?.get(column.name)\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">\n {{column.caption}}\n </teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n
|
|
6798
|
+
PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", decimalPart: "decimalPart", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-input [label]=\"caption\"\n [hint]=\"column.hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n [required]=\"column.required\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\"\n *ngIf=\"formGroup?.get(column.name)\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">\n {{column.caption}}\n </teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n\n [decimalPart]=\"column.filterType === filterTypeEnum.number ? decimalPart : null\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }, { kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "horizontal", "required"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "component", type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
6749
6799
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
|
|
6750
6800
|
type: Component,
|
|
6751
|
-
args: [{ selector: 'teta-property-grid-item', template: "<teta-input [label]=\"caption\"\n [hint]=\"column.hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n [required]=\"column.required\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\"\n *ngIf=\"formGroup?.get(column.name)\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">\n {{column.caption}}\n </teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n
|
|
6801
|
+
args: [{ selector: 'teta-property-grid-item', template: "<teta-input [label]=\"caption\"\n [hint]=\"column.hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n [required]=\"column.required\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\"\n *ngIf=\"formGroup?.get(column.name)\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">\n {{column.caption}}\n </teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n\n [decimalPart]=\"column.filterType === filterTypeEnum.number ? decimalPart : null\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n" }]
|
|
6752
6802
|
}], ctorParameters: function () { return [{ type: i1$1.TranslocoService }]; }, propDecorators: { column: [{
|
|
6753
6803
|
type: Input
|
|
6754
6804
|
}], hideNonEditable: [{
|
|
6755
6805
|
type: Input
|
|
6756
6806
|
}], dict: [{
|
|
6757
6807
|
type: Input
|
|
6808
|
+
}], decimalPart: [{
|
|
6809
|
+
type: Input
|
|
6758
6810
|
}], formGroup: [{
|
|
6759
6811
|
type: Input
|
|
6760
6812
|
}], horizontal: [{
|
|
@@ -6770,10 +6822,10 @@ class PropertyGridGroupComponent {
|
|
|
6770
6822
|
ngOnInit() { }
|
|
6771
6823
|
}
|
|
6772
6824
|
PropertyGridGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6773
|
-
PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
|
|
6825
|
+
PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
|
|
6774
6826
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, decorators: [{
|
|
6775
6827
|
type: Component,
|
|
6776
|
-
args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
6828
|
+
args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
6777
6829
|
}], ctorParameters: function () { return []; }, propDecorators: { column: [{
|
|
6778
6830
|
type: Input
|
|
6779
6831
|
}], hideNonEditable: [{
|
|
@@ -6786,6 +6838,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6786
6838
|
type: Input
|
|
6787
6839
|
}], controlValueChange: [{
|
|
6788
6840
|
type: Output
|
|
6841
|
+
}], decimalPart: [{
|
|
6842
|
+
type: Input
|
|
6789
6843
|
}] } });
|
|
6790
6844
|
|
|
6791
6845
|
class PropertyGridComponent {
|
|
@@ -6821,10 +6875,10 @@ class PropertyGridComponent {
|
|
|
6821
6875
|
}
|
|
6822
6876
|
}
|
|
6823
6877
|
PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6824
|
-
PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
|
|
6878
|
+
PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
|
|
6825
6879
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridComponent, decorators: [{
|
|
6826
6880
|
type: Component,
|
|
6827
|
-
args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
|
|
6881
|
+
args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
|
|
6828
6882
|
}], ctorParameters: function () { return []; }, propDecorators: { formClass: [{
|
|
6829
6883
|
type: HostBinding,
|
|
6830
6884
|
args: ['class.form-container']
|
|
@@ -6838,6 +6892,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6838
6892
|
type: Input
|
|
6839
6893
|
}], horizontal: [{
|
|
6840
6894
|
type: Input
|
|
6895
|
+
}], decimalPart: [{
|
|
6896
|
+
type: Input
|
|
6841
6897
|
}], controlValueChange: [{
|
|
6842
6898
|
type: Output
|
|
6843
6899
|
}] } });
|
|
@@ -6886,45 +6942,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6886
6942
|
args: [{ selector: 'teta-string-item-default', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>string-item-default works!</p>\n" }]
|
|
6887
6943
|
}], ctorParameters: function () { return []; } });
|
|
6888
6944
|
|
|
6889
|
-
class NumberPipe {
|
|
6890
|
-
transform(value, decimalLength = 2, chunkDelimiter = '', decimalDelimiter = '.', chunkLength = 3) {
|
|
6891
|
-
if (value === null || value === undefined || value === '') {
|
|
6892
|
-
return '';
|
|
6893
|
-
}
|
|
6894
|
-
if (typeof value === 'string' && isNaN(parseFloat(value))) {
|
|
6895
|
-
return value.toString();
|
|
6896
|
-
}
|
|
6897
|
-
value = Number(value);
|
|
6898
|
-
return formatNumber(value, decimalLength, chunkDelimiter, decimalDelimiter, chunkLength);
|
|
6899
|
-
}
|
|
6900
|
-
}
|
|
6901
|
-
NumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
6902
|
-
NumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: NumberPipe, name: "tetaNumber" });
|
|
6903
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipe, decorators: [{
|
|
6904
|
-
type: Pipe,
|
|
6905
|
-
args: [{
|
|
6906
|
-
name: 'tetaNumber'
|
|
6907
|
-
}]
|
|
6908
|
-
}] });
|
|
6909
|
-
|
|
6910
|
-
class NumberPipeModule {
|
|
6911
|
-
}
|
|
6912
|
-
NumberPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6913
|
-
NumberPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, declarations: [NumberPipe], imports: [CommonModule], exports: [NumberPipe] });
|
|
6914
|
-
NumberPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, imports: [CommonModule] });
|
|
6915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumberPipeModule, decorators: [{
|
|
6916
|
-
type: NgModule,
|
|
6917
|
-
args: [{
|
|
6918
|
-
declarations: [NumberPipe],
|
|
6919
|
-
exports: [
|
|
6920
|
-
NumberPipe
|
|
6921
|
-
],
|
|
6922
|
-
imports: [
|
|
6923
|
-
CommonModule
|
|
6924
|
-
]
|
|
6925
|
-
}]
|
|
6926
|
-
}] });
|
|
6927
|
-
|
|
6928
6945
|
class ToggleModule {
|
|
6929
6946
|
}
|
|
6930
6947
|
ToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|