com.phloxui
Version:
PhloxUI Ng2+ Framework
102 lines (101 loc) • 8.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Directive, Input, ElementRef, ViewContainerRef } from '@angular/core';
import { ValidationStatus } from '../component/validate/ValidationStatus';
import { ValidationResult } from '../component/model/ValidationResult';
import { AbstractValidator } from '../component/validate/AbstractValidator';
import { PhloxAppInfoService } from '../service/PhloxAppInfoService.service';
import { DateTimeUtils } from '../share/utils/DateTimeUtils';
const /** @type {?} */ NAME = 'min';
export class MinValidator extends AbstractValidator {
/**
* @param {?} el
* @param {?} target
* @param {?} phloxAppService
*/
constructor(el, target, phloxAppService) {
super(el, target, NAME, null, phloxAppService);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
}
/**
* @return {?}
*/
getMinDate() {
if (this.min !== null && typeof this.min !== 'undefined') {
return DateTimeUtils.getDateFromAny(this.min);
}
else {
return new Date();
}
}
/**
* @param {?} min
* @return {?}
*/
setMinDateTime(min) {
this.min = min;
}
/**
* @param {?} value
* @return {?}
*/
doValidate(value) {
let /** @type {?} */ message = "";
let /** @type {?} */ status = ValidationStatus.SUCCESS;
let /** @type {?} */ result = new ValidationResult(message, status);
if (Number(value)) {
if (Number(this.min) > Number(value)) {
message = "min Number " + this.min;
status = ValidationStatus.ERROR;
}
}
else if (value !== null && typeof value !== 'undefined' && this.min !== null && typeof this.min !== 'undefined') {
value = DateTimeUtils.getDateFromAny(value);
if (this.getMinDate().getTime() > value.getTime()) {
message = "min Date";
status = ValidationStatus.ERROR;
}
}
result.setMessage(message);
result.setStatus(status);
return result;
}
}
MinValidator.NAME = NAME;
MinValidator.decorators = [
{ type: Directive, args: [{
selector: '[phxMin]'
},] },
];
/** @nocollapse */
MinValidator.ctorParameters = () => [
{ type: ElementRef, },
{ type: ViewContainerRef, },
{ type: PhloxAppInfoService, },
];
MinValidator.propDecorators = {
"min": [{ type: Input, args: ['phxMin',] },],
};
function MinValidator_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MinValidator.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MinValidator.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MinValidator.propDecorators;
/** @type {?} */
MinValidator.NAME;
/** @type {?} */
MinValidator.prototype.min;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWluVmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZS9NaW5WYWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdELHVCQUFNLElBQUksR0FBRyxLQUFLLENBQUM7QUFLbkIsTUFBTSxtQkFBb0IsU0FBUSxpQkFBc0I7Ozs7OztJQU90RCxZQUFZLEVBQWMsRUFBRSxNQUF3QixFQUFFLGVBQW9DO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDaEQ7Ozs7SUFFTSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDOzs7OztJQUdaLFVBQVU7UUFDZixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ25COzs7Ozs7SUFHSSxjQUFjLENBQUMsR0FBUTtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzs7Ozs7O0lBR1YsVUFBVSxDQUFDLEtBQVU7UUFDMUIscUJBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixxQkFBSSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ3RDLHFCQUFJLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVuRCxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsT0FBTyxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO2FBQ2pDO1NBQ0Y7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbEgsS0FBSyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE9BQU8sR0FBRyxVQUFVLENBQUM7Z0JBQ3JCLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7YUFDakM7U0FDRjtRQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixNQUFNLENBQUMsTUFBTSxDQUFDOzs7b0JBOUNhLElBQUk7O1lBTGxDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTthQUNyQjs7OztZQVhrQyxVQUFVO1lBQUUsZ0JBQWdCO1lBSXRELG1CQUFtQjs7O29CQVl6QixLQUFLLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29tcG9uZW50L3ZhbGlkYXRlL1ZhbGlkYXRpb25TdGF0dXMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vY29tcG9uZW50L21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFZhbGlkYXRvciB9IGZyb20gJy4uL2NvbXBvbmVudC92YWxpZGF0ZS9BYnN0cmFjdFZhbGlkYXRvcic7XHJcbmltcG9ydCB7IFBobG94QXBwSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL1BobG94QXBwSW5mb1NlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lVXRpbHMgfSBmcm9tICcuLi9zaGFyZS91dGlscy9EYXRlVGltZVV0aWxzJztcclxuXHJcbmNvbnN0IE5BTUUgPSAnbWluJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3BoeE1pbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaW5WYWxpZGF0b3IgZXh0ZW5kcyBBYnN0cmFjdFZhbGlkYXRvcjxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBOQU1FOiBzdHJpbmcgPSBOQU1FO1xyXG5cclxuICBASW5wdXQoJ3BoeE1pbicpXHJcbiAgcHJpdmF0ZSBtaW46IERhdGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYsIHBobG94QXBwU2VydmljZTogUGhsb3hBcHBJbmZvU2VydmljZSkge1xyXG4gICAgc3VwZXIoZWwsIHRhcmdldCwgTkFNRSwgbnVsbCwgcGhsb3hBcHBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TWluRGF0ZSgpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMubWluICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLm1pbiAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbHMuZ2V0RGF0ZUZyb21BbnkodGhpcy5taW4pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TWluRGF0ZVRpbWUobWluOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubWluID0gbWluO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvVmFsaWRhdGUodmFsdWU6IGFueSk6IFZhbGlkYXRpb25SZXN1bHQge1xyXG4gICAgbGV0IG1lc3NhZ2UgPSBcIlwiO1xyXG4gICAgbGV0IHN0YXR1cyA9IFZhbGlkYXRpb25TdGF0dXMuU1VDQ0VTUztcclxuICAgIGxldCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvblJlc3VsdChtZXNzYWdlLCBzdGF0dXMpO1xyXG5cclxuICAgIGlmIChOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgIGlmIChOdW1iZXIodGhpcy5taW4pID4gTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICAgIG1lc3NhZ2UgPSBcIm1pbiBOdW1iZXIgXCIgKyB0aGlzLm1pbjtcclxuICAgICAgICBzdGF0dXMgPSBWYWxpZGF0aW9uU3RhdHVzLkVSUk9SO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5taW4gIT09IG51bGwgJiYgdHlwZW9mIHRoaXMubWluICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB2YWx1ZSA9IERhdGVUaW1lVXRpbHMuZ2V0RGF0ZUZyb21BbnkodmFsdWUpO1xyXG4gICAgICBpZiAodGhpcy5nZXRNaW5EYXRlKCkuZ2V0VGltZSgpID4gdmFsdWUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgbWVzc2FnZSA9IFwibWluIERhdGVcIjtcclxuICAgICAgICBzdGF0dXMgPSBWYWxpZGF0aW9uU3RhdHVzLkVSUk9SO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdWx0LnNldE1lc3NhZ2UobWVzc2FnZSk7XHJcbiAgICByZXN1bHQuc2V0U3RhdHVzKHN0YXR1cyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==