moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
42 lines • 3.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Output, EventEmitter, HostListener } from '@angular/core';
export class DateFieldFormatDirective {
constructor() {
this.ngModelChange = new EventEmitter(false);
}
/**
* @param {?} event
* @return {?}
*/
onInput(event) {
/** @type {?} */
const input = (/** @type {?} */ (event.target));
/** @type {?} */
const maxlen = input.getAttribute('maxlength');
/** @type {?} */
let trimmed = input.value.trim();
if (/[^\d]+/.test(input.value)) {
trimmed = trimmed.replace(/[^\d]/g, '');
}
trimmed = trimmed.substr(0, Number(maxlen));
input.value = trimmed;
this.ngModelChange.emit(trimmed);
}
}
DateFieldFormatDirective.decorators = [
{ type: Directive, args: [{
selector: '[commonDateFieldFormat]'
},] }
];
DateFieldFormatDirective.propDecorators = {
ngModelChange: [{ type: Output }],
onInput: [{ type: HostListener, args: ['input', ['$event'],] }]
};
if (false) {
/** @type {?} */
DateFieldFormatDirective.prototype.ngModelChange;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC1mb3JtYXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW9oLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9kYXRlL2RhdGUtZmllbGQtZm9ybWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs5RSxNQUFNLE9BQU8sd0JBQXdCO0lBSHJDO1FBS1ksa0JBQWEsR0FBeUIsSUFBSSxZQUFZLENBQVMsS0FBSyxDQUFDLENBQUM7SUFrQmxGLENBQUM7Ozs7O0lBZkMsT0FBTyxDQUFFLEtBQW9COztjQUNyQixLQUFLLEdBQUcsbUJBQUEsS0FBSyxDQUFDLE1BQU0sRUFBb0I7O2NBQ3hDLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFFLFdBQVcsQ0FBRTs7WUFFNUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ2hDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBRSxLQUFLLENBQUMsS0FBSyxDQUFFLEVBQUc7WUFFakMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBRSxNQUFNLENBQUUsQ0FBRSxDQUFDO1FBRWhELEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFFLE9BQU8sQ0FBRSxDQUFDO0lBQ3JDLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjthQUNwQzs7OzRCQUdFLE1BQU07c0JBRU4sWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7OztJQUZqQyxpREFBZ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NvbW1vbkRhdGVGaWVsZEZvcm1hdF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlRmllbGRGb3JtYXREaXJlY3RpdmUge1xyXG5cclxuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oZmFsc2UpO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXHJcbiAgb25JbnB1dCggZXZlbnQ6IEtleWJvYXJkRXZlbnQgKSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgbWF4bGVuID0gaW5wdXQuZ2V0QXR0cmlidXRlKCAnbWF4bGVuZ3RoJyApO1xyXG5cclxuICAgIGxldCB0cmltbWVkID0gaW5wdXQudmFsdWUudHJpbSgpO1xyXG4gICAgaWYgKC9bXlxcZF0rLy50ZXN0KCBpbnB1dC52YWx1ZSApICkge1xyXG5cclxuICAgICAgdHJpbW1lZCA9IHRyaW1tZWQucmVwbGFjZSgvW15cXGRdL2csICcnKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmltbWVkID0gdHJpbW1lZC5zdWJzdHIoIDAsIE51bWJlciggbWF4bGVuICkgKTtcclxuXHJcbiAgICBpbnB1dC52YWx1ZSA9IHRyaW1tZWQ7XHJcbiAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCggdHJpbW1lZCApO1xyXG4gIH1cclxufVxyXG4iXX0=