{"version":3,"file":"ngx-ol-library-map.mjs","sources":["../../../src/map/map.component.ts","../../../src/map/map.module.ts","../../../src/map/ngx-ol-library-map.ts"],"sourcesContent":["import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  DestroyRef,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  InjectOptions,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n  inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { ObjectEvent } from 'ol/Object';\nimport Collection from 'ol/Collection';\nimport Map, { MapOptions } from 'ol/Map';\nimport MapBrowserEvent from 'ol/MapBrowserEvent';\nimport MapEvent from 'ol/MapEvent';\nimport Overlay from 'ol/Overlay';\nimport View, { ViewOptions } from 'ol/View';\nimport Control from 'ol/control/Control';\nimport BaseEvent from 'ol/events/Event';\nimport Interaction from 'ol/interaction/Interaction';\nimport BaseLayer from 'ol/layer/Base';\nimport LayerGroup from 'ol/layer/Group';\nimport RenderEvent from 'ol/render/Event';\nimport { NolPrefixedOptions } from 'ngx-ol-library/core';\n\n/**\n * This is the main container for all other ngx-ol-library components.\n * @name nol-map\n * @order 1\n */\n@Component({\n  selector: 'nol-map',\n  standalone: true,\n  template: `<ng-content></ng-content>`,\n  styles: [`\n    :host {\n      position: relative;\n      display: block;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NolMapComponent implements NolPrefixedOptions<MapOptions>, OnInit, AfterViewInit, OnChanges, OnDestroy {\n\n  @Input() nolControls?: Collection<Control> | Control[];\n  @Input() nolPixelRatio?: number;\n  @Input() nolInteractions?: Collection<Interaction> | Interaction[];\n  @Input() nolKeyboardEventTarget?: string | Document | HTMLElement;\n  @Input() nolLayers?: BaseLayer[] | Collection<BaseLayer> | LayerGroup;\n  @Input() nolMaxTilesLoading?: number;\n  @Input() nolMoveTolerance?: number;\n  @Input() nolOverlays?: Collection<Overlay> | Overlay[];\n  @Input() nolTarget?: string | HTMLElement;\n  @Input() nolView?: View | Promise<ViewOptions>;\n  @Input() @HostBinding('attr.tabIndex') nolTabIndex?: number;\n  @Input() @HostBinding('style.width') nolWidth: string | number = '100%';\n  @Input() @HostBinding('style.height') nolHeight: string | number = '100%';\n\n  @Output() nolChange = new EventEmitter<BaseEvent>();\n  @Output() nolLayerGroupChange = new EventEmitter<ObjectEvent>();\n  @Output() nolSizeChange = new EventEmitter<ObjectEvent>();\n  @Output() nolTargetChange = new EventEmitter<string|HTMLElement>();\n  @Output() nolViewChange = new EventEmitter<View>();\n  @Output() nolClick = new EventEmitter<MapBrowserEvent<PointerEvent>>();\n  @Output() nolDblclick = new EventEmitter<MapBrowserEvent<PointerEvent>>();\n  @Output() nolError = new EventEmitter<BaseEvent>();\n  @Output() nolLoadend = new EventEmitter<MapEvent>();\n  @Output() nolLoadstart = new EventEmitter<MapEvent>();\n  @Output() nolMoveend = new EventEmitter<MapEvent>();\n  @Output() nolMovestart = new EventEmitter<MapEvent>();\n  @Output() nolPointerdrag = new EventEmitter<MapBrowserEvent<PointerEvent>>();\n  @Output() nolPointermove = new EventEmitter<MapBrowserEvent<PointerEvent>>();\n  @Output() nolPostcompose = new EventEmitter<RenderEvent>();\n  @Output() nolPostrender = new EventEmitter<MapEvent>();\n  @Output() nolPrecompose = new EventEmitter<RenderEvent>();\n  @Output() nolPropertychange = new EventEmitter<ObjectEvent>();\n  @Output() nolRendercomplete = new EventEmitter<RenderEvent>();\n  @Output() nolSingleclick = new EventEmitter<MapBrowserEvent<PointerEvent>>();\n\n  private readonly cdr = inject(ChangeDetectorRef);\n  private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n  private readonly destroyRef = inject(DestroyRef);\n  private instance!: Map;\n\n  getInstance() {\n    return this.instance;\n  }\n\n  ngOnInit(): void {\n    this.instance = new Map({\n      controls: this.nolControls,\n      pixelRatio: this.nolPixelRatio,\n      interactions: this.nolInteractions,\n      keyboardEventTarget: this.nolKeyboardEventTarget,\n      layers: this.nolLayers,\n      maxTilesLoading: this.nolMaxTilesLoading,\n      moveTolerance: this.nolMoveTolerance,\n      overlays: this.nolOverlays,\n      view: this.nolView,\n    });\n\n    fromEvent<BaseEvent>(this.instance, 'change')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolChange.emit(evt);\n      });\n\n    fromEvent<ObjectEvent>(this.instance, 'change:layerGroup')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolLayerGroupChange.emit(evt);\n      });\n\n    fromEvent<ObjectEvent>(this.instance, 'change:size')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolSizeChange.emit(evt);\n      });\n\n    fromEvent<ObjectEvent>(this.instance, 'change:target')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(() => {\n        this.nolTarget = this.instance.getTarget();\n        this.nolTargetChange.emit(this.nolTarget);\n        this.cdr.markForCheck();\n      });\n\n    fromEvent<ObjectEvent>(this.instance, 'change:view')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(() => {\n        this.nolView = this.instance.getView();\n        this.nolViewChange.emit(this.nolView);\n        this.cdr.markForCheck();\n      });\n\n    fromEvent<MapBrowserEvent<PointerEvent>>(this.instance, 'click')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolClick.emit(evt);\n      });\n\n    fromEvent<MapBrowserEvent<PointerEvent>>(this.instance, 'dblclick')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolDblclick.emit(evt);\n      });\n\n    fromEvent<BaseEvent>(this.instance, 'error')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolError.emit(evt);\n      });\n\n    fromEvent<MapEvent>(this.instance, 'loadend')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolLoadend.emit(evt);\n      });\n\n    fromEvent<MapEvent>(this.instance, 'loadstart')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolLoadstart.emit(evt);\n      });\n\n    fromEvent<MapEvent>(this.instance, 'moveend')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolMoveend.emit(evt);\n      });\n\n    fromEvent<MapEvent>(this.instance, 'movestart')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolMovestart.emit(evt);\n      });\n\n    fromEvent<MapBrowserEvent<PointerEvent>>(this.instance, 'pointerdrag')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolPointerdrag.emit(evt);\n      });\n\n    fromEvent<MapBrowserEvent<PointerEvent>>(this.instance, 'pointermove')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolPointermove.emit(evt);\n      });\n\n    fromEvent<RenderEvent>(this.instance, 'postcompose')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolPostcompose.emit(evt);\n      });\n\n    fromEvent<MapEvent>(this.instance, 'postrender')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolPostrender.emit(evt);\n      });\n\n    fromEvent<RenderEvent>(this.instance, 'precompose')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolPrecompose.emit(evt);\n      });\n\n    fromEvent<ObjectEvent>(this.instance, 'propertychange')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolPropertychange.emit(evt);\n      });\n\n    fromEvent<RenderEvent>(this.instance, 'rendercomplete')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolRendercomplete.emit(evt);\n      });\n\n    fromEvent<MapBrowserEvent<PointerEvent>>(this.instance, 'singleclick')\n      .pipe(takeUntilDestroyed(this.destroyRef))\n      .subscribe(evt => {\n        this.nolSingleclick.emit(evt);\n      });\n  }\n\n  ngAfterViewInit(): void {\n    if (!this.nolTarget) {\n      this.nolTarget = this.elementRef.nativeElement as HTMLElement;\n    }\n    this.instance.setTarget(this.nolTarget);\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.instance) return;\n\n    const { nolLayers, nolTarget, nolView } = changes;\n\n    if (nolLayers) {\n      this.instance.setLayers(nolLayers.currentValue);\n    }\n\n    if (nolTarget) {\n      this.instance.setTarget(nolTarget.currentValue);\n    }\n\n    if (nolView) {\n      this.instance.setView(nolView.currentValue);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.instance.dispose();\n  }\n\n}\n\nexport function injectMap(): NolMapComponent;\nexport function injectMap(options: InjectOptions & {optional?: false}): NolMapComponent;\nexport function injectMap(options: InjectOptions): NolMapComponent | null;\nexport function injectMap(options?: InjectOptions): NolMapComponent | null  {\n  return inject(NolMapComponent, options || {}) || null;\n}","import { NgModule } from '@angular/core';\nimport { NolMapComponent } from './map.component';\n\n\n\n@NgModule({\n  imports: [NolMapComponent],\n  exports: [NolMapComponent],\n})\nexport class NolMapModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}