{"version":3,"file":"grupo-san-cristobal-agm-drawing.mjs","sources":["../../../packages/drawing/src/lib/directives/drawing-manager.ts","../../../packages/drawing/src/lib/directives/drawing-manager-trigger.ts","../../../packages/drawing/src/lib/drawing.module.ts","../../../packages/drawing/src/public-api.ts","../../../packages/drawing/src/grupo-san-cristobal-agm-drawing.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, isDevMode, NgZone, OnChanges, OnDestroy, Output, SimpleChanges } from '@angular/core';\nimport { fromEventPattern, Observable, Subscription } from 'rxjs';\n\n@Directive({\n    selector: 'agm-drawing-manager',\n    exportAs: 'agmDrawingManager',\n    standalone: false\n})\nexport class AgmDrawingManager implements OnChanges, OnDestroy{\n\n  /**\n   * The enabled/disabled state of the drawing control. Defaults to `true`.\n   *\n   */\n  @Input() drawingControl: boolean;\n\n  /**\n   * The DrawingManager's drawing mode, which defines the type of overlay to be\n   * added on the map. A drawing mode of null means that the user can interact\n   * with the map as normal, and clicks do not draw anything.\n   */\n  @Input() drawingMode: google.maps.drawing.OverlayType | null;\n\n  /**\n   * The display options for the drawing control.\n   *\n   */\n  @Input() drawingControlOptions: google.maps.drawing.DrawingControlOptions;\n\n  /**\n   * Options to apply to any new circles created with this DrawingManager.\n   * The `center` and `radius` properties are ignored, and the `map` property of a\n   * new circle is always set to the DrawingManager's map.\n   *\n   */\n  @Input() circleOptions: google.maps.CircleOptions;\n\n  /**\n   * Options to apply to any new markers created with this DrawingManager.\n   * The `position` property is ignored, and the `map` property of a new marker\n   * is always set to the DrawingManager's map.\n   *\n   */\n  @Input() markerOptions: google.maps.MarkerOptions;\n\n  /**\n   * Options to apply to any new polygons created with this DrawingManager.\n   * The `paths` property is ignored, and the map property of a new polygon is\n   * always set to the DrawingManager's map.\n   *\n   */\n  @Input() polygonOptions: google.maps.PolygonOptions;\n\n  /**\n   * Options to apply to any new polylines created with this DrawingManager.\n   * The `path` property is ignored, and the map property of a new polyline is\n   * always set to the DrawingManager's map.\n   *\n   */\n  @Input() polylineOptions: google.maps.PolylineOptions;\n\n  /**\n   * Options to apply to any new rectangles created with this DrawingManager.\n   * The `bounds` property is ignored, and the map property of a new rectangle\n   * is always set to the DrawingManager's map.\n   *\n   */\n  @Input() rectangleOptions: google.maps.RectangleOptions;\n\n  /**\n   * This event is fired when the user has finished drawing a circle.\n   */\n  @Output() circleComplete = new EventEmitter<google.maps.Circle>();\n\n  /**\n   * This event is fired when the user has finished drawing a marker.\n   */\n  @Output() markerComplete = new EventEmitter<google.maps.Marker>();\n\n  /**\n   * This event is fired when the user has finished drawing an overlay of any\n   * type.\n   */\n  @Output() overlayComplete = new EventEmitter<google.maps.drawing.OverlayCompleteEvent>();\n\n  /**\n   * This event is fired when the user has finished drawing a polygon.\n   */\n  @Output() polygonComplete = new EventEmitter<google.maps.Polygon>();\n\n  /**\n   * This event is fired when the user has finished drawing a polyline.\n   */\n  @Output() polylineComplete = new EventEmitter<google.maps.Polyline>();\n\n  /**\n   * This event is fired when the user has finished drawing a rectangle.\n   */\n  @Output() rectangleComplete = new EventEmitter<google.maps.Rectangle>();\n\n  private eventSubscriptions: Subscription[] = [];\n\n  private drawingManager: google.maps.drawing.DrawingManager;\n\n  constructor(private _zone: NgZone) {\n  }\n\n  setMap(map: google.maps.Map) {\n    if (!google.maps.drawing && isDevMode()) {\n      console.error('Cannot use drawing manager if drawing library is not ' +\n        'loaded. To fix, add libraries: [\\'drawing\\'] to the ' +\n        'lazyMapsAPILoaderConfig you passed to AgmCoreModule.forRoot');\n      return;\n    }\n    if (map && !this.drawingManager) {\n      this.drawingManager = new google.maps.drawing.DrawingManager({\n          map,\n          circleOptions: this.circleOptions,\n          markerOptions: this.markerOptions,\n          polygonOptions: this.polygonOptions,\n          polylineOptions: this.polylineOptions,\n          rectangleOptions: this.rectangleOptions,\n          drawingControl: this.drawingControl,\n          drawingControlOptions: this.drawingControlOptions,\n          drawingMode: this.drawingMode,\n      });\n      this.initEvents(this.drawingManager);\n    } else if (!map && this.drawingManager) {\n      this.drawingManager.setMap(null);\n    }\n    // else do nothing\n  }\n\n  initEvents(drawingManager: google.maps.drawing.DrawingManager) {\n    this.eventSubscriptions.push(\n      this.createMvcObservable<google.maps.Circle>('circlecomplete', drawingManager)\n      .subscribe(circle => this._zone.run(() => this.circleComplete.next(circle)))\n    );\n    this.eventSubscriptions.push(\n      this.createMvcObservable<google.maps.Marker>('markercomplete', drawingManager)\n      .subscribe(marker => this._zone.run(() => this.markerComplete.next(marker)))\n    );\n    this.eventSubscriptions.push(\n      this.createMvcObservable<google.maps.Polygon>('polygoncomplete', drawingManager)\n      .subscribe(polygon => this._zone.run(() => this.polygonComplete.next(polygon)))\n    );\n    this.eventSubscriptions.push(\n      this.createMvcObservable<google.maps.Polyline>('polylinecomplete', drawingManager)\n      .subscribe(polyline => this._zone.run(() => this.polylineComplete.next(polyline)))\n    );\n    this.eventSubscriptions.push(\n      this.createMvcObservable<google.maps.drawing.OverlayCompleteEvent>('overlaycomplete', drawingManager)\n      .subscribe(overlayevent => this._zone.run(() => this.overlayComplete.next(overlayevent)))\n    );\n    this.eventSubscriptions.push(\n      this.createMvcObservable<google.maps.Rectangle>('rectanglecomplete', drawingManager)\n      .subscribe(rectangle => this._zone.run(() => this.rectangleComplete.next(rectangle)))\n    );\n  }\n\n  createMvcObservable<E>(eventName: string, mvcObject: google.maps.MVCObject): Observable<E> {\n    return fromEventPattern(\n      handler => mvcObject.addListener(eventName,\n        (event?: E) => handler.apply(null, [event])),\n      (_handler, evListener: google.maps.MapsEventListener) => evListener.remove()\n    );\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.drawingManager) {\n      return;\n    }\n\n    const options = Object.entries(changes)\n    .map(([prop, change]) => [prop, change.currentValue])\n    .reduce((obj: any, [propName, propValue]) => {\n      obj[propName] = propValue;\n      return obj;\n    }, {});\n    this.drawingManager.setOptions(options);\n  }\n\n  ngOnDestroy(): void {\n    this.eventSubscriptions.forEach(subscription => subscription.unsubscribe());\n  }\n\n}\n","import { AgmMap } from '@grupo-san-cristobal/agm-core';\nimport { AfterViewInit, Directive, Host, Input, OnDestroy } from '@angular/core';\nimport { first } from 'rxjs/operators';\nimport { AgmDrawingManager } from './drawing-manager';\n\n@Directive({\n    selector: 'agm-map[agmDrawingManager]',\n    exportAs: 'matDrawingManagerTrigger',\n    standalone: false\n})\nexport class AgmDrawingManagerTrigger implements AfterViewInit, OnDestroy{\n\n  /** The drawing manager to be attached to this trigger. */\n  // tslint:disable-next-line: no-input-rename\n  @Input('agmDrawingManager') drawingManager: AgmDrawingManager;\n\n  constructor(@Host() private _agmMap: AgmMap) {\n  }\n\n  ngAfterViewInit(): void {\n    this._agmMap.mapReady.pipe(first()).subscribe(map => this.drawingManager.setMap(map));\n  }\n\n  ngOnDestroy() {\n    this._agmMap.mapReady.pipe(first()).subscribe(() => this.drawingManager.setMap(null));\n  }\n}\n","import { AgmCoreModule } from '@grupo-san-cristobal/agm-core';\nimport { NgModule } from '@angular/core';\nimport { AgmDrawingManager } from './directives/drawing-manager';\nimport { AgmDrawingManagerTrigger } from './directives/drawing-manager-trigger';\n\n@NgModule({\n  imports: [AgmCoreModule],\n  declarations: [AgmDrawingManager, AgmDrawingManagerTrigger],\n  exports: [AgmDrawingManager, AgmDrawingManagerTrigger],\n})\nexport class AgmDrawingModule {\n}\n","/*\n * Public API Surface of drawing\n */\n\nexport * from './lib/directives';\nexport * from './lib/drawing.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}