@kre-form/ionic
Version:
105 lines • 8.96 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from "@angular/core";
import { FieldType } from "@kre-form/core";
import * as _ from "lodash";
export class KreFormFieldIonNumber extends FieldType {
/**
* @return {?}
*/
get value() {
if (this.model &&
this.model[this.key] !== undefined &&
this.model[this.key] !== null &&
this.model[this.key] !== "") {
return this.model[this.key];
}
return null;
}
/**
* @param {?} value
* @return {?}
*/
set value(value) {
this._value = value;
}
/**
* @param {?} value
* @return {?}
*/
changeValue(value) {
this.model[this.key] = value;
}
/**
* @param {?} e
* @return {?}
*/
inputBlur(e) {
if (e.target && e.target.value && this.model) {
/** @type {?} */
let value = e.target.value;
this.model[this.key] = value;
this.formControl.patchValue(value);
this.formControl.markAsTouched();
}
else {
if (e.target.value == null || e.target.value == "") {
if (this.model[this.key] != undefined && this.model[this.key] != null) {
this.model[this.key] = null;
}
}
this.formControl.patchValue(null);
this.formControl.markAsTouched();
}
}
/**
* @return {?}
*/
get number() {
/** @type {?} */
let result = this.text;
if (this.to != undefined &&
this.to != null &&
this.to["precision"] != undefined &&
this.to["precision"] != null) {
if (!!result || result === 0) {
result = _.round(result, this.to["precision"]);
if (!_.isEmpty(this.model) &&
((/** @type {?} */ (this.model))).hasOwnProperty(this.key)) {
this.model[this.key] = result;
}
}
}
return result;
}
}
KreFormFieldIonNumber.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-number",
template: `
<ng-container *ngIf="!!editor; else other">
<ion-input
type="input"
ionKreFormFloat
[decimalNumber]="to.precision"
[ionKreFormAttributes]="field"
[max]="to.max || 999999"
[min]="to.min || -999999"
[(ngModel)]="value"
(ngModelChange)="changeValue($event)"
(ionBlur)="inputBlur($event)"
></ion-input>
</ng-container>
<ng-template #other>
<div class="fieldtext">{{ number }}</div>
</ng-template>
`
}] }
];
if (false) {
/** @type {?} */
KreFormFieldIonNumber.prototype._value;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2lvbmljLyIsInNvdXJjZXMiOlsibGliL3R5cGVzL251bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFzQjVCLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxTQUFTOzs7O0lBRWxELElBQVcsS0FBSztRQUNkLElBQ0UsSUFBSSxDQUFDLEtBQUs7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUk7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUMzQjtZQUNBLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7O0lBQ0QsSUFBVyxLQUFLLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOzs7OztJQUNELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRUQsU0FBUyxDQUFDLENBQU07UUFDZCxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTs7Z0JBQ3hDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFO29CQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7aUJBQzdCO2FBQ0Y7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7OztJQUNELElBQUksTUFBTTs7WUFDSixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFDdEIsSUFDRSxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVM7WUFDcEIsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJO1lBQ2YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxTQUFTO1lBQ2pDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxFQUM1QjtZQUNBLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUM1QixNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxJQUNFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUN0QixDQUFDLG1CQUFBLElBQUksQ0FBQyxLQUFLLEVBQVUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQy9DO29CQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztpQkFDL0I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7O1lBNUVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO2FBQ0Y7Ozs7SUFFQyx1Q0FBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiQGtyZS1mb3JtL2NvcmVcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImtyZWZvcm0tZmllbGQtaW9uLW51bWJlclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWVkaXRvcjsgZWxzZSBvdGhlclwiPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICB0eXBlPVwiaW5wdXRcIlxuICAgICAgICBpb25LcmVGb3JtRmxvYXRcbiAgICAgICAgW2RlY2ltYWxOdW1iZXJdPVwidG8ucHJlY2lzaW9uXCJcbiAgICAgICAgW2lvbktyZUZvcm1BdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgICAgW21heF09XCJ0by5tYXggfHwgOTk5OTk5XCJcbiAgICAgICAgW21pbl09XCJ0by5taW4gfHwgLTk5OTk5OVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgKGlvbkJsdXIpPVwiaW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgPjwvaW9uLWlucHV0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3RoZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGR0ZXh0XCI+e3sgbnVtYmVyIH19PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgS3JlRm9ybUZpZWxkSW9uTnVtYmVyIGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgX3ZhbHVlOiBhbnk7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLm1vZGVsICYmXG4gICAgICB0aGlzLm1vZGVsW3RoaXMua2V5XSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLm1vZGVsW3RoaXMua2V5XSAhPT0gbnVsbCAmJlxuICAgICAgdGhpcy5tb2RlbFt0aGlzLmtleV0gIT09IFwiXCJcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsW3RoaXMua2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBjaGFuZ2VWYWx1ZSh2YWx1ZSkge1xuICAgIHRoaXMubW9kZWxbdGhpcy5rZXldID0gdmFsdWU7XG4gIH1cblxuICBpbnB1dEJsdXIoZTogYW55KSB7XG4gICAgaWYgKGUudGFyZ2V0ICYmIGUudGFyZ2V0LnZhbHVlICYmIHRoaXMubW9kZWwpIHtcbiAgICAgIGxldCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgdGhpcy5tb2RlbFt0aGlzLmtleV0gPSB2YWx1ZTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGUudGFyZ2V0LnZhbHVlID09IG51bGwgfHwgZS50YXJnZXQudmFsdWUgPT0gXCJcIikge1xuICAgICAgICBpZiAodGhpcy5tb2RlbFt0aGlzLmtleV0gIT0gdW5kZWZpbmVkICYmIHRoaXMubW9kZWxbdGhpcy5rZXldICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLm1vZGVsW3RoaXMua2V5XSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuICBnZXQgbnVtYmVyKCkge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLnRleHQ7XG4gICAgaWYgKFxuICAgICAgdGhpcy50byAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMudG8gIT0gbnVsbCAmJlxuICAgICAgdGhpcy50b1tcInByZWNpc2lvblwiXSAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMudG9bXCJwcmVjaXNpb25cIl0gIT0gbnVsbFxuICAgICkge1xuICAgICAgaWYgKCEhcmVzdWx0IHx8IHJlc3VsdCA9PT0gMCkge1xuICAgICAgICByZXN1bHQgPSBfLnJvdW5kKHJlc3VsdCwgdGhpcy50b1tcInByZWNpc2lvblwiXSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhXy5pc0VtcHR5KHRoaXMubW9kZWwpICYmXG4gICAgICAgICAgKHRoaXMubW9kZWwgYXMgT2JqZWN0KS5oYXNPd25Qcm9wZXJ0eSh0aGlzLmtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5tb2RlbFt0aGlzLmtleV0gPSByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19