@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
JavaScript
/**
* @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=