{"version":3,"file":"primeng-gmap.mjs","sources":["../../src/app/components/gmap/gmap.ts","../../src/app/components/gmap/primeng-gmap.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,AfterViewChecked,DoCheck,Input,Output,EventEmitter,IterableDiffers,ChangeDetectorRef,NgZone,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\ndeclare var google: any;\n\n@Component({\n    selector: 'p-gmap',\n    template: `<div [ngStyle]=\"style\" [class]=\"styleClass\"></div>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class GMap implements AfterViewChecked,DoCheck {\n\n    @Input() style: any;\n\n    @Input() styleClass: string;\n\n    @Input() options: any;\n\n    @Input() overlays: any[];\n\n    @Output() onMapClick: EventEmitter<any> = new EventEmitter();\n\n    @Output() onOverlayClick: EventEmitter<any> = new EventEmitter();\n\n    @Output() onOverlayDblClick: EventEmitter<any> = new EventEmitter();\n\n    @Output() onOverlayDragStart: EventEmitter<any> = new EventEmitter();\n\n    @Output() onOverlayDrag: EventEmitter<any> = new EventEmitter();\n\n    @Output() onOverlayDragEnd: EventEmitter<any> = new EventEmitter();\n\n    @Output() onMapReady: EventEmitter<any> = new EventEmitter();\n\n    @Output() onMapDragEnd: EventEmitter<any> = new EventEmitter();\n\n    @Output() onZoomChanged: EventEmitter<any> = new EventEmitter();\n\n    differ: any;\n\n    map: any;\n\n    constructor(public el: ElementRef,differs: IterableDiffers, public cd: ChangeDetectorRef, public zone:NgZone) {\n        this.differ = differs.find([]).create(null);\n    }\n\n    ngAfterViewChecked() {\n        if (!this.map && this.el.nativeElement.offsetParent) {\n            this.initialize();\n        }\n    }\n\n    initialize() {\n        this.map = new google.maps.Map(this.el.nativeElement.children[0], this.options);\n        this.onMapReady.emit({\n            map: this.map\n        });\n\n        if (this.overlays) {\n            for(let overlay of this.overlays) {\n                overlay.setMap(this.map);\n                this.bindOverlayEvents(overlay);\n            }\n        }\n\n        this.map.addListener('click', (event) => {\n            this.zone.run(() => {\n                this.onMapClick.emit(event);\n            });\n        });\n\n        this.map.addListener('dragend', (event) => {\n            this.zone.run(() => {\n                this.onMapDragEnd.emit(event);\n            });\n        });\n\n        this.map.addListener('zoom_changed', (event) => {\n            this.zone.run(() => {\n                this.onZoomChanged.emit(event);\n            });\n        });\n    }\n\n    bindOverlayEvents(overlay: any) {\n        overlay.addListener('click', (event) => {\n            this.zone.run(() => {\n                this.onOverlayClick.emit({\n                    originalEvent: event,\n                    'overlay': overlay,\n                    map: this.map\n                });\n            });\n        });\n\n        overlay.addListener('dblclick', (event) => {\n            this.zone.run(() => {\n                this.onOverlayDblClick.emit({\n                    originalEvent: event,\n                    'overlay': overlay,\n                    map: this.map\n                });\n            });\n        });\n\n        if (overlay.getDraggable()) {\n            this.bindDragEvents(overlay);\n        }\n    }\n\n    ngDoCheck() {\n        let changes = this.differ.diff(this.overlays);\n\n        if (changes && this.map) {\n            changes.forEachRemovedItem((record) => {\n                google.maps.event.clearInstanceListeners(record.item);\n                record.item.setMap(null);\n            });\n\n            changes.forEachAddedItem((record) => {\n                record.item.setMap(this.map);\n                record.item.addListener('click', (event) => {\n                    this.zone.run(() => {\n                        this.onOverlayClick.emit({\n                            originalEvent: event,\n                            overlay: record.item,\n                            map: this.map\n                        });\n                    });\n                });\n\n                if (record.item.getDraggable()) {\n                    this.bindDragEvents(record.item);\n                }\n            });\n        }\n    }\n\n    bindDragEvents(overlay) {\n        overlay.addListener('dragstart', (event) => {\n            this.zone.run(() => {\n                this.onOverlayDragStart.emit({\n                    originalEvent: event,\n                    overlay: overlay,\n                    map: this.map\n                });\n            });\n        });\n\n        overlay.addListener('drag', (event) => {\n            this.zone.run(() => {\n                this.onOverlayDrag.emit({\n                    originalEvent: event,\n                    overlay: overlay,\n                    map: this.map\n                });\n            });\n        });\n\n        overlay.addListener('dragend', (event) => {\n            this.zone.run(() => {\n                this.onOverlayDragEnd.emit({\n                    originalEvent: event,\n                    overlay: overlay,\n                    map: this.map\n                });\n            });\n        });\n    }\n\n    getMap() {\n        return this.map;\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [GMap],\n    declarations: [GMap]\n})\nexport class GMapModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}