ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
118 lines • 13.4 kB
JavaScript
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==