UNPKG

ngx-schema-forms

Version:

New features: - Ajv schema validator. - Angular forms compatible: Property tree is created using FormGroup, FormArray and FormControl classes. - Array now properly loads initial data from model. - WidgetTyep: WidgetRegistry now supports WidgetType, now wo

76 lines (75 loc) 4.44 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { PropertyWidget } from './widget'; // unsupported: template constraints. /** * @abstract * @template T */ var // unsupported: template constraints. /** * @abstract * @template T */ CheckboxWidget = /** @class */ (function (_super) { tslib_1.__extends(CheckboxWidget, _super); function CheckboxWidget() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.checked = {}; return _this; } /** * @return {?} */ CheckboxWidget.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.schema["type"] === 'array') { this.formProperty.valueChanges.subscribe(function (values) { values.forEach(function (value) { if (!_this.checked[value]) { _this.checked[value] = true; } }); }); } }; /** * @param {?} checked * @param {?} value * @return {?} */ CheckboxWidget.prototype.check = /** * @param {?} checked * @param {?} value * @return {?} */ function (checked, value) { var _this = this; if (checked) { this.checked[value] = true; } else { delete this.checked[value]; } this.formProperty.patchValue(Object.keys(this.checked).filter(function (key) { return _this.checked[key]; })); }; return CheckboxWidget; }(PropertyWidget)); // unsupported: template constraints. /** * @abstract * @template T */ export { CheckboxWidget }; if (false) { /** @type {?} */ CheckboxWidget.prototype.checked; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gud2lkZ2V0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNjaGVtYS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi93aWRnZXRzL2Jhc2UvY2hlY2tib3gud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBRWxEOzs7Ozs7QUFBQTtJQUNRLDBDQUFpQjs7O3dCQUVlLEVBQUU7Ozs7OztJQUV4QyxpQ0FBUTs7O0lBQVI7UUFBQSxpQkFZQztRQVhDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLGFBQVUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBQyxNQUFhO2dCQUVyRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBVTtvQkFDeEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDekIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7cUJBQzVCO2lCQUNGLENBQUMsQ0FBQzthQUVKLENBQUMsQ0FBQztTQUNKO0tBQ0Y7Ozs7OztJQUVELDhCQUFLOzs7OztJQUFMLFVBQU0sT0FBZ0IsRUFBRSxLQUFVO1FBQWxDLGlCQVVDO1FBVEMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBRyxJQUFLLE9BQUEsS0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBakIsQ0FBaUIsQ0FBQyxDQUM3RCxDQUFDO0tBQ0g7eUJBakNIO0VBS1EsY0FBYyxFQTZCckIsQ0FBQTs7Ozs7O0FBOUJELDBCQThCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm9wZXJ0eVdpZGdldCwgV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2hlY2tib3hXaWRnZXQ8VCBleHRlbmRzIFdpZGdldCA9IFdpZGdldD5cbmV4dGVuZHMgUHJvcGVydHlXaWRnZXQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNoZWNrZWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2NoZW1hLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIHRoaXMuZm9ybVByb3BlcnR5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlczogYW55W10pID0+IHtcblxuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5jaGVja2VkW3ZhbHVlXSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkW3ZhbHVlXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2soY2hlY2tlZDogYm9vbGVhbiwgdmFsdWU6IGFueSkge1xuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICB0aGlzLmNoZWNrZWRbdmFsdWVdID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuY2hlY2tlZFt2YWx1ZV07XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtUHJvcGVydHkucGF0Y2hWYWx1ZShcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY2hlY2tlZCkuZmlsdGVyKChrZXkpID0+IHRoaXMuY2hlY2tlZFtrZXldKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==