UNPKG

ontimize-web-ngx

Version:
126 lines 14.3 kB
import { Directive, ElementRef, forwardRef, Inject, Injector, Optional } from '@angular/core'; import { Util } from '../../util/util'; import { OFormValue } from '../form/o-form-value'; import { OFormComponent } from '../form/o-form.component'; import { OFormDataComponent } from '../o-form-data-component.class'; import * as i0 from "@angular/core"; import * as i1 from "../form/o-form.component"; export const DEFAULT_INPUTS_O_BOOLEAN_FORM_DATA = [ 'trueValue: true-value', 'falseValue: false-value', 'booleanType: boolean-type' ]; export class OBooleanFormDataComponent extends OFormDataComponent { constructor(form, elRef, injector) { super(form, elRef, injector); this.trueValue = true; this.falseValue = false; this.booleanType = 'boolean'; this._defaultSQLTypeKey = 'BOOLEAN'; this.defaultValue = false; } initialize() { if (!Util.isDefined(this.sqlType)) { switch (this.booleanType) { case 'number': this.sqlType = 'INTEGER'; break; case 'string': this.sqlType = 'VARCHAR'; break; case 'boolean': default: this.sqlType = 'BOOLEAN'; } } this.defaultValue = this.falseValue; super.initialize(); } ensureOFormValue(data) { this.parseInputs(); if (data instanceof OFormValue) { if (!Util.isDefined(data.value)) { data.value = false; } this.value = new OFormValue(this.parseValueByType(data.value) === this.trueValue); } else if (typeof data === 'boolean') { this.value = new OFormValue(data); } else { this.value = new OFormValue(this.parseValueByType(data) === this.trueValue); } } parseValueByType(value) { let result; switch (this.booleanType) { case 'string': result = value + ''; break; case 'number': result = parseInt(value, 10); break; default: result = value; break; } return result; } parseStringInputs() { if ((this.trueValue || '').length === 0) { this.trueValue = undefined; } if ((this.falseValue || '').length === 0) { this.falseValue = undefined; } } parseNumberInputs() { this.trueValue = parseInt(this.trueValue, 10); if (isNaN(this.trueValue)) { this.trueValue = 1; } this.falseValue = parseInt(this.falseValue, 10); if (isNaN(this.falseValue)) { this.falseValue = 0; } } parseInputs() { switch (this.booleanType) { case 'string': this.parseStringInputs(); break; case 'number': this.parseNumberInputs(); break; default: this.trueValue = true; this.falseValue = false; break; } } onClickBlocker(evt) { evt.stopPropagation(); } getValue() { if (Util.isDefined(this.value) && this.value.value !== undefined) { return this.value.value ? this.trueValue : this.falseValue; } else { return this.defaultValue; } } } OBooleanFormDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OBooleanFormDataComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); OBooleanFormDataComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OBooleanFormDataComponent, inputs: { trueValue: ["true-value", "trueValue"], falseValue: ["false-value", "falseValue"], booleanType: ["boolean-type", "booleanType"] }, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OBooleanFormDataComponent, decorators: [{ type: Directive, args: [{ inputs: DEFAULT_INPUTS_O_BOOLEAN_FORM_DATA }] }], ctorParameters: function () { return [{ type: i1.OFormComponent, decorators: [{ type: Optional }, { type: Inject, args: [forwardRef(() => OFormComponent)] }] }, { type: i0.ElementRef }, { type: i0.Injector }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1ib29sZWFuLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9vLWJvb2xlYW4tZm9ybS1kYXRhLWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUdwRSxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUVoRCx1QkFBdUI7SUFFdkIseUJBQXlCO0lBRXpCLDJCQUEyQjtDQUM1QixDQUFDO0FBS0YsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUFrQjtJQU0vRCxZQUN3RCxJQUFvQixFQUMxRSxLQUFpQixFQUNqQixRQUFrQjtRQUVsQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQVR4QixjQUFTLEdBQVEsSUFBSSxDQUFDO1FBQ3RCLGVBQVUsR0FBUSxLQUFLLENBQUM7UUFDeEIsZ0JBQVcsR0FBb0MsU0FBUyxDQUFDO1FBUTlELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVU7UUFFUixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMs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Q3hCLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFVO1FBQ3ZCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDNUQ7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQjtJQUNILENBQUM7O3VIQTlHVSx5QkFBeUIsa0JBT2QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQzsyR0FQM0MseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1IsTUFBTSxFQUFFLGtDQUFrQztpQkFDNUM7OzBCQVFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybVZhbHVlIH0gZnJvbSAnLi4vZm9ybS9vLWZvcm0tdmFsdWUnO1xuaW1wb3J0IHsgT0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL28tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0Zvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1mb3JtLWRhdGEtY29tcG9uZW50LmNsYXNzJztcblxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19CT09MRUFOX0ZPUk1fREFUQSA9IFtcbiAgLy8gdHJ1ZS12YWx1ZTogdHJ1ZSB2YWx1ZS4gRGVmYXVsdDogdHJ1ZS5cbiAgJ3RydWVWYWx1ZTogdHJ1ZS12YWx1ZScsXG4gIC8vIGZhbHNlLXZhbHVlOiBmYWxzZSB2YWx1ZS4gRGVmYXVsdDogZmFsc2UuXG4gICdmYWxzZVZhbHVlOiBmYWxzZS12YWx1ZScsXG4gIC8vIGJvb2xlYW4tdHlwZSBbbnVtYmVyfGJvb2xlYW58c3RyaW5nXTogY2VsbERhdGEgdmFsdWUgdHlwZS4gRGVmYXVsdDogYm9vbGVhblxuICAnYm9vbGVhblR5cGU6IGJvb2xlYW4tdHlwZSdcbl07XG5cbkBEaXJlY3RpdmUoe1xuICAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0JPT0xFQU5fRk9STV9EQVRBXG59KVxuZXhwb3J0IGNsYXNzIE9Cb29sZWFuRm9ybURhdGFDb21wb25lbnQgZXh0ZW5kcyBPRm9ybURhdGFDb21wb25lbnQge1xuXG4gIHB1YmxpYyB0cnVlVmFsdWU6IGFueSA9IHRydWU7XG4gIHB1YmxpYyBmYWxzZVZhbHVlOiBhbnkgPSBmYWxzZTtcbiAgcHVibGljIGJvb2xlYW5UeXBlOiAnbnVtYmVyJyB8ICdib29sZWFuJyB8ICdzdHJpbmcnID0gJ2Jvb2xlYW4nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMuX2RlZmF1bHRTUUxUeXBlS2V5ID0gJ0JPT0xFQU4nO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIC8vRmlyc3QsIHRoZSBzcWxUeXBlIG11c3QgYmUgaW5pdGlhbGl6ZWQgIGJlZm9yZSBjYWxsaW5nIHN1cGVyLmluaXRpYWxpemUgYmVjYXVzZSBpdCBvdmVyd3JpdHRlIHRoZSB2YWx1ZVxuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5zcWxUeXBlKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmJvb2xlYW5UeXBlKSB7XG4gICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgdGhpcy5zcWxUeXBlID0gJ0lOVEVHRVInO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgIHRoaXMuc3FsVHlwZSA9ICdWQVJDSEFSJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5zcWxUeXBlID0gJ0JPT0xFQU4nO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMuZmFsc2VWYWx1ZTtcbiAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gIH1cblxuICBlbnN1cmVPRm9ybVZhbHVlKGRhdGE6IGFueSkge1xuICAgIHRoaXMucGFyc2VJbnB1dHMoKTtcbiAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIE9Gb3JtVmFsdWUpIHtcbiAgICAgIGlmICghVXRpbC5pc0RlZmluZWQoZGF0YS52YWx1ZSkpIHtcbiAgICAgICAgZGF0YS52YWx1ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZSA9IG5ldyBPRm9ybVZhbHVlKHRoaXMucGFyc2VWYWx1ZUJ5VHlwZShkYXRhLnZhbHVlKSA9PT0gdGhpcy50cnVlVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdib29sZWFuJykge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ldyBPRm9ybVZhbHVlKGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbmV3IE9Gb3JtVmFsdWUodGhpcy5wYXJzZVZhbHVlQnlUeXBlKGRhdGEpID09PSB0aGlzLnRydWVWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VWYWx1ZUJ5VHlwZSh2YWx1ZTogYW55KSB7XG4gICAgbGV0IHJlc3VsdDogYW55O1xuICAgIHN3aXRjaCAodGhpcy5ib29sZWFuVHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmVzdWx0ID0gdmFsdWUgKyAnJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICByZXN1bHQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZVN0cmluZ0lucHV0cygpIHtcbiAgICBpZiAoKHRoaXMudHJ1ZVZhbHVlIHx8ICcnKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudHJ1ZVZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoKHRoaXMuZmFsc2VWYWx1ZSB8fCAnJykubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmZhbHNlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlTnVtYmVySW5wdXRzKCkge1xuICAgIHRoaXMudHJ1ZVZhbHVlID0gcGFyc2VJbnQodGhpcy50cnVlVmFsdWUsIDEwKTtcbiAgICBpZiAoaXNOYU4odGhpcy50cnVlVmFsdWUpKSB7XG4gICAgICB0aGlzLnRydWVWYWx1ZSA9IDE7XG4gICAgfVxuICAgIHRoaXMuZmFsc2VWYWx1ZSA9IHBhcnNlSW50KHRoaXMuZmFsc2VWYWx1ZSwgMTApO1xuICAgIGlmIChpc05hTih0aGlzLmZhbHNlVmFsdWUpKSB7XG4gICAgICB0aGlzLmZhbHNlVmFsdWUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0cygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuYm9vbGVhblR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHRoaXMucGFyc2VTdHJpbmdJbnB1dHMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICB0aGlzLnBhcnNlTnVtYmVySW5wdXRzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy50cnVlVmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLmZhbHNlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja0Jsb2NrZXIoZXZ0OiBFdmVudCkge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGdldFZhbHVlKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUudmFsdWUgPyB0aGlzLnRydWVWYWx1ZSA6IHRoaXMuZmFsc2VWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfVxufVxuIl19