UNPKG

ngx-config-form

Version:
161 lines 11.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Input } from '@angular/core'; import { Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; /** * @abstract */ var BaseInput = /** @class */ (function () { function BaseInput() { this.isShowErrorMsg = true; // private sbObs: Subscription[] = []; this.sbObs = new Subscription(); this.ObjectUtil = Object; } Object.defineProperty(BaseInput.prototype, "cfForm", { get: /** * @return {?} */ function () { return this._cfForm; }, set: /** * @param {?} v * @return {?} */ function (v) { this._cfForm = v; this.cfFormSetting = v.cfFormSetting; this.cfFormGroup = v.cfFormGroup; }, enumerable: true, configurable: true }); /** * @return {?} */ BaseInput.prototype.ngOnInit = /** * @return {?} */ function () { this.groupElem = this.cfFormGroup.get(this.propName); this.elem = this.cfFormGroup.get([this.propName, this.cfFormSetting[this.propName].items[0].name]); this.elemValidators = this.cfFormSetting[this.propName].items[0].validators; this.setNotify(); }; /** * @return {?} */ BaseInput.prototype.ngOnDestroy = /** * @return {?} */ function () { this.sbObs.unsubscribe(); }; /** * @private * @return {?} */ BaseInput.prototype.setNotify = /** * @private * @return {?} */ function () { var _this = this; // set value this.sbObs.add(this.elem.statusChanges .pipe(filter((/** * @param {?} a * @return {?} */ function (a) { return a === 'VALID'; }))).subscribe((/** * @param {?} a * @return {?} */ function (a) { _this.cfForm.notifyValueChange(_this.propName, _this.elem.value); }))); // send error message this.sbObs.add(this.elem.statusChanges .subscribe((/** * @param {?} a * @return {?} */ function (a) { var e_1, _a; /** @type {?} */ var isValid = a === 'VALID'; /** @type {?} */ var vKey = _this.propName + "_" + _this.cfFormSetting[_this.propName].items[0].name; if (!isValid && _this.elem.errors) { /** @type {?} */ var errorInfo = {}; try { for (var _b = tslib_1.__values(Object.keys(_this.elem.errors)), _c = _b.next(); !_c.done; _c = _b.next()) { var key = _c.value; errorInfo[key] = { msg: _this.elemValidators[key].msg, dirty: _this.elem.dirty, }; } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } _this.cfForm.notifyValidatedInfo(vKey, false, errorInfo); } if (isValid) { _this.cfForm.notifyValidatedInfo(vKey, true); } }))); }; BaseInput.propDecorators = { cfForm: [{ type: Input }], isShowErrorMsg: [{ type: Input }] }; return BaseInput; }()); export { BaseInput }; if (false) { /** @type {?} */ BaseInput.prototype.propName; /** @type {?} */ BaseInput.prototype._cfForm; /** @type {?} */ BaseInput.prototype.isShowErrorMsg; /** @type {?} */ BaseInput.prototype.cfFormSetting; /** @type {?} */ BaseInput.prototype.cfFormGroup; /** * @type {?} * @protected */ BaseInput.prototype.groupElem; /** * @type {?} * @protected */ BaseInput.prototype.elem; /** * @type {?} * @protected */ BaseInput.prototype.elemValidators; /** * @type {?} * @private */ BaseInput.prototype.sbObs; /** @type {?} */ BaseInput.prototype.ObjectUtil; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUlucHV0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNvbmZpZy1mb3JtLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi9iYXNlSW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU94QztJQTRCRTtRQWRTLG1CQUFjLEdBQUcsSUFBSSxDQUFDOztRQVV2QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQUcsTUFBTSxDQUFDO0lBRUosQ0FBQztJQXZCakIsc0JBQ0ksNkJBQU07Ozs7UUFLVjtZQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QixDQUFDOzs7OztRQVJELFVBQ1csQ0FBUTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ25DLENBQUM7OztPQUFBOzs7O0lBb0JELDRCQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUU1RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7OztJQUVELCtCQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFFTyw2QkFBUzs7OztJQUFqQjtRQUFBLGlCQThCQztRQTdCQyxZQUFZO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO2FBQ25DLElBQUksQ0FDSCxNQUFNOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssT0FBTyxFQUFiLENBQWEsRUFBQyxDQUMzQixDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLENBQUM7WUFDWCxLQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBRU4scUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTthQUNuQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDOzs7Z0JBQ0osT0FBTyxHQUFHLENBQUMsS0FBSyxPQUFPOztnQkFDdkIsSUFBSSxHQUFNLEtBQUksQ0FBQyxRQUFRLFNBQUksS0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQU07WUFFbEYsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTs7b0JBQzFCLFNBQVMsR0FBZSxFQUFFOztvQkFDaEMsS0FBa0IsSUFBQSxLQUFBLGlCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTt3QkFBNUMsSUFBTSxHQUFHLFdBQUE7d0JBQ1osU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHOzRCQUNmLEdBQUcsRUFBRSxLQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUc7NEJBQ2pDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7eUJBQ3ZCLENBQUM7cUJBQ0g7Ozs7Ozs7OztnQkFDRCxLQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDekQ7WUFFRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxLQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUM3QztRQUNILENBQUMsRUFBQyxDQUFDLENBQUM7SUFDUixDQUFDOzt5QkFuRUEsS0FBSztpQ0FTTCxLQUFLOztJQTJEUixnQkFBQztDQUFBLEFBekVELElBeUVDO1NBekVxQixTQUFTOzs7SUFFN0IsNkJBQTBCOztJQUUxQiw0QkFBZTs7SUFVZixtQ0FBK0I7O0lBRS9CLGtDQUE0Qjs7SUFDNUIsZ0NBQXVCOzs7OztJQUV2Qiw4QkFBcUM7Ozs7O0lBQ3JDLHlCQUFnQzs7Ozs7SUFDaEMsbUNBQWlEOzs7OztJQUdqRCwwQkFBbUM7O0lBRW5DLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElFcnJvckluZm8gfSBmcm9tICcuL0lFcnJvckluZm8nO1xuaW1wb3J0IHsgSUZvcm0gfSBmcm9tICcuL0lGb3JtJztcbmltcG9ydCB7IElGb3JtU2V0dGluZyB9IGZyb20gJy4vSUZvcm1TZXR0aW5nJztcbmltcG9ydCB7IElJbnB1dCB9IGZyb20gJy4vSUlucHV0JztcbmltcG9ydCB7IElJbnB1dFZhbGlkYXRvclNldHRpbmcgfSBmcm9tICcuL0lJbnB1dFZhbGlkYXRvclNldHRpbmcnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUlucHV0IGltcGxlbWVudHMgSUlucHV0LCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgYWJzdHJhY3QgcHJvcE5hbWU6IHN0cmluZztcblxuICBfY2ZGb3JtOiBJRm9ybTtcbiAgQElucHV0KClcbiAgc2V0IGNmRm9ybSh2OiBJRm9ybSkge1xuICAgIHRoaXMuX2NmRm9ybSA9IHY7XG4gICAgdGhpcy5jZkZvcm1TZXR0aW5nID0gdi5jZkZvcm1TZXR0aW5nO1xuICAgIHRoaXMuY2ZGb3JtR3JvdXAgPSB2LmNmRm9ybUdyb3VwO1xuICB9XG4gIGdldCBjZkZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NmRm9ybTtcbiAgfVxuICBASW5wdXQoKSBpc1Nob3dFcnJvck1zZyA9IHRydWU7XG5cbiAgY2ZGb3JtU2V0dGluZzogSUZvcm1TZXR0aW5nO1xuICBjZkZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHByb3RlY3RlZCBncm91cEVsZW06IEFic3RyYWN0Q29udHJvbDtcbiAgcHJvdGVjdGVkIGVsZW06IEFic3RyYWN0Q29udHJvbDtcbiAgcHJvdGVjdGVkIGVsZW1WYWxpZGF0b3JzOiBJSW5wdXRWYWxpZGF0b3JTZXR0aW5nO1xuXG4gIC8vIHByaXZhdGUgc2JPYnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgc2JPYnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgT2JqZWN0VXRpbCA9IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JvdXBFbGVtID0gdGhpcy5jZkZvcm1Hcm91cC5nZXQodGhpcy5wcm9wTmFtZSk7XG4gICAgdGhpcy5lbGVtID0gdGhpcy5jZkZvcm1Hcm91cC5nZXQoW3RoaXMucHJvcE5hbWUsIHRoaXMuY2ZGb3JtU2V0dGluZ1t0aGlzLnByb3BOYW1lXS5pdGVtc1swXS5uYW1lXSk7XG4gICAgdGhpcy5lbGVtVmFsaWRhdG9ycyA9IHRoaXMuY2ZGb3JtU2V0dGluZ1t0aGlzLnByb3BOYW1lXS5pdGVtc1swXS52YWxpZGF0b3JzO1xuXG4gICAgdGhpcy5zZXROb3RpZnkoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2JPYnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Tm90aWZ5KCk6IGFueSB7XG4gICAgLy8gc2V0IHZhbHVlXG4gICAgdGhpcy5zYk9icy5hZGQodGhpcy5lbGVtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoYSA9PiBhID09PSAnVkFMSUQnKSxcbiAgICAgICkuc3Vic2NyaWJlKGEgPT4ge1xuICAgICAgICB0aGlzLmNmRm9ybS5ub3RpZnlWYWx1ZUNoYW5nZSh0aGlzLnByb3BOYW1lLCB0aGlzLmVsZW0udmFsdWUpO1xuICAgICAgfSkpO1xuXG4gICAgLy8gc2VuZCBlcnJvciBtZXNzYWdlXG4gICAgdGhpcy5zYk9icy5hZGQodGhpcy5lbGVtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUoYSA9PiB7XG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhID09PSAnVkFMSUQnO1xuICAgICAgICBjb25zdCB2S2V5ID0gYCR7dGhpcy5wcm9wTmFtZX1fJHt0aGlzLmNmRm9ybVNldHRpbmdbdGhpcy5wcm9wTmFtZV0uaXRlbXNbMF0ubmFtZX1gO1xuXG4gICAgICAgIGlmICghaXNWYWxpZCAmJiB0aGlzLmVsZW0uZXJyb3JzKSB7XG4gICAgICAgICAgY29uc3QgZXJyb3JJbmZvOiBJRXJyb3JJbmZvID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5lbGVtLmVycm9ycykpIHtcbiAgICAgICAgICAgIGVycm9ySW5mb1trZXldID0ge1xuICAgICAgICAgICAgICBtc2c6IHRoaXMuZWxlbVZhbGlkYXRvcnNba2V5XS5tc2csXG4gICAgICAgICAgICAgIGRpcnR5OiB0aGlzLmVsZW0uZGlydHksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNmRm9ybS5ub3RpZnlWYWxpZGF0ZWRJbmZvKHZLZXksIGZhbHNlLCBlcnJvckluZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICB0aGlzLmNmRm9ybS5ub3RpZnlWYWxpZGF0ZWRJbmZvKHZLZXksIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gIH1cbn1cbiJdfQ==