com.phloxui
Version:
PhloxUI Ng2+ Framework
106 lines (105 loc) • 8.55 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 Max 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;
}
}
Max.decorators = [
{ type: Directive, args: [{
selector: '[phxMax]'
},] },
];
/** @nocollapse */
Max.ctorParameters = () => [
{ type: ElementRef, },
{ type: ViewContainerRef, },
{ type: PhloxAppInfoService, },
];
Max.propDecorators = {
"max": [{ type: Input, args: ['phxMax',] },],
};
function Max_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
Max.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
Max.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
Max.propDecorators;
/** @type {?} */
Max.prototype.max;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZS9NYXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELHVCQUFNLElBQUksR0FBRyxLQUFLLENBQUM7QUFLbkIsTUFBTSxVQUFXLFNBQVEsaUJBQXNCOzs7Ozs7SUFLN0MsWUFBWSxFQUFjLEVBQUUsTUFBd0IsRUFBRSxlQUFvQztRQUN4RixLQUFLLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0tBQ2hEOzs7O0lBRU0sUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQy9DO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUNuQjs7Ozs7O0lBR0ksTUFBTSxDQUFDLEdBQVE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7Ozs7OztJQUdWLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLHFCQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIscUJBQUksTUFBTSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN0QyxxQkFBSSxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFbkQsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLE9BQU8sR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDbkMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQzthQUNqQztTQUNGO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFFLEtBQUssR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLEdBQUcsVUFBVSxDQUFDO2dCQUNyQixNQUFNLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO2FBQ2pDO1NBQ0Y7UUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsTUFBTSxDQUFDLE1BQU0sQ0FBQzs7Ozs7O0lBR1QsVUFBVSxDQUFDLE9BQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Ozs7WUFyRDFCLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTthQUNyQjs7OztZQVhrQyxVQUFVO1lBQUUsZ0JBQWdCO1lBSXRELG1CQUFtQjs7O29CQVV6QixLQUFLLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29tcG9uZW50L3ZhbGlkYXRlL1ZhbGlkYXRpb25TdGF0dXMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vY29tcG9uZW50L21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFZhbGlkYXRvciB9IGZyb20gJy4uL2NvbXBvbmVudC92YWxpZGF0ZS9BYnN0cmFjdFZhbGlkYXRvcic7XHJcbmltcG9ydCB7IFBobG94QXBwSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL1BobG94QXBwSW5mb1NlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lVXRpbHMgfSBmcm9tICcuLi9zaGFyZS91dGlscy91dGlscyc7XHJcblxyXG5jb25zdCBOQU1FID0gJ21heCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1twaHhNYXhdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF4IGV4dGVuZHMgQWJzdHJhY3RWYWxpZGF0b3I8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgncGh4TWF4JylcclxuICBwcml2YXRlIG1heDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmLCBwaGxveEFwcFNlcnZpY2U6IFBobG94QXBwSW5mb1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKGVsLCB0YXJnZXQsIE5BTUUsIG51bGwsIHBobG94QXBwU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1heERhdGUoKTogYW55IHtcclxuICAgIGlmICh0aGlzLm1heCAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5tYXggIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVybiBEYXRlVGltZVV0aWxzLmdldERhdGVGcm9tQW55KHRoaXMubWF4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE1heChtYXg6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXggPSBtYXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9WYWxpZGF0ZSh2YWx1ZTogYW55KTogVmFsaWRhdGlvblJlc3VsdCB7XHJcbiAgICBsZXQgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICBsZXQgc3RhdHVzID0gVmFsaWRhdGlvblN0YXR1cy5TVUNDRVNTO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uUmVzdWx0KG1lc3NhZ2UsIHN0YXR1cyk7XHJcblxyXG4gICAgaWYgKE51bWJlcih2YWx1ZSkpIHtcclxuICAgICAgaWYgKE51bWJlcih0aGlzLm1heCkgPCBOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgICAgbWVzc2FnZSA9IFwibWF4IE51bWJlciBcIiArIHRoaXMubWF4O1xyXG4gICAgICAgIHN0YXR1cyA9IFZhbGlkYXRpb25TdGF0dXMuRVJST1I7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gJycpIHtcclxuICAgICAgdmFsdWUgPSBEYXRlVGltZVV0aWxzLmdldERhdGVGcm9tQW55KHZhbHVlKTtcclxuICAgICAgaWYgKHRoaXMuZ2V0TWF4RGF0ZSgpLmdldFRpbWUoKSA8IHZhbHVlLmdldFRpbWUoKSkge1xyXG4gICAgICAgIG1lc3NhZ2UgPSBcIm1heCBEYXRlXCI7XHJcbiAgICAgICAgc3RhdHVzID0gVmFsaWRhdGlvblN0YXR1cy5FUlJPUjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlc3VsdC5zZXRNZXNzYWdlKG1lc3NhZ2UpO1xyXG4gICAgcmVzdWx0LnNldFN0YXR1cyhzdGF0dXMpO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==