From 38dd02249e3c488793a5c567cba851c05dba7d05 Mon Sep 17 00:00:00 2001 From: sidhanshamil Date: Tue, 17 Sep 2024 16:10:45 +0530 Subject: [PATCH] feat(google-maps): Add support for mouse events in map-advanced-marker --- .../map-advanced-marker.spec.ts | 15 ++++++++++ .../map-advanced-marker.ts | 30 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/src/google-maps/map-advanced-marker/map-advanced-marker.spec.ts b/src/google-maps/map-advanced-marker/map-advanced-marker.spec.ts index c35ef1d92853..47686bb860e7 100644 --- a/src/google-maps/map-advanced-marker/map-advanced-marker.spec.ts +++ b/src/google-maps/map-advanced-marker/map-advanced-marker.spec.ts @@ -127,6 +127,11 @@ describe('MapAdvancedMarker', () => { flush(); expect(addSpy).toHaveBeenCalledWith('click', jasmine.any(Function)); + expect(addSpy).toHaveBeenCalledWith('dblclick', jasmine.any(Function)); + expect(addSpy).toHaveBeenCalledWith('mouseout', jasmine.any(Function)); + expect(addSpy).toHaveBeenCalledWith('mouseover', jasmine.any(Function)); + expect(addSpy).toHaveBeenCalledWith('mouseup', jasmine.any(Function)); + expect(addSpy).toHaveBeenCalledWith('rightclick', jasmine.any(Function)); expect(addSpy).not.toHaveBeenCalledWith('drag', jasmine.any(Function)); expect(addSpy).not.toHaveBeenCalledWith('dragend', jasmine.any(Function)); expect(addSpy).not.toHaveBeenCalledWith('dragstart', jasmine.any(Function)); @@ -163,6 +168,11 @@ describe('MapAdvancedMarker', () => { [gmpDraggable]="gmpDraggable" [zIndex]="zIndex" (mapClick)="handleClick()" + (mapDblclick)="handleDblclick()" + (mapMouseout)="handleMouseout()" + (mapMouseover)="handleMouseover()" + (mapMouseup)="handleMouseup()" + (mapRightclick)="handleRightclick()" [options]="options" /> `, @@ -179,4 +189,9 @@ class TestApp { options: google.maps.marker.AdvancedMarkerElementOptions; handleClick() {} + handleDblclick() {} + handleMouseout() {} + handleMouseover() {} + handleMouseup() {} + handleRightclick() {} } diff --git a/src/google-maps/map-advanced-marker/map-advanced-marker.ts b/src/google-maps/map-advanced-marker/map-advanced-marker.ts index aff4b6781c40..f95313fd8de4 100644 --- a/src/google-maps/map-advanced-marker/map-advanced-marker.ts +++ b/src/google-maps/map-advanced-marker/map-advanced-marker.ts @@ -124,6 +124,36 @@ export class MapAdvancedMarker implements OnInit, OnChanges, OnDestroy, MapAncho @Output() readonly mapClick: Observable = this._eventManager.getLazyEmitter('click'); + /** + * This event is fired when the AdvancedMarkerElement is double-clicked. + */ + @Output() readonly mapDblclick: Observable = + this._eventManager.getLazyEmitter('dblclick'); + + /** + * This event is fired when the mouse moves out of the AdvancedMarkerElement. + */ + @Output() readonly mapMouseout: Observable = + this._eventManager.getLazyEmitter('mouseout'); + + /** + * This event is fired when the mouse moves over the AdvancedMarkerElement. + */ + @Output() readonly mapMouseover: Observable = + this._eventManager.getLazyEmitter('mouseover'); + + /** + * This event is fired when the mouse button is released over the AdvancedMarkerElement. + */ + @Output() readonly mapMouseup: Observable = + this._eventManager.getLazyEmitter('mouseup'); + + /** + * This event is fired when the AdvancedMarkerElement is right-clicked. + */ + @Output() readonly mapRightclick: Observable = + this._eventManager.getLazyEmitter('rightclick'); + /** * This event is repeatedly fired while the user drags the AdvancedMarkerElement. * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.drag