UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

109 lines (108 loc) 8.81 kB
/** * @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==