UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

100 lines (99 loc) 8.95 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Directive, ElementRef, Input, ViewContainerRef } from '@angular/core'; import { ValidationResult } from '../component/model/ValidationResult'; import { AbstractValidator } from '../component/validate/AbstractValidator'; import { ValidationStatus } from '../component/validate/ValidationStatus'; import { PhloxAppInfoService } from '../service/PhloxAppInfoService.service'; import { Option } from '../decorator/Option.decorator'; var /** @type {?} */ NAME = 'custom'; var CustomValidator = /** @class */ (function (_super) { tslib_1.__extends(CustomValidator, _super); function CustomValidator(el, target, phloxAppService) { return _super.call(this, el, target, NAME, null, phloxAppService) || this; } /** * @return {?} */ CustomValidator.prototype.ngOnInit = /** * @return {?} */ function () { _super.prototype.ngOnInit.call(this); }; /** * @param {?} value * @return {?} */ CustomValidator.prototype.doValidate = /** * @param {?} value * @return {?} */ function (value) { var /** @type {?} */ source = this.getTargetComponent(); var /** @type {?} */ result = new ValidationResult(); result.setStatus(ValidationStatus.NORMAL); result.setSource(source); if (this.validatorFunc === null || typeof this.validatorFunc !== 'function') { return result; } // Call validatorFunc() var /** @type {?} */ funcResult = this.validatorFunc(value, source); if (funcResult === null || funcResult === undefined) { return result; } else if (funcResult instanceof ValidationResult) { result.setStatus(funcResult.getStatus()); result.setMessage(funcResult.getMessage()); } else if (typeof funcResult === 'number') { // This should be ValidationStatus. result.setStatus(funcResult); } else if (typeof funcResult === 'string') { // This should be message. result.setMessage(funcResult); } return result; }; CustomValidator.NAME = NAME; CustomValidator.decorators = [ { type: Directive, args: [{ selector: '[phxCustomValidator]' },] }, ]; /** @nocollapse */ CustomValidator.ctorParameters = function () { return [ { type: ElementRef, }, { type: ViewContainerRef, }, { type: PhloxAppInfoService, }, ]; }; CustomValidator.propDecorators = { "validatorFunc": [{ type: Input, args: ['phxCustomValidator',] },], }; tslib_1.__decorate([ Option('validate'), tslib_1.__metadata("design:type", Function) ], CustomValidator.prototype, "validatorFunc", void 0); return CustomValidator; }(AbstractValidator)); export { CustomValidator }; function CustomValidator_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ CustomValidator.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ CustomValidator.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ CustomValidator.propDecorators; /** @type {?} */ CustomValidator.NAME; /** @type {?} */ CustomValidator.prototype.validatorFunc; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tVmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZS9DdXN0b21WYWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWdCLEtBQUssRUFBNEIsZ0JBQWdCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFN0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZELHFCQUFNLElBQUksR0FBRyxRQUFRLENBQUM7O0lBS2UsMkNBQXNCO0lBUXpELHlCQUFZLEVBQWMsRUFBRSxNQUF3QixFQUFFLGVBQW9DO2VBQ3hGLGtCQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUM7S0FDL0M7Ozs7SUFFTSxrQ0FBUTs7OztRQUNiLGlCQUFNLFFBQVEsV0FBRSxDQUFDOzs7Ozs7SUFHWixvQ0FBVTs7OztjQUFDLEtBQVU7UUFDMUIscUJBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZDLHFCQUFJLE1BQU0sR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRXRELE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM1RSxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ2Y7O1FBR0QscUJBQUksVUFBVSxHQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhELEVBQUUsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDcEQsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUNmO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDbEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7O1lBRTFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDOUI7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQzs7WUFFMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvQjtRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUM7OzJCQXpDYSxJQUFJOztnQkFMbEMsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzs7O2dCQWhCbUIsVUFBVTtnQkFBaUQsZ0JBQWdCO2dCQU10RixtQkFBbUI7OztrQ0FlekIsS0FBSyxTQUFDLG9CQUFvQjs7O1FBQzFCLE1BQU0sQ0FBQyxVQUFVLENBQUM7MENBQ0ksUUFBUTs7MEJBdkJqQztFQWlCcUMsaUJBQWlCO1NBQXpDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgUmVuZGVyZXIsIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vY29tcG9uZW50L21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xuaW1wb3J0IHsgSVZhbGlkYXRvciB9IGZyb20gJy4uL2NvbXBvbmVudC92YWxpZGF0ZS9JVmFsaWRhdG9yJztcbmltcG9ydCB7IEFic3RyYWN0VmFsaWRhdG9yIH0gZnJvbSAnLi4vY29tcG9uZW50L3ZhbGlkYXRlL0Fic3RyYWN0VmFsaWRhdG9yJztcbmltcG9ydCB7IFZhbGlkYXRpb25TdGF0dXMgfSBmcm9tICcuLi9jb21wb25lbnQvdmFsaWRhdGUvVmFsaWRhdGlvblN0YXR1cyc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4TiB9IGZyb20gJy4uL2RlY29yYXRvci9JMThOLmRlY29yYXRvcic7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgTkFNRSA9ICdjdXN0b20nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcGh4Q3VzdG9tVmFsaWRhdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tVmFsaWRhdG9yIGV4dGVuZHMgQWJzdHJhY3RWYWxpZGF0b3I8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHN0YXRpYyBOQU1FOiBzdHJpbmcgPSBOQU1FO1xuXG4gIEBJbnB1dCgncGh4Q3VzdG9tVmFsaWRhdG9yJylcbiAgQE9wdGlvbigndmFsaWRhdGUnKVxuICBwcml2YXRlIHZhbGlkYXRvckZ1bmM6IEZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYsIHBobG94QXBwU2VydmljZTogUGhsb3hBcHBJbmZvU2VydmljZSkge1xuICAgIHN1cGVyKGVsLCB0YXJnZXQsIE5BTUUsIG51bGwsIHBobG94QXBwU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkb1ZhbGlkYXRlKHZhbHVlOiBhbnkpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBsZXQgc291cmNlID0gdGhpcy5nZXRUYXJnZXRDb21wb25lbnQoKTtcbiAgICBsZXQgcmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0ID0gbmV3IFZhbGlkYXRpb25SZXN1bHQoKTtcblxuICAgIHJlc3VsdC5zZXRTdGF0dXMoVmFsaWRhdGlvblN0YXR1cy5OT1JNQUwpO1xuICAgIHJlc3VsdC5zZXRTb3VyY2Uoc291cmNlKTtcblxuICAgIGlmICh0aGlzLnZhbGlkYXRvckZ1bmMgPT09IG51bGwgfHwgdHlwZW9mIHRoaXMudmFsaWRhdG9yRnVuYyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyBDYWxsIHZhbGlkYXRvckZ1bmMoKVxuICAgIGxldCBmdW5jUmVzdWx0OiBhbnkgPSB0aGlzLnZhbGlkYXRvckZ1bmModmFsdWUsIHNvdXJjZSk7XG5cbiAgICBpZiAoZnVuY1Jlc3VsdCA9PT0gbnVsbCB8fCBmdW5jUmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIGlmIChmdW5jUmVzdWx0IGluc3RhbmNlb2YgVmFsaWRhdGlvblJlc3VsdCkge1xuICAgICAgcmVzdWx0LnNldFN0YXR1cyhmdW5jUmVzdWx0LmdldFN0YXR1cygpKTtcbiAgICAgIHJlc3VsdC5zZXRNZXNzYWdlKGZ1bmNSZXN1bHQuZ2V0TWVzc2FnZSgpKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBmdW5jUmVzdWx0ID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGhpcyBzaG91bGQgYmUgVmFsaWRhdGlvblN0YXR1cy5cbiAgICAgIHJlc3VsdC5zZXRTdGF0dXMoZnVuY1Jlc3VsdCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZnVuY1Jlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkIGJlIG1lc3NhZ2UuXG4gICAgICByZXN1bHQuc2V0TWVzc2FnZShmdW5jUmVzdWx0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cbiJdfQ==