common-ui/src/lib/directives/prevent-default.directive.ts
2023-07-07 18:19:43 +03:00

20 lines
587 B
TypeScript

import { booleanAttribute, Directive, HostListener, inject, Input } from '@angular/core';
import { NGXLogger } from 'ngx-logger';
@Directive({
selector: '[iqserPreventDefault]',
standalone: true,
})
export class PreventDefaultDirective {
readonly #logger = inject(NGXLogger);
@Input({ transform: booleanAttribute }) iqserPreventDefault = true;
@HostListener('click', ['$event'])
onClick($event: Event) {
if (this.iqserPreventDefault) {
this.#logger.info('[CLICK] iqserPreventDefault');
$event.preventDefault();
}
}
}