UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

89 lines (88 loc) 7.58 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Directive, ElementRef, Input, ViewContainerRef } from '@angular/core'; import { ValidationResult } from '../component/model/ValidationResult'; import { ValidationStatus } from '../component/validate/ValidationStatus'; import { AbstractValidator } from '../component/validate/AbstractValidator'; import { PhloxAppInfoService } from '../service/PhloxAppInfoService.service'; const /** @type {?} */ NAME = 'require'; export class RequiredValidator extends AbstractValidator { /** * @param {?} el * @param {?} target * @param {?} phloxAppService */ constructor(el, target, phloxAppService) { super(el, target, NAME, null, phloxAppService); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); } /** * @param {?} value * @return {?} */ doValidate(value) { let /** @type {?} */ message = ""; let /** @type {?} */ status = ValidationStatus.SUCCESS; let /** @type {?} */ source = this.getTargetComponent(); let /** @type {?} */ result = new ValidationResult(message, status, source); let /** @type {?} */ isReq = true; if (typeof this.required === 'boolean') { isReq = this.required; } if (isReq) { if (value !== null && typeof value !== 'undefined') { if (typeof value === 'string') { if (value === '') { message = ""; status = ValidationStatus.ERROR; } } } else { message = ""; status = ValidationStatus.ERROR; } } result.setMessage(message); result.setStatus(status); return result; } } RequiredValidator.NAME = NAME; RequiredValidator.decorators = [ { type: Directive, args: [{ selector: '[phxRequired]' },] }, ]; /** @nocollapse */ RequiredValidator.ctorParameters = () => [ { type: ElementRef, }, { type: ViewContainerRef, }, { type: PhloxAppInfoService, }, ]; RequiredValidator.propDecorators = { "required": [{ type: Input, args: ['phxRequired',] },], }; function RequiredValidator_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ RequiredValidator.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ RequiredValidator.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ RequiredValidator.propDecorators; /** @type {?} */ RequiredValidator.NAME; /** @type {?} */ RequiredValidator.prototype.required; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWlyZWRWYWxpZGF0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlL1JlcXVpcmVkVmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWdCLEtBQUssRUFBNEIsZ0JBQWdCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDN0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFJN0UsdUJBQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztBQUt2QixNQUFNLHdCQUF5QixTQUFRLGlCQUFzQjs7Ozs7O0lBTzNELFlBQVksRUFBYyxFQUFFLE1BQXdCLEVBQUUsZUFBb0M7UUFDeEYsS0FBSyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztLQUNoRDs7OztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Ozs7OztJQUdaLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLHFCQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIscUJBQUksTUFBTSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN0QyxxQkFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkMscUJBQUksTUFBTSxHQUFHLElBQUksZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzRCxxQkFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZCO1FBRUQsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNWLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDOUIsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQ2pCLE9BQU8sR0FBRyxFQUFFLENBQUM7d0JBQ2IsTUFBTSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztxQkFDakM7aUJBQ0Y7YUFDRjtZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQzthQUNqQztTQUNGO1FBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpCLE1BQU0sQ0FBQyxNQUFNLENBQUM7Ozt5QkF6Q2EsSUFBSTs7WUFMbEMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBYm1CLFVBQVU7WUFBaUQsZ0JBQWdCO1lBS3RGLG1CQUFtQjs7O3lCQWF6QixLQUFLLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlciwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vY29tcG9uZW50L21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xuaW1wb3J0IHsgSVZhbGlkYXRvciB9IGZyb20gJy4uL2NvbXBvbmVudC92YWxpZGF0ZS9JVmFsaWRhdG9yJztcbmltcG9ydCB7IFZhbGlkYXRpb25TdGF0dXMgfSBmcm9tICcuLi9jb21wb25lbnQvdmFsaWRhdGUvVmFsaWRhdGlvblN0YXR1cyc7XG5pbXBvcnQgeyBBYnN0cmFjdFZhbGlkYXRvciB9IGZyb20gJy4uL2NvbXBvbmVudC92YWxpZGF0ZS9BYnN0cmFjdFZhbGlkYXRvcic7XG5pbXBvcnQgeyBQaGxveEFwcEluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UnO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IE5BTUUgPSAncmVxdWlyZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twaHhSZXF1aXJlZF0nXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVpcmVkVmFsaWRhdG9yIGV4dGVuZHMgQWJzdHJhY3RWYWxpZGF0b3I8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHN0YXRpYyBOQU1FOiBzdHJpbmcgPSBOQU1FO1xuXG4gIEBJbnB1dCgncGh4UmVxdWlyZWQnKVxuICBwcml2YXRlIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYsIHBobG94QXBwU2VydmljZTogUGhsb3hBcHBJbmZvU2VydmljZSkge1xuICAgIHN1cGVyKGVsLCB0YXJnZXQsIE5BTUUsIG51bGwsIHBobG94QXBwU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkb1ZhbGlkYXRlKHZhbHVlOiBhbnkpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBsZXQgbWVzc2FnZSA9IFwiXCI7XG4gICAgbGV0IHN0YXR1cyA9IFZhbGlkYXRpb25TdGF0dXMuU1VDQ0VTUztcbiAgICBsZXQgc291cmNlID0gdGhpcy5nZXRUYXJnZXRDb21wb25lbnQoKTtcbiAgICBsZXQgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25SZXN1bHQobWVzc2FnZSwgc3RhdHVzLCBzb3VyY2UpO1xuXG4gICAgbGV0IGlzUmVxID0gdHJ1ZTtcbiAgICBpZiAodHlwZW9mIHRoaXMucmVxdWlyZWQgPT09ICdib29sZWFuJykge1xuICAgICAgaXNSZXEgPSB0aGlzLnJlcXVpcmVkO1xuICAgIH1cblxuICAgIGlmIChpc1JlcSkge1xuICAgICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcbiAgICAgICAgICAgIHN0YXR1cyA9IFZhbGlkYXRpb25TdGF0dXMuRVJST1I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlID0gXCJcIjtcbiAgICAgICAgc3RhdHVzID0gVmFsaWRhdGlvblN0YXR1cy5FUlJPUjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXN1bHQuc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICByZXN1bHQuc2V0U3RhdHVzKHN0YXR1cyk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cbiJdfQ==