UNPKG

ontimize-web-ngx

Version:
118 lines 13.4 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(); } } 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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Q3hCLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFVO1FBQ3ZCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt1SEF0R1UseUJBQXlCLGtCQU9kLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7MkdBUDNDLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNSLE1BQU0sRUFBRSxrQ0FBa0M7aUJBQzVDOzswQkFRSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0Zvcm1WYWx1ZSB9IGZyb20gJy4uL2Zvcm0vby1mb3JtLXZhbHVlJztcbmltcG9ydCB7IE9Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9vLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE9Gb3JtRGF0YUNvbXBvbmVudCB9IGZyb20gJy4uL28tZm9ybS1kYXRhLWNvbXBvbmVudC5jbGFzcyc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fQk9PTEVBTl9GT1JNX0RBVEEgPSBbXG4gIC8vIHRydWUtdmFsdWU6IHRydWUgdmFsdWUuIERlZmF1bHQ6IHRydWUuXG4gICd0cnVlVmFsdWU6IHRydWUtdmFsdWUnLFxuICAvLyBmYWxzZS12YWx1ZTogZmFsc2UgdmFsdWUuIERlZmF1bHQ6IGZhbHNlLlxuICAnZmFsc2VWYWx1ZTogZmFsc2UtdmFsdWUnLFxuICAvLyBib29sZWFuLXR5cGUgW251bWJlcnxib29sZWFufHN0cmluZ106IGNlbGxEYXRhIHZhbHVlIHR5cGUuIERlZmF1bHQ6IGJvb2xlYW5cbiAgJ2Jvb2xlYW5UeXBlOiBib29sZWFuLXR5cGUnXG5dO1xuXG5ARGlyZWN0aXZlKHtcbiAgIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19CT09MRUFOX0ZPUk1fREFUQVxufSlcbmV4cG9ydCBjbGFzcyBPQm9vbGVhbkZvcm1EYXRhQ29tcG9uZW50IGV4dGVuZHMgT0Zvcm1EYXRhQ29tcG9uZW50IHtcblxuICBwdWJsaWMgdHJ1ZVZhbHVlOiBhbnkgPSB0cnVlO1xuICBwdWJsaWMgZmFsc2VWYWx1ZTogYW55ID0gZmFsc2U7XG4gIHB1YmxpYyBib29sZWFuVHlwZTogJ251bWJlcicgfCAnYm9vbGVhbicgfCAnc3RyaW5nJyA9ICdib29sZWFuJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT0Zvcm1Db21wb25lbnQpKSBmb3JtOiBPRm9ybUNvbXBvbmVudCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybSwgZWxSZWYsIGluamVjdG9yKTtcbiAgICB0aGlzLl9kZWZhdWx0U1FMVHlwZUtleSA9ICdCT09MRUFOJztcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICAvL0ZpcnN0LCB0aGUgc3FsVHlwZSBtdXN0IGJlIGluaXRpYWxpemVkICBiZWZvcmUgY2FsbGluZyBzdXBlci5pbml0aWFsaXplIGJlY2F1c2UgaXQgb3ZlcndyaXR0ZSB0aGUgdmFsdWVcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuc3FsVHlwZSkpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5ib29sZWFuVHlwZSkge1xuICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgIHRoaXMuc3FsVHlwZSA9ICdJTlRFR0VSJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICB0aGlzLnNxbFR5cGUgPSAnVkFSQ0hBUic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuc3FsVHlwZSA9ICdCT09MRUFOJztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSB0aGlzLmZhbHNlVmFsdWU7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgZW5zdXJlT0Zvcm1WYWx1ZShkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnBhcnNlSW5wdXRzKCk7XG4gICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBPRm9ybVZhbHVlKSB7XG4gICAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGRhdGEudmFsdWUpKSB7XG4gICAgICAgIGRhdGEudmFsdWUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgT0Zvcm1WYWx1ZSh0aGlzLnBhcnNlVmFsdWVCeVR5cGUoZGF0YS52YWx1ZSkgPT09IHRoaXMudHJ1ZVZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgT0Zvcm1WYWx1ZShkYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ldyBPRm9ybVZhbHVlKHRoaXMucGFyc2VWYWx1ZUJ5VHlwZShkYXRhKSA9PT0gdGhpcy50cnVlVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlVmFsdWVCeVR5cGUodmFsdWU6IGFueSkge1xuICAgIGxldCByZXN1bHQ6IGFueTtcbiAgICBzd2l0Y2ggKHRoaXMuYm9vbGVhblR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlICsgJyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmVzdWx0ID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXN1bHQgPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VTdHJpbmdJbnB1dHMoKSB7XG4gICAgaWYgKCh0aGlzLnRydWVWYWx1ZSB8fCAnJykubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRydWVWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKCh0aGlzLmZhbHNlVmFsdWUgfHwgJycpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5mYWxzZVZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZU51bWJlcklucHV0cygpIHtcbiAgICB0aGlzLnRydWVWYWx1ZSA9IHBhcnNlSW50KHRoaXMudHJ1ZVZhbHVlLCAxMCk7XG4gICAgaWYgKGlzTmFOKHRoaXMudHJ1ZVZhbHVlKSkge1xuICAgICAgdGhpcy50cnVlVmFsdWUgPSAxO1xuICAgIH1cbiAgICB0aGlzLmZhbHNlVmFsdWUgPSBwYXJzZUludCh0aGlzLmZhbHNlVmFsdWUsIDEwKTtcbiAgICBpZiAoaXNOYU4odGhpcy5mYWxzZVZhbHVlKSkge1xuICAgICAgdGhpcy5mYWxzZVZhbHVlID0gMDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VJbnB1dHMoKSB7XG4gICAgc3dpdGNoICh0aGlzLmJvb2xlYW5UeXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICB0aGlzLnBhcnNlU3RyaW5nSW5wdXRzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgdGhpcy5wYXJzZU51bWJlcklucHV0cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMudHJ1ZVZhbHVlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mYWxzZVZhbHVlID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tCbG9ja2VyKGV2dDogRXZlbnQpIHtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiJdfQ==