gp-crm-ui
Version:
Модуль компонентов UI Имя модуля: `gp-crm-ui`
45 lines (37 loc) • 1.11 kB
text/typescript
import {
Directive,
ElementRef,
EventEmitter,
Output
} from '@angular/core';
// Маска ввода
import * as Inputmask from 'inputmask/dist/inputmask/inputmask.date.extensions';
// Директива - маска ввода даты
export class CrmDateMaskDirective {
constructor(private readonly el: ElementRef) {
Inputmask(this.SETTINGS)
.mask(this.el.nativeElement);
}
// Событие, маска заполнена
public completeMask = new EventEmitter<boolean>();
// Параметры маски
private readonly SETTINGS = {
alias: 'datetime',
inputFormat: 'dd.mm.yyyy',
placeholder: 'дд.мм.гггг',
autoUnmask: true,
oncomplete: this.onComplete.bind(this),
onincomplete: this.onIncomplete.bind(this)
};
// Обработчик заполнения маски
private onComplete(): void {
this.completeMask.emit(true);
}
// Обработчик снятия заполнения маски (после потери фокуса)
private onIncomplete(): void {
this.completeMask.emit(false);
}
}