angular/packages/platform-server/src/server_events.ts
Kristiyan Kostadinov d010e11b73 feat(core): add event listener options to renderer (#59092)
Updates the `Renderer2.listen` signature to accept event options, as well as all adjacent types to it.

PR Close #59092
2024-12-10 13:39:47 -08:00

32 lines
881 B
TypeScript

/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';
import {Inject, Injectable, type ListenerOptions} from '@angular/core';
import {EventManagerPlugin} from '@angular/platform-browser';
@Injectable()
export class ServerEventManagerPlugin extends EventManagerPlugin {
constructor(@Inject(DOCUMENT) private doc: any) {
super(doc);
}
// Handle all events on the server.
override supports(eventName: string) {
return true;
}
override addEventListener(
element: HTMLElement,
eventName: string,
handler: Function,
options?: ListenerOptions,
): Function {
return getDOM().onAndCancel(element, eventName, handler, options);
}
}