UNPKG

@ngx-formly/bootstrap

Version:

ngx-formly is an Angular 2 module which has a Components to help customize and render JavaScript/JSON configured forms. The formly-form Component and the FormlyConfig service are very powerful and bring unmatched maintainability to your application's form

46 lines (45 loc) 5.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component } from '@angular/core'; import { FormGroup, FormControl } from '@angular/forms'; import { FieldType } from '@ngx-formly/core'; import { Observable } from 'rxjs'; var FormlyFieldMultiCheckbox = /** @class */ (function (_super) { tslib_1.__extends(FormlyFieldMultiCheckbox, _super); function FormlyFieldMultiCheckbox() { return _super !== null && _super.apply(this, arguments) || this; } /** * @param {?} model * @param {?} field * @return {?} */ FormlyFieldMultiCheckbox.createControl = /** * @param {?} model * @param {?} field * @return {?} */ function (model, field) { if (field.templateOptions.options instanceof Observable) { throw new Error("[Formly Error] You cannot pass an Observable to a multicheckbox yet."); } /** @type {?} */ var controls = field.templateOptions.options.reduce(function (obj, option) { obj[option.key] = new FormControl(model ? model[option.key] : undefined); return obj; }, {}); return new FormGroup(controls, field.validators ? field.validators.validation : undefined, field.asyncValidators ? field.asyncValidators.validation : undefined); }; FormlyFieldMultiCheckbox.decorators = [ { type: Component, args: [{ selector: 'formly-field-multicheckbox', template: "\n <div class=\"custom-control custom-checkbox\" *ngFor=\"let option of to.options; let i = index;\">\n <input class=\"custom-control-input\" type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [value]=\"option.value\"\n [formControl]=\"formControl.get(option.key)\"\n [formlyAttributes]=\"field\">\n <label class=\"custom-control-label\" [for]=\"id + '_' + i\">\n {{ option.value }}\n </label>\n </div>\n " }] } ]; return FormlyFieldMultiCheckbox; }(FieldType)); export { FormlyFieldMultiCheckbox }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGljaGVja2JveC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3gtZm9ybWx5L2Jvb3RzdHJhcC8iLCJzb3VyY2VzIjpbImxpYi90eXBlcy9tdWx0aWNoZWNrYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7O0lBaUJZLG9EQUFTOzs7Ozs7Ozs7SUFFOUMsc0NBQWE7Ozs7O0lBQXBCLFVBQXFCLEtBQVUsRUFBRSxLQUF3QjtRQUN2RCxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxZQUFZLFVBQVUsRUFBRTtZQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLHNFQUFzRSxDQUFDLENBQUM7U0FDekY7O1FBRUQsSUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBRyxFQUFFLE1BQU07WUFDaEUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sR0FBRyxDQUFDO1NBQ1osRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLE9BQU8sSUFBSSxTQUFTLENBQ2xCLFFBQVEsRUFDUixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUMxRCxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNyRSxDQUFDO0tBQ0g7O2dCQWhDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLHljQVdUO2lCQUNGOzttQ0FuQkQ7RUFvQjhDLFNBQVM7U0FBMUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm1seS1maWVsZC1tdWx0aWNoZWNrYm94JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94XCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB0by5vcHRpb25zOyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbaWRdPVwiaWQgKyAnXycgKyBpXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbC5nZXQob3B0aW9uLmtleSlcIlxuICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIiBbZm9yXT1cImlkICsgJ18nICsgaVwiPlxuICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkTXVsdGlDaGVja2JveCBleHRlbmRzIEZpZWxkVHlwZSB7XG5cbiAgc3RhdGljIGNyZWF0ZUNvbnRyb2wobW9kZWw6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICBpZiAoZmllbGQudGVtcGxhdGVPcHRpb25zLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFtGb3JtbHkgRXJyb3JdIFlvdSBjYW5ub3QgcGFzcyBhbiBPYnNlcnZhYmxlIHRvIGEgbXVsdGljaGVja2JveCB5ZXQuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbHMgPSBmaWVsZC50ZW1wbGF0ZU9wdGlvbnMub3B0aW9ucy5yZWR1Y2UoKG9iaiwgb3B0aW9uKSA9PiB7XG4gICAgICBvYmpbb3B0aW9uLmtleV0gPSBuZXcgRm9ybUNvbnRyb2wobW9kZWwgPyBtb2RlbFtvcHRpb24ua2V5XSA6IHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9KTtcblxuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKFxuICAgICAgY29udHJvbHMsXG4gICAgICBmaWVsZC52YWxpZGF0b3JzID8gZmllbGQudmFsaWRhdG9ycy52YWxpZGF0aW9uIDogdW5kZWZpbmVkLFxuICAgICAgZmllbGQuYXN5bmNWYWxpZGF0b3JzID8gZmllbGQuYXN5bmNWYWxpZGF0b3JzLnZhbGlkYXRpb24gOiB1bmRlZmluZWQsXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=