UNPKG

ngx-form-control

Version:
183 lines (182 loc) 10.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Input } from '@angular/core'; /** * @abstract */ var BaseControlComponent = /** @class */ (function () { function BaseControlComponent() { this.id = 'ngx-' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); this.innerCustomErrorMessages = []; this.name = ''; this.label = ''; this.placeholder = ''; this.title = ''; this.required = false; this.disabled = false; this.validMessage = ''; this.requiredErrorMessage = 'This field is required.'; } Object.defineProperty(BaseControlComponent.prototype, "customErrorMessages", { set: /** * @param {?} messages * @return {?} */ function (messages) { if (!messages) { this.innerCustomErrorMessages = []; } else if ('string' === typeof messages) { this.innerCustomErrorMessages = [messages]; } else if (messages[0]) { this.innerCustomErrorMessages = messages; } else { this.innerCustomErrorMessages = []; } }, enumerable: true, configurable: true }); Object.defineProperty(BaseControlComponent.prototype, "hasCustomError", { get: /** * @return {?} */ function () { return !!(this.innerCustomErrorMessages && this.innerCustomErrorMessages[0]); }, enumerable: true, configurable: true }); Object.defineProperty(BaseControlComponent.prototype, "hasRequiredError", { get: /** * @return {?} */ function () { return this.required && this.value !== false && this.value !== 0 && !this.value; }, enumerable: true, configurable: true }); /** * @param {?} fn * @return {?} */ BaseControlComponent.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { var _this = this; this._onChangeCallback = function (event) { if (_this.cleanCustomErrorMessageOnChanged) { _this.innerCustomErrorMessages = []; } return fn(event); }; }; /** * @param {?} fn * @return {?} */ BaseControlComponent.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this._onTouchedCallback = fn; }; /** * @return {?} */ BaseControlComponent.prototype.triggerChange = /** * @return {?} */ function () { if (this._onChangeCallback) { this._onChangeCallback(this.value); } }; BaseControlComponent.propDecorators = { name: [{ type: Input }], label: [{ type: Input }], placeholder: [{ type: Input }], title: [{ type: Input }], required: [{ type: Input }], disabled: [{ type: Input }], validMessage: [{ type: Input }], requiredErrorMessage: [{ type: Input }], cleanCustomErrorMessageOnChanged: [{ type: Input }], customErrorMessages: [{ type: Input }] }; return BaseControlComponent; }()); export { BaseControlComponent }; if (false) { /** @type {?} */ BaseControlComponent.prototype.id; /** @type {?} */ BaseControlComponent.prototype.innerCustomErrorMessages; /** @type {?} */ BaseControlComponent.prototype.name; /** @type {?} */ BaseControlComponent.prototype.label; /** @type {?} */ BaseControlComponent.prototype.placeholder; /** @type {?} */ BaseControlComponent.prototype.title; /** @type {?} */ BaseControlComponent.prototype.required; /** @type {?} */ BaseControlComponent.prototype.disabled; /** @type {?} */ BaseControlComponent.prototype.validMessage; /** @type {?} */ BaseControlComponent.prototype.requiredErrorMessage; /** @type {?} */ BaseControlComponent.prototype.cleanCustomErrorMessageOnChanged; /** @type {?} */ BaseControlComponent.prototype._onTouchedCallback; /** @type {?} */ BaseControlComponent.prototype._onChangeCallback; /** * @abstract * @return {?} */ BaseControlComponent.prototype.value = function () { }; /** * @abstract * @return {?} */ BaseControlComponent.prototype.invalid = function () { }; /** * @abstract * @return {?} */ BaseControlComponent.prototype.valid = function () { }; /** * @abstract * @return {?} */ BaseControlComponent.prototype.errorMessages = function () { }; /** * @abstract * @param {?} value * @return {?} */ BaseControlComponent.prototype.writeValue = function (value) { }; /** * @abstract * @return {?} */ BaseControlComponent.prototype.validate = function () { }; /** * @abstract * @return {?} */ BaseControlComponent.prototype.reset = function () { }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1mb3JtLWNvbnRyb2wvIiwic291cmNlcyI6WyJ1dGlscy9iYXNlLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7a0JBS3RCLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dDQUM5QyxFQUFFO29CQUM1QixFQUFFO3FCQUNELEVBQUU7MkJBQ0ksRUFBRTtxQkFDUixFQUFFO3dCQUNDLEtBQUs7d0JBQ0wsS0FBSzs0QkFDRCxFQUFFO29DQUNNLHlCQUF5Qjs7SUFLekQsc0JBQWEscURBQW1COzs7OztRQUFoQyxVQUFpQyxRQUFnQztZQUMvRCxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQzthQUNwQztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM1QztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsUUFBUSxDQUFDO2FBQzFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQzthQUNwQztTQUNGOzs7T0FBQTtJQVVELHNCQUFJLGdEQUFjOzs7O1FBQWxCO1lBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RTs7O09BQUE7SUFFRCxzQkFBSSxrREFBZ0I7Ozs7UUFBcEI7WUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDakY7OztPQUFBOzs7OztJQUlELCtDQUFnQjs7OztJQUFoQixVQUFpQixFQUFPO1FBQXhCLGlCQVFDO1FBUEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQUEsS0FBSztZQUM1QixFQUFFLENBQUMsQ0FBQyxLQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxLQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDO2FBQ3BDO1lBRUQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQixDQUFDO0tBQ0g7Ozs7O0lBRUQsZ0RBQWlCOzs7O0lBQWpCLFVBQWtCLEVBQU87UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztLQUM5Qjs7OztJQUVELDRDQUFhOzs7SUFBYjtRQUNFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztLQUNGOzt1QkE1REEsS0FBSzt3QkFDTCxLQUFLOzhCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7K0JBQ0wsS0FBSzt1Q0FDTCxLQUFLO21EQUNMLEtBQUs7c0NBSUwsS0FBSzs7K0JBcEJSOztTQUdzQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbnRyb2xDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcclxuXHJcbiAgLy8gbm9pbnNwZWN0aW9uIEpTVW51c2VkR2xvYmFsU3ltYm9sc1xyXG4gIHB1YmxpYyBpZCA9ICduZ3gtJyArIE1hdGguZmxvb3IoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIDB4MTAwMDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XHJcbiAgaW5uZXJDdXN0b21FcnJvck1lc3NhZ2VzOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgQElucHV0KCkgbmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSB2YWxpZE1lc3NhZ2UgPSAnJztcclxuICBASW5wdXQoKSByZXF1aXJlZEVycm9yTWVzc2FnZSA9ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLic7XHJcbiAgQElucHV0KCkgY2xlYW5DdXN0b21FcnJvck1lc3NhZ2VPbkNoYW5nZWQ7XHJcbiAgcHJvdGVjdGVkIF9vblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZDtcclxuICBwcm90ZWN0ZWQgX29uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQ7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBjdXN0b21FcnJvck1lc3NhZ2VzKG1lc3NhZ2VzOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+KSB7XHJcbiAgICBpZiAoIW1lc3NhZ2VzKSB7XHJcbiAgICAgIHRoaXMuaW5uZXJDdXN0b21FcnJvck1lc3NhZ2VzID0gW107XHJcbiAgICB9IGVsc2UgaWYgKCdzdHJpbmcnID09PSB0eXBlb2YgbWVzc2FnZXMpIHtcclxuICAgICAgdGhpcy5pbm5lckN1c3RvbUVycm9yTWVzc2FnZXMgPSBbbWVzc2FnZXNdO1xyXG4gICAgfSBlbHNlIGlmIChtZXNzYWdlc1swXSkge1xyXG4gICAgICB0aGlzLmlubmVyQ3VzdG9tRXJyb3JNZXNzYWdlcyA9IG1lc3NhZ2VzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbm5lckN1c3RvbUVycm9yTWVzc2FnZXMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGdldCB2YWx1ZSgpO1xyXG5cclxuICBhYnN0cmFjdCBnZXQgaW52YWxpZCgpOiBib29sZWFuO1xyXG5cclxuICBhYnN0cmFjdCBnZXQgdmFsaWQoKTogYm9vbGVhbjtcclxuXHJcbiAgYWJzdHJhY3QgZ2V0IGVycm9yTWVzc2FnZXMoKTogQXJyYXk8c3RyaW5nPjtcclxuXHJcbiAgZ2V0IGhhc0N1c3RvbUVycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhKHRoaXMuaW5uZXJDdXN0b21FcnJvck1lc3NhZ2VzICYmIHRoaXMuaW5uZXJDdXN0b21FcnJvck1lc3NhZ2VzWzBdKTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNSZXF1aXJlZEVycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZSAhPT0gZmFsc2UgJiYgdGhpcy52YWx1ZSAhPT0gMCAmJiAhdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQ7XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayA9IGV2ZW50ID0+IHtcclxuICAgICAgaWYgKHRoaXMuY2xlYW5DdXN0b21FcnJvck1lc3NhZ2VPbkNoYW5nZWQpIHtcclxuICAgICAgICB0aGlzLmlubmVyQ3VzdG9tRXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gZm4oZXZlbnQpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFic3RyYWN0IHZhbGlkYXRlKCk6IFZhbGlkYXRpb25FcnJvcnM7XHJcblxyXG4gIC8vIG5vaW5zcGVjdGlvbiBKU1VudXNlZEdsb2JhbFN5bWJvbHNcclxuICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==