com.phloxui
Version:
PhloxUI Ng2+ Framework
89 lines (88 loc) • 7.58 kB
JavaScript
/**
* @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==