@taiga-ui/event-plugins
Version:
This is a library for optimizing performance sensitive events and declarative preventDefault and stopPropagation
23 lines • 2.86 kB
JavaScript
import { Injectable } from '@angular/core';
import { AbstractEventPlugin } from './abstract.plugin';
import * as i0 from "@angular/core";
class SelfEventPlugin extends AbstractEventPlugin {
constructor() {
super(...arguments);
this.modifier = '.self';
}
addEventListener(element, event, handler) {
return this.manager.addEventListener(element, this.unwrap(event), (event) => {
if (event.target === event.currentTarget) {
handler(event);
}
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelfEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelfEventPlugin }); }
}
export { SelfEventPlugin };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelfEventPlugin, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3NlbGYucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRXRELE1BQ2EsZUFBZ0IsU0FBUSxtQkFBbUI7SUFEeEQ7O1FBRXVCLGFBQVEsR0FBRyxPQUFPLENBQUM7S0FpQnpDO0lBZlUsZ0JBQWdCLENBQ25CLE9BQW9CLEVBQ3BCLEtBQWEsRUFDYixPQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQ2hDLE9BQU8sRUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUNsQixDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ2IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtRQUNMLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzsrR0FqQlEsZUFBZTttSEFBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QWJzdHJhY3RFdmVudFBsdWdpbn0gZnJvbSAnLi9hYnN0cmFjdC5wbHVnaW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VsZkV2ZW50UGx1Z2luIGV4dGVuZHMgQWJzdHJhY3RFdmVudFBsdWdpbiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGlmaWVyID0gJy5zZWxmJztcblxuICAgIHB1YmxpYyBhZGRFdmVudExpc3RlbmVyKFxuICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICAgICAgZXZlbnQ6IHN0cmluZyxcbiAgICAgICAgaGFuZGxlcjogRnVuY3Rpb24sXG4gICAgKTogRnVuY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgdGhpcy51bndyYXAoZXZlbnQpLFxuICAgICAgICAgICAgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlcihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=