ng-timeparser
Version:
[](https://badge.fury.io/js/ng-timeparser) [](https://travis-ci.org/feeloor/ng-timeparser)
56 lines (55 loc) • 3.74 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Directive, HostListener, Output, EventEmitter, Input } from '@angular/core';
import { TimeParserService } from './../services';
export class TimeParserDirective {
/**
* @param {?} timeParserService
*/
constructor(timeParserService) {
this.timeParserService = timeParserService;
this.ngModelChange = new EventEmitter();
this.militaryTime = this.militaryTime || false;
}
/**
* @param {?} event
* @return {?}
*/
onBlur(event) {
this.ngModelChange.emit(this.timeParserService.parseTime(event.target.value, this.militaryTime));
}
}
TimeParserDirective.decorators = [
{ type: Directive, args: [{
selector: '[timeParser]'
},] },
];
/** @nocollapse */
TimeParserDirective.ctorParameters = () => [
{ type: TimeParserService, },
];
TimeParserDirective.propDecorators = {
"militaryTime": [{ type: Input },],
"ngModelChange": [{ type: Output },],
"onBlur": [{ type: HostListener, args: ['blur', ['$event'],] },],
};
function TimeParserDirective_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
TimeParserDirective.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
TimeParserDirective.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
TimeParserDirective.propDecorators;
/** @type {?} */
TimeParserDirective.prototype.militaryTime;
/** @type {?} */
TimeParserDirective.prototype.ngModelChange;
/** @type {?} */
TimeParserDirective.prototype.timeParserService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1wYXJzZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctdGltZXBhcnNlci8iLCJzb3VyY2VzIjpbInNyYy9hcHAvdGltZS1wYXJzZXIvZGlyZWN0aXZlcy90aW1lLXBhcnNlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtsRCxNQUFNOzs7O0lBSUosWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7NkJBRlIsSUFBSSxZQUFZLEVBQVU7UUFHeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztLQUNoRDs7Ozs7SUFFaUMsTUFBTSxDQUFDLEtBQUs7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzs7OztZQVpwRyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7YUFDekI7Ozs7WUFKUSxpQkFBaUI7Ozs2QkFNdkIsS0FBSzs4QkFDTCxNQUFNO3VCQU1OLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRpbWVQYXJzZXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0aW1lUGFyc2VyXSdcbn0pXG5leHBvcnQgY2xhc3MgVGltZVBhcnNlckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIG1pbGl0YXJ5VGltZTogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG5nTW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aW1lUGFyc2VyU2VydmljZTogVGltZVBhcnNlclNlcnZpY2UpIHtcbiAgICB0aGlzLm1pbGl0YXJ5VGltZSA9IHRoaXMubWlsaXRhcnlUaW1lIHx8IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pIG9uQmx1cihldmVudCkge1xuICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KHRoaXMudGltZVBhcnNlclNlcnZpY2UucGFyc2VUaW1lKGV2ZW50LnRhcmdldC52YWx1ZSwgdGhpcy5taWxpdGFyeVRpbWUpKTtcbiAgfVxufVxuIl19