com.phloxui
Version:
PhloxUI Ng2+ Framework
109 lines (108 loc) • 8.81 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/utils';
const /** @type {?} */ NAME = 'max';
export class MaxValidator extends AbstractValidator {
/**
* @param {?} el
* @param {?} target
* @param {?} phloxAppService
*/
constructor(el, target, phloxAppService) {
super(el, target, NAME, null, phloxAppService);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
}
/**
* @return {?}
*/
getMaxDate() {
if (this.max !== null && typeof this.max !== 'undefined') {
return DateTimeUtils.getDateFromAny(this.max);
}
else {
return new Date();
}
}
/**
* @param {?} max
* @return {?}
*/
setMax(max) {
this.max = max;
}
/**
* @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.max) < Number(value)) {
message = "max Number " + this.max;
status = ValidationStatus.ERROR;
}
}
else if (value !== null && typeof value !== 'undefined' && value !== '') {
value = DateTimeUtils.getDateFromAny(value);
if (this.getMaxDate().getTime() < value.getTime()) {
message = "max Date";
status = ValidationStatus.ERROR;
}
}
result.setMessage(message);
result.setStatus(status);
return result;
}
/**
* @param {?} options
* @return {?}
*/
setOptions(options) {
this.options = options;
}
}
MaxValidator.NAME = NAME;
MaxValidator.decorators = [
{ type: Directive, args: [{
selector: '[phxMax]'
},] },
];
/** @nocollapse */
MaxValidator.ctorParameters = () => [
{ type: ElementRef, },
{ type: ViewContainerRef, },
{ type: PhloxAppInfoService, },
];
MaxValidator.propDecorators = {
"max": [{ type: Input, args: ['phxMax',] },],
};
function MaxValidator_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MaxValidator.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MaxValidator.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MaxValidator.propDecorators;
/** @type {?} */
MaxValidator.NAME;
/** @type {?} */
MaxValidator.prototype.max;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF4VmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZS9NYXhWYWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELHVCQUFNLElBQUksR0FBRyxLQUFLLENBQUM7QUFLbkIsTUFBTSxtQkFBb0IsU0FBUSxpQkFBc0I7Ozs7OztJQU90RCxZQUFZLEVBQWMsRUFBRSxNQUF3QixFQUFFLGVBQW9DO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDaEQ7Ozs7SUFFTSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDOzs7OztJQUdaLFVBQVU7UUFDZixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ25COzs7Ozs7SUFHSSxNQUFNLENBQUMsR0FBUTtRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzs7Ozs7O0lBR1YsVUFBVSxDQUFDLEtBQVU7UUFDMUIscUJBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixxQkFBSSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ3RDLHFCQUFJLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVuRCxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsT0FBTyxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO2FBQ2pDO1NBQ0Y7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUUsS0FBSyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE9BQU8sR0FBRyxVQUFVLENBQUM7Z0JBQ3JCLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7YUFDakM7U0FDRjtRQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixNQUFNLENBQUMsTUFBTSxDQUFDOzs7Ozs7SUFHVCxVQUFVLENBQUMsT0FBWTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzs7O29CQWxESSxJQUFJOztZQUxsQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7YUFDckI7Ozs7WUFYa0MsVUFBVTtZQUFFLGdCQUFnQjtZQUl0RCxtQkFBbUI7OztvQkFZekIsS0FBSyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgSW5wdXQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblN0YXR1cyB9IGZyb20gJy4uL2NvbXBvbmVudC92YWxpZGF0ZS9WYWxpZGF0aW9uU3RhdHVzJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uL2NvbXBvbmVudC9tb2RlbC9WYWxpZGF0aW9uUmVzdWx0JztcclxuaW1wb3J0IHsgQWJzdHJhY3RWYWxpZGF0b3IgfSBmcm9tICcuLi9jb21wb25lbnQvdmFsaWRhdGUvQWJzdHJhY3RWYWxpZGF0b3InO1xyXG5pbXBvcnQgeyBQaGxveEFwcEluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRlVGltZVV0aWxzIH0gZnJvbSAnLi4vc2hhcmUvdXRpbHMvdXRpbHMnO1xyXG5cclxuY29uc3QgTkFNRSA9ICdtYXgnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcGh4TWF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1heFZhbGlkYXRvciBleHRlbmRzIEFic3RyYWN0VmFsaWRhdG9yPGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIE5BTUU6IHN0cmluZyA9IE5BTUU7XHJcblxyXG4gIEBJbnB1dCgncGh4TWF4JylcclxuICBwcml2YXRlIG1heDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmLCBwaGxveEFwcFNlcnZpY2U6IFBobG94QXBwSW5mb1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKGVsLCB0YXJnZXQsIE5BTUUsIG51bGwsIHBobG94QXBwU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1heERhdGUoKTogYW55IHtcclxuICAgIGlmICh0aGlzLm1heCAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5tYXggIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVybiBEYXRlVGltZVV0aWxzLmdldERhdGVGcm9tQW55KHRoaXMubWF4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE1heChtYXg6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXggPSBtYXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9WYWxpZGF0ZSh2YWx1ZTogYW55KTogVmFsaWRhdGlvblJlc3VsdCB7XHJcbiAgICBsZXQgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICBsZXQgc3RhdHVzID0gVmFsaWRhdGlvblN0YXR1cy5TVUNDRVNTO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uUmVzdWx0KG1lc3NhZ2UsIHN0YXR1cyk7XHJcblxyXG4gICAgaWYgKE51bWJlcih2YWx1ZSkpIHtcclxuICAgICAgaWYgKE51bWJlcih0aGlzLm1heCkgPCBOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgICAgbWVzc2FnZSA9IFwibWF4IE51bWJlciBcIiArIHRoaXMubWF4O1xyXG4gICAgICAgIHN0YXR1cyA9IFZhbGlkYXRpb25TdGF0dXMuRVJST1I7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gJycpIHtcclxuICAgICAgdmFsdWUgPSBEYXRlVGltZVV0aWxzLmdldERhdGVGcm9tQW55KHZhbHVlKTtcclxuICAgICAgaWYgKHRoaXMuZ2V0TWF4RGF0ZSgpLmdldFRpbWUoKSA8IHZhbHVlLmdldFRpbWUoKSkge1xyXG4gICAgICAgIG1lc3NhZ2UgPSBcIm1heCBEYXRlXCI7XHJcbiAgICAgICAgc3RhdHVzID0gVmFsaWRhdGlvblN0YXR1cy5FUlJPUjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlc3VsdC5zZXRNZXNzYWdlKG1lc3NhZ2UpO1xyXG4gICAgcmVzdWx0LnNldFN0YXR1cyhzdGF0dXMpO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==