@guajiritos/map 19.0.0 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/guajiritos-map.mjs +7 -7
- package/fesm2022/guajiritos-map.mjs.map +1 -1
- package/index.d.ts +182 -3
- package/package.json +9 -9
- package/interfaces/interfaces.d.ts +0 -50
- package/lib/guajiritos-map.component.d.ts +0 -130
- package/public-api.d.ts +0 -2
|
@@ -35,9 +35,9 @@ class GuajiritosMap {
|
|
|
35
35
|
constructor() {
|
|
36
36
|
this._destroyedRef = inject(DestroyRef);
|
|
37
37
|
this.layerGroup = new L.LayerGroup();
|
|
38
|
-
this.mapMarkers = signal([]);
|
|
39
|
-
this.options = signal(DEFAULT_MAP_OPTION);
|
|
40
|
-
this.circle = signal(null);
|
|
38
|
+
this.mapMarkers = signal([], ...(ngDevMode ? [{ debugName: "mapMarkers" }] : []));
|
|
39
|
+
this.options = signal(DEFAULT_MAP_OPTION, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
40
|
+
this.circle = signal(null, ...(ngDevMode ? [{ debugName: "circle" }] : []));
|
|
41
41
|
this.form = new UntypedFormGroup({
|
|
42
42
|
latitude: new UntypedFormControl({ value: null, disabled: false }, [Validators.required, Validators.pattern(LATITUDE_LONGITUDE)]),
|
|
43
43
|
longitude: new UntypedFormControl({ value: null, disabled: false }, [Validators.required, Validators.pattern(LATITUDE_LONGITUDE)])
|
|
@@ -351,8 +351,8 @@ class GuajiritosMap {
|
|
|
351
351
|
ngAfterViewInit() {
|
|
352
352
|
this.initMap();
|
|
353
353
|
}
|
|
354
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
355
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
354
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GuajiritosMap, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
355
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: GuajiritosMap, isStandalone: true, selector: "guajiritos-map", inputs: { appearance: "appearance", color: "color", floatLabel: "floatLabel", subscriptSizing: "subscriptSizing", readonly: "readonly", hiddenForm: "hiddenForm", showIcon: "showIcon", showLabel: "showLabel", mapId: "mapId", optionsMap: "optionsMap", circleConfig: "circleConfig", center: "center", icon: "icon", markers: "markers" }, outputs: { markerDragend: "markerDragend", markerAdded: "markerAdded", markerClicked: "markerClicked" }, providers: [
|
|
356
356
|
{
|
|
357
357
|
provide: NG_VALUE_ACCESSOR,
|
|
358
358
|
useExisting: forwardRef(() => GuajiritosMap),
|
|
@@ -363,9 +363,9 @@ class GuajiritosMap {
|
|
|
363
363
|
useExisting: forwardRef(() => GuajiritosMap),
|
|
364
364
|
multi: true
|
|
365
365
|
}
|
|
366
|
-
], ngImport: i0, template: "@if (mapId) {\n <div class=\"map-container\">\n @if (!hiddenForm && options()?.aloneMarker && mapMarkers()?.length <= 1) {\n <div class=\"lat-lng-input\" [formGroup]=\"form\">\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"latitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'latitud' | translate\" [readonly]=\"readonly\" formControlName=\"latitude\">\n <mat-error>{{ 'Latitud requerida' | translate }}</mat-error>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"longitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'longitud' | translate\" [readonly]=\"readonly\" formControlName=\"longitude\">\n <mat-error>{{ 'Longitud requerida' | translate }}</mat-error>\n </mat-form-field>\n </div>\n }\n\n <div [id]=\"mapId\" class=\"map\"\n [ngStyle]=\"{'border-radius': options()?.borderRadius ?? '8px', 'height': options()?.height ?? '400px'}\"></div>\n </div>\n}\n", styles: [".map-container{display:flex;flex-direction:column;gap:2rem}.lat-lng-input{display:flex;flex-direction:row;gap:1rem}.map{min-height:100px;max-width:100%}.w-100{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "
|
|
366
|
+
], ngImport: i0, template: "@if (mapId) {\n <div class=\"map-container\">\n @if (!hiddenForm && options()?.aloneMarker && mapMarkers()?.length <= 1) {\n <div class=\"lat-lng-input\" [formGroup]=\"form\">\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"latitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'latitud' | translate\" [readonly]=\"readonly\" formControlName=\"latitude\">\n <mat-error>{{ 'Latitud requerida' | translate }}</mat-error>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"longitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'longitud' | translate\" [readonly]=\"readonly\" formControlName=\"longitude\">\n <mat-error>{{ 'Longitud requerida' | translate }}</mat-error>\n </mat-form-field>\n </div>\n }\n\n <div [id]=\"mapId\" class=\"map\"\n [ngStyle]=\"{'border-radius': options()?.borderRadius ?? '8px', 'height': options()?.height ?? '400px'}\"></div>\n </div>\n}\n", styles: [".map-container{display:flex;flex-direction:column;gap:2rem}.lat-lng-input{display:flex;flex-direction:row;gap:1rem}.map{min-height:100px;max-width:100%}.w-100{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
367
367
|
}
|
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: GuajiritosMap, decorators: [{
|
|
369
369
|
type: Component,
|
|
370
370
|
args: [{ selector: 'guajiritos-map', imports: [
|
|
371
371
|
CommonModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guajiritos-map.mjs","sources":["../../../projects/guajiritos-map/src/interfaces/interfaces.ts","../../../projects/guajiritos-map/src/lib/guajiritos-map.component.ts","../../../projects/guajiritos-map/src/lib/guajiritos-map.component.html","../../../projects/guajiritos-map/src/public-api.ts","../../../projects/guajiritos-map/src/guajiritos-map.ts"],"sourcesContent":["\n/**\n * Map options interface\n */\nexport interface MapOption {\n center?: [number, number];\n draggable?: boolean;\n updateWithClick?: boolean;\n updateWithDoubleClick?: boolean;\n zoom?: number;\n borderRadius?: string;\n height?: string;\n scrollable?: boolean;\n zoomControl?: boolean;\n scrollWheelZoom?: boolean;\n addMarker?: boolean;\n aloneMarker?: boolean;\n}\n\n/**\n * Marker interface\n */\nexport interface MarkerMap {\n lat: number;\n lng: number;\n id?: string;\n alt?: number;\n popupContent?: string;\n draggable?: boolean;\n clickable?: boolean;\n}\n\n/**\n * Icon interface\n */\nexport interface Icon {\n iconSize: [number, number];\n iconAnchor: [number, number];\n iconUrl: string;\n iconRetinaUrl?: string,\n shadowUrl?: string,\n popupAnchor?: [number, number],\n tooltipAnchor?: [number, number],\n shadowSize?: [number, number],\n}\n\n/**\n * Circle map interface\n */\nexport interface CircleMap {\n center: MarkerMap;\n radius: number;\n}\n\nexport const DEFAULT_MAP_OPTION: MapOption = {\n center: [23.130257185291036, -82.35626220703126],\n draggable: true,\n zoom: 15,\n updateWithClick: false,\n updateWithDoubleClick: false,\n zoomControl: true,\n borderRadius: '8px',\n height: '400px',\n scrollWheelZoom: false,\n addMarker: false,\n aloneMarker: true,\n scrollable: false,\n};\n","import {\n AfterViewInit,\n Component,\n DestroyRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnInit,\n Output,\n signal,\n WritableSignal\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as L from 'leaflet';\nimport { icon, LatLng, LatLngExpression, layerGroup, LayerGroup, Map } from 'leaflet';\nimport { MatInputModule } from '@angular/material/input';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n UntypedFormControl,\n UntypedFormGroup,\n ValidationErrors,\n Validator,\n Validators\n} from '@angular/forms';\nimport { FloatLabelType, MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ThemePalette } from '@angular/material/core';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { CircleMap, DEFAULT_MAP_OPTION, Icon, MapOption, MarkerMap } from '../interfaces/interfaces';\n\nconst LATITUDE_LONGITUDE = /^(-?\\d+(\\.\\d+)?)$/;\n\n@Component({\n selector: 'guajiritos-map',\n templateUrl: './guajiritos-map.component.html',\n styleUrls: ['./guajiritos-map.component.scss'],\n imports: [\n CommonModule,\n MatInputModule,\n ReactiveFormsModule,\n MatIconModule,\n TranslateModule\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosMap),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => GuajiritosMap),\n multi: true\n }\n ]\n})\nexport class GuajiritosMap implements OnInit, AfterViewInit, ControlValueAccessor, Validator {\n private _destroyedRef: DestroyRef = inject(DestroyRef);\n private map: Map;\n private layerGroup: LayerGroup = new L.LayerGroup();\n\n public mapMarkers: WritableSignal<MarkerMap[]> = signal([]);\n public options: WritableSignal<MapOption> = signal(DEFAULT_MAP_OPTION);\n public circle: WritableSignal<CircleMap> = signal(null);\n\n public form: UntypedFormGroup = new UntypedFormGroup({\n latitude: new UntypedFormControl({ value: null, disabled: false }, [Validators.required, Validators.pattern(LATITUDE_LONGITUDE)]),\n longitude: new UntypedFormControl({ value: null, disabled: false }, [Validators.required, Validators.pattern(LATITUDE_LONGITUDE)])\n });\n\n @Input() appearance: MatFormFieldAppearance = 'outline';\n @Input() color: ThemePalette = 'accent';\n @Input() floatLabel: FloatLabelType = 'always';\n @Input() subscriptSizing: SubscriptSizing = 'dynamic';\n\n @Input() readonly: boolean = false;\n @Input() hiddenForm: boolean = false;\n @Input() showIcon: boolean = true;\n @Input() showLabel: boolean = true;\n\n @Input() mapId: string = 'map';\n\n /**\n * Default map options\n */\n @Input() set optionsMap(options: Partial<MapOption>) {\n if (options) {\n this.options.set({\n ...this.options(),\n ...options\n });\n }\n };\n\n /**\n * Add a circle on the map\n */\n @Input() set circleConfig(circle: CircleMap) {\n if (circle) {\n this.circle.set(circle);\n\n if (this.map) {\n this.addCircle(this.circle()?.center, this.circle()?.radius);\n }\n }\n }\n\n @Input() set center(center: MarkerMap) {\n if (center) {\n this.changeCenter(new LatLng(center.lat, center.lng));\n }\n }\n\n /**\n * Default marker icon\n */\n @Input() icon: Icon = {\n iconSize: [25, 41],\n iconAnchor: [13, 41],\n iconUrl: 'leaflet/marker-icon.png'\n };\n\n /**\n * List of markers\n * @param markers - Markers array\n */\n @Input() set markers(markers: MarkerMap[]) {\n if (markers?.length) {\n this.mapMarkers.set(markers);\n\n this.form.patchValue({\n latitude: this.mapMarkers()?.[0]?.lat,\n longitude: this.mapMarkers()?.[0]?.lng\n });\n\n this.changeCenter(new L.LatLng(this.mapMarkers()[0].lat, this.mapMarkers()[0].lng));\n\n if (this.map && this.layerGroup) {\n this.drawMarkers();\n }\n }\n }\n\n /**\n * Se lanza cada vez que cambia un marcador\n */\n @Output() markerDragend: EventEmitter<LatLng> = new EventEmitter();\n /**\n * Se lanza cada vez que se añade un marcador\n */\n @Output() markerAdded: EventEmitter<MarkerMap> = new EventEmitter();\n\n @Output() markerClicked: EventEmitter<MarkerMap> = new EventEmitter();\n\n /**\n * Draws the markers.\n */\n private drawMarkers(): void {\n if (this.mapMarkers()?.length) {\n this.layerGroup.clearLayers();\n this.mapMarkers().forEach((m: MarkerMap): void => {\n this.addMarker(m, false);\n });\n }\n }\n\n /**\n * Main properties of the map\n * @private\n */\n private initMap(): void {\n this.map = L.map(this.mapId, {\n center: this.options()?.center as LatLngExpression ?? DEFAULT_MAP_OPTION.center,\n dragging: this.options()?.draggable ?? DEFAULT_MAP_OPTION.draggable,\n zoom: this.options()?.zoom ?? DEFAULT_MAP_OPTION.zoom,\n zoomControl: this.options()?.zoomControl || DEFAULT_MAP_OPTION.zoomControl,\n scrollWheelZoom: this.options()?.scrollWheelZoom || DEFAULT_MAP_OPTION.scrollWheelZoom,\n maxZoom: 18,\n minZoom: 3\n });\n\n this.layerGroup = layerGroup().addTo(this.map);\n\n L.tileLayer('http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png').addTo(this.map);\n\n this.drawMarkers();\n\n if (this.mapMarkers()?.[0]?.lat && this.mapMarkers()?.[0]?.lng) {\n this.changeCenter(new L.LatLng(this.mapMarkers()[0].lat, this.mapMarkers()[0].lng));\n }\n\n if (this.circle()) {\n this.addCircle(this.circle()?.center, this.circle()?.radius);\n }\n\n if (this.options()?.addMarker) {\n let that = this;\n this.map.on('click', function (e: L.LeafletMouseEvent): void {\n if (that.mapMarkers().length === 0 || (that.mapMarkers().length > 0 && !that.options()?.aloneMarker)) {\n const newMarker: MarkerMap = {\n lat: e.latlng.lat,\n lng: e.latlng.lng,\n draggable: that.options()?.draggable ?? DEFAULT_MAP_OPTION.draggable\n };\n\n that.form.patchValue({\n latitude: e.latlng.lat,\n longitude: e.latlng.lng\n });\n\n that.addMarker(newMarker);\n\n that.markerAdded.emit(newMarker);\n } else {\n that.drawAloneMarker(e.latlng.lat, e.latlng.lng);\n }\n });\n }\n }\n\n /**\n * Draws a marker at the specified latitude and longitude if the first marker's latitude and longitude\n * are different from the provided values. It updates the first marker's latitude and longitude if the\n * marker array is not empty.\n *\n * @param {number} lat - The latitude of the marker\n * @param {number} lng - The longitude of the marker\n */\n private drawAloneMarker(lat: number, lng: number): void {\n if (this.mapMarkers()?.[0]?.lat && this.mapMarkers()?.[0]?.lng) {\n if (this.mapMarkers()[0].lat !== lat || this.mapMarkers()[0].lng !== lng) {\n this.mapMarkers.update((markers: MarkerMap[]): MarkerMap[] => {\n if (markers?.length) {\n markers[0].lat = lat;\n markers[0].lng = lng;\n }\n return markers;\n });\n\n this.drawMarkers();\n this.changeCenter(new L.LatLng(this.mapMarkers()[0].lat, this.mapMarkers()[0].lng));\n }\n }\n }\n\n /**\n * Add marker to map\n * @param center - center of the circle\n * @param radius - radius of the circle in meters\n * @private\n */\n private addCircle(center: MarkerMap, radius: number): void {\n if (this.map && center?.lat && center?.lng) {\n this.drawMarkers();\n L.circleMarker([center.lat, center.lng], { radius: radius ?? 10 }).addTo(this.map);\n }\n }\n\n /**\n * Add marker to map\n * @param marker - Point of the map\n * @param canAdd\n */\n private addMarker(marker: MarkerMap, canAdd: boolean = true): void {\n if (this.map && marker?.lat && marker?.lng) {\n const markerAdd: L.Marker = L.marker({\n lat: marker.lat,\n lng: marker.lng,\n alt: marker?.alt ?? 0,\n }, {\n draggable: marker?.draggable ?? true,\n autoPan: true\n }).setIcon(\n icon({\n iconSize: this.icon?.iconSize,\n iconAnchor: this.icon?.iconAnchor,\n iconUrl: this.icon?.iconUrl\n })\n ).addTo(this.layerGroup);\n\n if (canAdd) {\n this.mapMarkers.update((markers: MarkerMap[]): MarkerMap[] => {\n markers.push(marker);\n return markers;\n });\n }\n\n markerAdd.on('dragend', (): void => {\n this.changeCenter(markerAdd.getLatLng());\n this.markerDragend.emit(markerAdd.getLatLng());\n });\n\n if (marker?.popupContent) {\n markerAdd.on('mouseover', (): void => {\n const popup: L.Popup = L.popup({\n className: 'guajiritos-marker-popup',\n closeButton: false,\n offset: new L.Point(0, -32)\n })\n .setLatLng(markerAdd.getLatLng())\n .setContent(marker.popupContent)\n .addTo(this.layerGroup);\n\n document.querySelector('.guajiritos-marker-popup')\n .addEventListener('click', (): void => {\n this.markerClicked.emit(marker);\n })\n });\n }\n\n if (marker?.clickable) {\n markerAdd.on('click', (): void => {\n this.markerClicked.emit(marker);\n });\n }\n }\n }\n\n /**\n * Put the map center on marker position\n * @param marker - Point of the map\n */\n public changeCenter(marker: L.LatLng): void {\n this.form.patchValue({\n latitude: marker.lat,\n longitude: marker.lng\n });\n this.map?.setView(marker);\n }\n\n /**\n * Propagates the change to other components.\n *\n * @param {any} _ - an arbitrary parameter.\n */\n propagateChange(_: any): void {\n };\n\n /**\n * Sets the callback function to be called when the value\n * of the control changes.\n *\n * @param {any} fn - The callback function to be called\n * when the value of the control changes.\n */\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback function to be called when the form control is \"touched\".\n */\n registerOnTouched(): void {\n }\n\n /**\n * Sets the disabled state of the form.\n *\n * @param {boolean} isDisabled - Specifies whether the form should be disabled or not.\n */\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n }\n\n /**\n * Writes a value to the form.\n *\n * @param {any} data - The data to be written.\n */\n writeValue(data: { latitude: number | string; longitude: number | string }): void {\n if (data?.latitude && data?.longitude) {\n this.form.patchValue({\n latitude: data.latitude,\n longitude: data.longitude\n });\n }\n }\n\n public validate(): ValidationErrors {\n return this.form.invalid ? { wrongLocation: true } : null;\n }\n\n /**\n * Initializes the component and sets up a listener for changes in the form value.\n */\n ngOnInit(): void {\n this.form.valueChanges\n .pipe(\n takeUntilDestroyed(this._destroyedRef),\n distinctUntilChanged(),\n debounceTime(300)\n )\n .subscribe((marker: { latitude: string, longitude: string }): void => {\n if (this.form.valid) {\n this.propagateChange(this.form.value);\n\n if (this.options().aloneMarker && marker.latitude && marker.longitude) {\n if (this.mapMarkers()?.length === 0) {\n this.addMarker({\n lat: Number(marker.latitude),\n lng: Number(marker.longitude),\n draggable: true\n });\n this.changeCenter(new L.LatLng(Number(marker.latitude), Number(marker.longitude)));\n } else {\n this.drawAloneMarker(Number(marker.latitude), Number(marker.longitude));\n }\n }\n } else {\n this.propagateChange(null);\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.initMap();\n }\n}\n","@if (mapId) {\n <div class=\"map-container\">\n @if (!hiddenForm && options()?.aloneMarker && mapMarkers()?.length <= 1) {\n <div class=\"lat-lng-input\" [formGroup]=\"form\">\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"latitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'latitud' | translate\" [readonly]=\"readonly\" formControlName=\"latitude\">\n <mat-error>{{ 'Latitud requerida' | translate }}</mat-error>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"longitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'longitud' | translate\" [readonly]=\"readonly\" formControlName=\"longitude\">\n <mat-error>{{ 'Longitud requerida' | translate }}</mat-error>\n </mat-form-field>\n </div>\n }\n\n <div [id]=\"mapId\" class=\"map\"\n [ngStyle]=\"{'border-radius': options()?.borderRadius ?? '8px', 'height': options()?.height ?? '400px'}\"></div>\n </div>\n}\n","/*\n * Public API Surface of guajiritos-map\n */\n\nexport * from './interfaces/interfaces';\nexport * from './lib/guajiritos-map.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guajiritos-map.mjs","sources":["../../../projects/guajiritos-map/src/interfaces/interfaces.ts","../../../projects/guajiritos-map/src/lib/guajiritos-map.component.ts","../../../projects/guajiritos-map/src/lib/guajiritos-map.component.html","../../../projects/guajiritos-map/src/public-api.ts","../../../projects/guajiritos-map/src/guajiritos-map.ts"],"sourcesContent":["\n/**\n * Map options interface\n */\nexport interface MapOption {\n center?: [number, number];\n draggable?: boolean;\n updateWithClick?: boolean;\n updateWithDoubleClick?: boolean;\n zoom?: number;\n borderRadius?: string;\n height?: string;\n scrollable?: boolean;\n zoomControl?: boolean;\n scrollWheelZoom?: boolean;\n addMarker?: boolean;\n aloneMarker?: boolean;\n}\n\n/**\n * Marker interface\n */\nexport interface MarkerMap {\n lat: number;\n lng: number;\n id?: string;\n alt?: number;\n popupContent?: string;\n draggable?: boolean;\n clickable?: boolean;\n}\n\n/**\n * Icon interface\n */\nexport interface Icon {\n iconSize: [number, number];\n iconAnchor: [number, number];\n iconUrl: string;\n iconRetinaUrl?: string,\n shadowUrl?: string,\n popupAnchor?: [number, number],\n tooltipAnchor?: [number, number],\n shadowSize?: [number, number],\n}\n\n/**\n * Circle map interface\n */\nexport interface CircleMap {\n center: MarkerMap;\n radius: number;\n}\n\nexport const DEFAULT_MAP_OPTION: MapOption = {\n center: [23.130257185291036, -82.35626220703126],\n draggable: true,\n zoom: 15,\n updateWithClick: false,\n updateWithDoubleClick: false,\n zoomControl: true,\n borderRadius: '8px',\n height: '400px',\n scrollWheelZoom: false,\n addMarker: false,\n aloneMarker: true,\n scrollable: false,\n};\n","import {\n AfterViewInit,\n Component,\n DestroyRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnInit,\n Output,\n signal,\n WritableSignal\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as L from 'leaflet';\nimport { icon, LatLng, LatLngExpression, layerGroup, LayerGroup, Map } from 'leaflet';\nimport { MatInputModule } from '@angular/material/input';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n UntypedFormControl,\n UntypedFormGroup,\n ValidationErrors,\n Validator,\n Validators\n} from '@angular/forms';\nimport { FloatLabelType, MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ThemePalette } from '@angular/material/core';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { CircleMap, DEFAULT_MAP_OPTION, Icon, MapOption, MarkerMap } from '../interfaces/interfaces';\n\nconst LATITUDE_LONGITUDE = /^(-?\\d+(\\.\\d+)?)$/;\n\n@Component({\n selector: 'guajiritos-map',\n templateUrl: './guajiritos-map.component.html',\n styleUrls: ['./guajiritos-map.component.scss'],\n imports: [\n CommonModule,\n MatInputModule,\n ReactiveFormsModule,\n MatIconModule,\n TranslateModule\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosMap),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => GuajiritosMap),\n multi: true\n }\n ]\n})\nexport class GuajiritosMap implements OnInit, AfterViewInit, ControlValueAccessor, Validator {\n private _destroyedRef: DestroyRef = inject(DestroyRef);\n private map: Map;\n private layerGroup: LayerGroup = new L.LayerGroup();\n\n public mapMarkers: WritableSignal<MarkerMap[]> = signal([]);\n public options: WritableSignal<MapOption> = signal(DEFAULT_MAP_OPTION);\n public circle: WritableSignal<CircleMap> = signal(null);\n\n public form: UntypedFormGroup = new UntypedFormGroup({\n latitude: new UntypedFormControl({ value: null, disabled: false }, [Validators.required, Validators.pattern(LATITUDE_LONGITUDE)]),\n longitude: new UntypedFormControl({ value: null, disabled: false }, [Validators.required, Validators.pattern(LATITUDE_LONGITUDE)])\n });\n\n @Input() appearance: MatFormFieldAppearance = 'outline';\n @Input() color: ThemePalette = 'accent';\n @Input() floatLabel: FloatLabelType = 'always';\n @Input() subscriptSizing: SubscriptSizing = 'dynamic';\n\n @Input() readonly: boolean = false;\n @Input() hiddenForm: boolean = false;\n @Input() showIcon: boolean = true;\n @Input() showLabel: boolean = true;\n\n @Input() mapId: string = 'map';\n\n /**\n * Default map options\n */\n @Input() set optionsMap(options: Partial<MapOption>) {\n if (options) {\n this.options.set({\n ...this.options(),\n ...options\n });\n }\n };\n\n /**\n * Add a circle on the map\n */\n @Input() set circleConfig(circle: CircleMap) {\n if (circle) {\n this.circle.set(circle);\n\n if (this.map) {\n this.addCircle(this.circle()?.center, this.circle()?.radius);\n }\n }\n }\n\n @Input() set center(center: MarkerMap) {\n if (center) {\n this.changeCenter(new LatLng(center.lat, center.lng));\n }\n }\n\n /**\n * Default marker icon\n */\n @Input() icon: Icon = {\n iconSize: [25, 41],\n iconAnchor: [13, 41],\n iconUrl: 'leaflet/marker-icon.png'\n };\n\n /**\n * List of markers\n * @param markers - Markers array\n */\n @Input() set markers(markers: MarkerMap[]) {\n if (markers?.length) {\n this.mapMarkers.set(markers);\n\n this.form.patchValue({\n latitude: this.mapMarkers()?.[0]?.lat,\n longitude: this.mapMarkers()?.[0]?.lng\n });\n\n this.changeCenter(new L.LatLng(this.mapMarkers()[0].lat, this.mapMarkers()[0].lng));\n\n if (this.map && this.layerGroup) {\n this.drawMarkers();\n }\n }\n }\n\n /**\n * Se lanza cada vez que cambia un marcador\n */\n @Output() markerDragend: EventEmitter<LatLng> = new EventEmitter();\n /**\n * Se lanza cada vez que se añade un marcador\n */\n @Output() markerAdded: EventEmitter<MarkerMap> = new EventEmitter();\n\n @Output() markerClicked: EventEmitter<MarkerMap> = new EventEmitter();\n\n /**\n * Draws the markers.\n */\n private drawMarkers(): void {\n if (this.mapMarkers()?.length) {\n this.layerGroup.clearLayers();\n this.mapMarkers().forEach((m: MarkerMap): void => {\n this.addMarker(m, false);\n });\n }\n }\n\n /**\n * Main properties of the map\n * @private\n */\n private initMap(): void {\n this.map = L.map(this.mapId, {\n center: this.options()?.center as LatLngExpression ?? DEFAULT_MAP_OPTION.center,\n dragging: this.options()?.draggable ?? DEFAULT_MAP_OPTION.draggable,\n zoom: this.options()?.zoom ?? DEFAULT_MAP_OPTION.zoom,\n zoomControl: this.options()?.zoomControl || DEFAULT_MAP_OPTION.zoomControl,\n scrollWheelZoom: this.options()?.scrollWheelZoom || DEFAULT_MAP_OPTION.scrollWheelZoom,\n maxZoom: 18,\n minZoom: 3\n });\n\n this.layerGroup = layerGroup().addTo(this.map);\n\n L.tileLayer('http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png').addTo(this.map);\n\n this.drawMarkers();\n\n if (this.mapMarkers()?.[0]?.lat && this.mapMarkers()?.[0]?.lng) {\n this.changeCenter(new L.LatLng(this.mapMarkers()[0].lat, this.mapMarkers()[0].lng));\n }\n\n if (this.circle()) {\n this.addCircle(this.circle()?.center, this.circle()?.radius);\n }\n\n if (this.options()?.addMarker) {\n let that = this;\n this.map.on('click', function (e: L.LeafletMouseEvent): void {\n if (that.mapMarkers().length === 0 || (that.mapMarkers().length > 0 && !that.options()?.aloneMarker)) {\n const newMarker: MarkerMap = {\n lat: e.latlng.lat,\n lng: e.latlng.lng,\n draggable: that.options()?.draggable ?? DEFAULT_MAP_OPTION.draggable\n };\n\n that.form.patchValue({\n latitude: e.latlng.lat,\n longitude: e.latlng.lng\n });\n\n that.addMarker(newMarker);\n\n that.markerAdded.emit(newMarker);\n } else {\n that.drawAloneMarker(e.latlng.lat, e.latlng.lng);\n }\n });\n }\n }\n\n /**\n * Draws a marker at the specified latitude and longitude if the first marker's latitude and longitude\n * are different from the provided values. It updates the first marker's latitude and longitude if the\n * marker array is not empty.\n *\n * @param {number} lat - The latitude of the marker\n * @param {number} lng - The longitude of the marker\n */\n private drawAloneMarker(lat: number, lng: number): void {\n if (this.mapMarkers()?.[0]?.lat && this.mapMarkers()?.[0]?.lng) {\n if (this.mapMarkers()[0].lat !== lat || this.mapMarkers()[0].lng !== lng) {\n this.mapMarkers.update((markers: MarkerMap[]): MarkerMap[] => {\n if (markers?.length) {\n markers[0].lat = lat;\n markers[0].lng = lng;\n }\n return markers;\n });\n\n this.drawMarkers();\n this.changeCenter(new L.LatLng(this.mapMarkers()[0].lat, this.mapMarkers()[0].lng));\n }\n }\n }\n\n /**\n * Add marker to map\n * @param center - center of the circle\n * @param radius - radius of the circle in meters\n * @private\n */\n private addCircle(center: MarkerMap, radius: number): void {\n if (this.map && center?.lat && center?.lng) {\n this.drawMarkers();\n L.circleMarker([center.lat, center.lng], { radius: radius ?? 10 }).addTo(this.map);\n }\n }\n\n /**\n * Add marker to map\n * @param marker - Point of the map\n * @param canAdd\n */\n private addMarker(marker: MarkerMap, canAdd: boolean = true): void {\n if (this.map && marker?.lat && marker?.lng) {\n const markerAdd: L.Marker = L.marker({\n lat: marker.lat,\n lng: marker.lng,\n alt: marker?.alt ?? 0,\n }, {\n draggable: marker?.draggable ?? true,\n autoPan: true\n }).setIcon(\n icon({\n iconSize: this.icon?.iconSize,\n iconAnchor: this.icon?.iconAnchor,\n iconUrl: this.icon?.iconUrl\n })\n ).addTo(this.layerGroup);\n\n if (canAdd) {\n this.mapMarkers.update((markers: MarkerMap[]): MarkerMap[] => {\n markers.push(marker);\n return markers;\n });\n }\n\n markerAdd.on('dragend', (): void => {\n this.changeCenter(markerAdd.getLatLng());\n this.markerDragend.emit(markerAdd.getLatLng());\n });\n\n if (marker?.popupContent) {\n markerAdd.on('mouseover', (): void => {\n const popup: L.Popup = L.popup({\n className: 'guajiritos-marker-popup',\n closeButton: false,\n offset: new L.Point(0, -32)\n })\n .setLatLng(markerAdd.getLatLng())\n .setContent(marker.popupContent)\n .addTo(this.layerGroup);\n\n document.querySelector('.guajiritos-marker-popup')\n .addEventListener('click', (): void => {\n this.markerClicked.emit(marker);\n })\n });\n }\n\n if (marker?.clickable) {\n markerAdd.on('click', (): void => {\n this.markerClicked.emit(marker);\n });\n }\n }\n }\n\n /**\n * Put the map center on marker position\n * @param marker - Point of the map\n */\n public changeCenter(marker: L.LatLng): void {\n this.form.patchValue({\n latitude: marker.lat,\n longitude: marker.lng\n });\n this.map?.setView(marker);\n }\n\n /**\n * Propagates the change to other components.\n *\n * @param {any} _ - an arbitrary parameter.\n */\n propagateChange(_: any): void {\n };\n\n /**\n * Sets the callback function to be called when the value\n * of the control changes.\n *\n * @param {any} fn - The callback function to be called\n * when the value of the control changes.\n */\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback function to be called when the form control is \"touched\".\n */\n registerOnTouched(): void {\n }\n\n /**\n * Sets the disabled state of the form.\n *\n * @param {boolean} isDisabled - Specifies whether the form should be disabled or not.\n */\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n }\n\n /**\n * Writes a value to the form.\n *\n * @param {any} data - The data to be written.\n */\n writeValue(data: { latitude: number | string; longitude: number | string }): void {\n if (data?.latitude && data?.longitude) {\n this.form.patchValue({\n latitude: data.latitude,\n longitude: data.longitude\n });\n }\n }\n\n public validate(): ValidationErrors {\n return this.form.invalid ? { wrongLocation: true } : null;\n }\n\n /**\n * Initializes the component and sets up a listener for changes in the form value.\n */\n ngOnInit(): void {\n this.form.valueChanges\n .pipe(\n takeUntilDestroyed(this._destroyedRef),\n distinctUntilChanged(),\n debounceTime(300)\n )\n .subscribe((marker: { latitude: string, longitude: string }): void => {\n if (this.form.valid) {\n this.propagateChange(this.form.value);\n\n if (this.options().aloneMarker && marker.latitude && marker.longitude) {\n if (this.mapMarkers()?.length === 0) {\n this.addMarker({\n lat: Number(marker.latitude),\n lng: Number(marker.longitude),\n draggable: true\n });\n this.changeCenter(new L.LatLng(Number(marker.latitude), Number(marker.longitude)));\n } else {\n this.drawAloneMarker(Number(marker.latitude), Number(marker.longitude));\n }\n }\n } else {\n this.propagateChange(null);\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.initMap();\n }\n}\n","@if (mapId) {\n <div class=\"map-container\">\n @if (!hiddenForm && options()?.aloneMarker && mapMarkers()?.length <= 1) {\n <div class=\"lat-lng-input\" [formGroup]=\"form\">\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"latitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'latitud' | translate\" [readonly]=\"readonly\" formControlName=\"latitude\">\n <mat-error>{{ 'Latitud requerida' | translate }}</mat-error>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabel\" class='w-100'\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"showLabel\">{{ \"longitud\" | translate | titlecase }}</mat-label>\n <mat-icon matSuffix class=\"material-icons-outlined\" [color]=\"color\" *ngIf=\"showIcon\">place</mat-icon>\n <input matInput [placeholder]=\"'longitud' | translate\" [readonly]=\"readonly\" formControlName=\"longitude\">\n <mat-error>{{ 'Longitud requerida' | translate }}</mat-error>\n </mat-form-field>\n </div>\n }\n\n <div [id]=\"mapId\" class=\"map\"\n [ngStyle]=\"{'border-radius': options()?.borderRadius ?? '8px', 'height': options()?.height ?? '400px'}\"></div>\n </div>\n}\n","/*\n * Public API Surface of guajiritos-map\n */\n\nexport * from './interfaces/interfaces';\nexport * from './lib/guajiritos-map.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,184 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, AfterViewInit, WritableSignal, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as L from 'leaflet';
|
|
4
|
+
import { LatLng } from 'leaflet';
|
|
5
|
+
import { ControlValueAccessor, Validator, UntypedFormGroup, ValidationErrors } from '@angular/forms';
|
|
6
|
+
import { MatFormFieldAppearance, FloatLabelType, SubscriptSizing } from '@angular/material/form-field';
|
|
7
|
+
import { ThemePalette } from '@angular/material/core';
|
|
8
|
+
|
|
1
9
|
/**
|
|
2
|
-
*
|
|
10
|
+
* Map options interface
|
|
3
11
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
12
|
+
interface MapOption {
|
|
13
|
+
center?: [number, number];
|
|
14
|
+
draggable?: boolean;
|
|
15
|
+
updateWithClick?: boolean;
|
|
16
|
+
updateWithDoubleClick?: boolean;
|
|
17
|
+
zoom?: number;
|
|
18
|
+
borderRadius?: string;
|
|
19
|
+
height?: string;
|
|
20
|
+
scrollable?: boolean;
|
|
21
|
+
zoomControl?: boolean;
|
|
22
|
+
scrollWheelZoom?: boolean;
|
|
23
|
+
addMarker?: boolean;
|
|
24
|
+
aloneMarker?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Marker interface
|
|
28
|
+
*/
|
|
29
|
+
interface MarkerMap {
|
|
30
|
+
lat: number;
|
|
31
|
+
lng: number;
|
|
32
|
+
id?: string;
|
|
33
|
+
alt?: number;
|
|
34
|
+
popupContent?: string;
|
|
35
|
+
draggable?: boolean;
|
|
36
|
+
clickable?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Icon interface
|
|
40
|
+
*/
|
|
41
|
+
interface Icon {
|
|
42
|
+
iconSize: [number, number];
|
|
43
|
+
iconAnchor: [number, number];
|
|
44
|
+
iconUrl: string;
|
|
45
|
+
iconRetinaUrl?: string;
|
|
46
|
+
shadowUrl?: string;
|
|
47
|
+
popupAnchor?: [number, number];
|
|
48
|
+
tooltipAnchor?: [number, number];
|
|
49
|
+
shadowSize?: [number, number];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Circle map interface
|
|
53
|
+
*/
|
|
54
|
+
interface CircleMap {
|
|
55
|
+
center: MarkerMap;
|
|
56
|
+
radius: number;
|
|
57
|
+
}
|
|
58
|
+
declare const DEFAULT_MAP_OPTION: MapOption;
|
|
59
|
+
|
|
60
|
+
declare class GuajiritosMap implements OnInit, AfterViewInit, ControlValueAccessor, Validator {
|
|
61
|
+
private _destroyedRef;
|
|
62
|
+
private map;
|
|
63
|
+
private layerGroup;
|
|
64
|
+
mapMarkers: WritableSignal<MarkerMap[]>;
|
|
65
|
+
options: WritableSignal<MapOption>;
|
|
66
|
+
circle: WritableSignal<CircleMap>;
|
|
67
|
+
form: UntypedFormGroup;
|
|
68
|
+
appearance: MatFormFieldAppearance;
|
|
69
|
+
color: ThemePalette;
|
|
70
|
+
floatLabel: FloatLabelType;
|
|
71
|
+
subscriptSizing: SubscriptSizing;
|
|
72
|
+
readonly: boolean;
|
|
73
|
+
hiddenForm: boolean;
|
|
74
|
+
showIcon: boolean;
|
|
75
|
+
showLabel: boolean;
|
|
76
|
+
mapId: string;
|
|
77
|
+
/**
|
|
78
|
+
* Default map options
|
|
79
|
+
*/
|
|
80
|
+
set optionsMap(options: Partial<MapOption>);
|
|
81
|
+
/**
|
|
82
|
+
* Add a circle on the map
|
|
83
|
+
*/
|
|
84
|
+
set circleConfig(circle: CircleMap);
|
|
85
|
+
set center(center: MarkerMap);
|
|
86
|
+
/**
|
|
87
|
+
* Default marker icon
|
|
88
|
+
*/
|
|
89
|
+
icon: Icon;
|
|
90
|
+
/**
|
|
91
|
+
* List of markers
|
|
92
|
+
* @param markers - Markers array
|
|
93
|
+
*/
|
|
94
|
+
set markers(markers: MarkerMap[]);
|
|
95
|
+
/**
|
|
96
|
+
* Se lanza cada vez que cambia un marcador
|
|
97
|
+
*/
|
|
98
|
+
markerDragend: EventEmitter<LatLng>;
|
|
99
|
+
/**
|
|
100
|
+
* Se lanza cada vez que se añade un marcador
|
|
101
|
+
*/
|
|
102
|
+
markerAdded: EventEmitter<MarkerMap>;
|
|
103
|
+
markerClicked: EventEmitter<MarkerMap>;
|
|
104
|
+
/**
|
|
105
|
+
* Draws the markers.
|
|
106
|
+
*/
|
|
107
|
+
private drawMarkers;
|
|
108
|
+
/**
|
|
109
|
+
* Main properties of the map
|
|
110
|
+
* @private
|
|
111
|
+
*/
|
|
112
|
+
private initMap;
|
|
113
|
+
/**
|
|
114
|
+
* Draws a marker at the specified latitude and longitude if the first marker's latitude and longitude
|
|
115
|
+
* are different from the provided values. It updates the first marker's latitude and longitude if the
|
|
116
|
+
* marker array is not empty.
|
|
117
|
+
*
|
|
118
|
+
* @param {number} lat - The latitude of the marker
|
|
119
|
+
* @param {number} lng - The longitude of the marker
|
|
120
|
+
*/
|
|
121
|
+
private drawAloneMarker;
|
|
122
|
+
/**
|
|
123
|
+
* Add marker to map
|
|
124
|
+
* @param center - center of the circle
|
|
125
|
+
* @param radius - radius of the circle in meters
|
|
126
|
+
* @private
|
|
127
|
+
*/
|
|
128
|
+
private addCircle;
|
|
129
|
+
/**
|
|
130
|
+
* Add marker to map
|
|
131
|
+
* @param marker - Point of the map
|
|
132
|
+
* @param canAdd
|
|
133
|
+
*/
|
|
134
|
+
private addMarker;
|
|
135
|
+
/**
|
|
136
|
+
* Put the map center on marker position
|
|
137
|
+
* @param marker - Point of the map
|
|
138
|
+
*/
|
|
139
|
+
changeCenter(marker: L.LatLng): void;
|
|
140
|
+
/**
|
|
141
|
+
* Propagates the change to other components.
|
|
142
|
+
*
|
|
143
|
+
* @param {any} _ - an arbitrary parameter.
|
|
144
|
+
*/
|
|
145
|
+
propagateChange(_: any): void;
|
|
146
|
+
/**
|
|
147
|
+
* Sets the callback function to be called when the value
|
|
148
|
+
* of the control changes.
|
|
149
|
+
*
|
|
150
|
+
* @param {any} fn - The callback function to be called
|
|
151
|
+
* when the value of the control changes.
|
|
152
|
+
*/
|
|
153
|
+
registerOnChange(fn: any): void;
|
|
154
|
+
/**
|
|
155
|
+
* Registers a callback function to be called when the form control is "touched".
|
|
156
|
+
*/
|
|
157
|
+
registerOnTouched(): void;
|
|
158
|
+
/**
|
|
159
|
+
* Sets the disabled state of the form.
|
|
160
|
+
*
|
|
161
|
+
* @param {boolean} isDisabled - Specifies whether the form should be disabled or not.
|
|
162
|
+
*/
|
|
163
|
+
setDisabledState(isDisabled: boolean): void;
|
|
164
|
+
/**
|
|
165
|
+
* Writes a value to the form.
|
|
166
|
+
*
|
|
167
|
+
* @param {any} data - The data to be written.
|
|
168
|
+
*/
|
|
169
|
+
writeValue(data: {
|
|
170
|
+
latitude: number | string;
|
|
171
|
+
longitude: number | string;
|
|
172
|
+
}): void;
|
|
173
|
+
validate(): ValidationErrors;
|
|
174
|
+
/**
|
|
175
|
+
* Initializes the component and sets up a listener for changes in the form value.
|
|
176
|
+
*/
|
|
177
|
+
ngOnInit(): void;
|
|
178
|
+
ngAfterViewInit(): void;
|
|
179
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosMap, never>;
|
|
180
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosMap, "guajiritos-map", never, { "appearance": { "alias": "appearance"; "required": false; }; "color": { "alias": "color"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "hiddenForm": { "alias": "hiddenForm"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; "mapId": { "alias": "mapId"; "required": false; }; "optionsMap": { "alias": "optionsMap"; "required": false; }; "circleConfig": { "alias": "circleConfig"; "required": false; }; "center": { "alias": "center"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; }, { "markerDragend": "markerDragend"; "markerAdded": "markerAdded"; "markerClicked": "markerClicked"; }, never, never, true, never>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export { DEFAULT_MAP_OPTION, GuajiritosMap };
|
|
184
|
+
export type { CircleMap, Icon, MapOption, MarkerMap };
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guajiritos/map",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.1",
|
|
4
4
|
"maintainers": [
|
|
5
5
|
{
|
|
6
|
-
"name": "Alejandro
|
|
7
|
-
"email": "
|
|
6
|
+
"name": "Carlos Alejandro Santana García",
|
|
7
|
+
"email": "carlos.santana@guajiritos.com"
|
|
8
8
|
}
|
|
9
9
|
],
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@angular/cdk": "
|
|
12
|
-
"@angular/common": "
|
|
13
|
-
"@angular/core": "
|
|
14
|
-
"@angular/material": "
|
|
15
|
-
"leaflet": "
|
|
11
|
+
"@angular/cdk": "20.2.5",
|
|
12
|
+
"@angular/common": "20.3.2",
|
|
13
|
+
"@angular/core": "20.3.2",
|
|
14
|
+
"@angular/material": "20.2.5",
|
|
15
|
+
"leaflet": "1.9.0"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"tslib": "
|
|
18
|
+
"tslib": "2.6.2"
|
|
19
19
|
},
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"module": "fesm2022/guajiritos-map.mjs",
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Map options interface
|
|
3
|
-
*/
|
|
4
|
-
export interface MapOption {
|
|
5
|
-
center?: [number, number];
|
|
6
|
-
draggable?: boolean;
|
|
7
|
-
updateWithClick?: boolean;
|
|
8
|
-
updateWithDoubleClick?: boolean;
|
|
9
|
-
zoom?: number;
|
|
10
|
-
borderRadius?: string;
|
|
11
|
-
height?: string;
|
|
12
|
-
scrollable?: boolean;
|
|
13
|
-
zoomControl?: boolean;
|
|
14
|
-
scrollWheelZoom?: boolean;
|
|
15
|
-
addMarker?: boolean;
|
|
16
|
-
aloneMarker?: boolean;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Marker interface
|
|
20
|
-
*/
|
|
21
|
-
export interface MarkerMap {
|
|
22
|
-
lat: number;
|
|
23
|
-
lng: number;
|
|
24
|
-
id?: string;
|
|
25
|
-
alt?: number;
|
|
26
|
-
popupContent?: string;
|
|
27
|
-
draggable?: boolean;
|
|
28
|
-
clickable?: boolean;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Icon interface
|
|
32
|
-
*/
|
|
33
|
-
export interface Icon {
|
|
34
|
-
iconSize: [number, number];
|
|
35
|
-
iconAnchor: [number, number];
|
|
36
|
-
iconUrl: string;
|
|
37
|
-
iconRetinaUrl?: string;
|
|
38
|
-
shadowUrl?: string;
|
|
39
|
-
popupAnchor?: [number, number];
|
|
40
|
-
tooltipAnchor?: [number, number];
|
|
41
|
-
shadowSize?: [number, number];
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Circle map interface
|
|
45
|
-
*/
|
|
46
|
-
export interface CircleMap {
|
|
47
|
-
center: MarkerMap;
|
|
48
|
-
radius: number;
|
|
49
|
-
}
|
|
50
|
-
export declare const DEFAULT_MAP_OPTION: MapOption;
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, EventEmitter, OnInit, WritableSignal } from '@angular/core';
|
|
2
|
-
import * as L from 'leaflet';
|
|
3
|
-
import { LatLng } from 'leaflet';
|
|
4
|
-
import { ControlValueAccessor, UntypedFormGroup, ValidationErrors, Validator } from '@angular/forms';
|
|
5
|
-
import { FloatLabelType, MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
|
|
6
|
-
import { ThemePalette } from '@angular/material/core';
|
|
7
|
-
import { CircleMap, Icon, MapOption, MarkerMap } from '../interfaces/interfaces';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class GuajiritosMap implements OnInit, AfterViewInit, ControlValueAccessor, Validator {
|
|
10
|
-
private _destroyedRef;
|
|
11
|
-
private map;
|
|
12
|
-
private layerGroup;
|
|
13
|
-
mapMarkers: WritableSignal<MarkerMap[]>;
|
|
14
|
-
options: WritableSignal<MapOption>;
|
|
15
|
-
circle: WritableSignal<CircleMap>;
|
|
16
|
-
form: UntypedFormGroup;
|
|
17
|
-
appearance: MatFormFieldAppearance;
|
|
18
|
-
color: ThemePalette;
|
|
19
|
-
floatLabel: FloatLabelType;
|
|
20
|
-
subscriptSizing: SubscriptSizing;
|
|
21
|
-
readonly: boolean;
|
|
22
|
-
hiddenForm: boolean;
|
|
23
|
-
showIcon: boolean;
|
|
24
|
-
showLabel: boolean;
|
|
25
|
-
mapId: string;
|
|
26
|
-
/**
|
|
27
|
-
* Default map options
|
|
28
|
-
*/
|
|
29
|
-
set optionsMap(options: Partial<MapOption>);
|
|
30
|
-
/**
|
|
31
|
-
* Add a circle on the map
|
|
32
|
-
*/
|
|
33
|
-
set circleConfig(circle: CircleMap);
|
|
34
|
-
set center(center: MarkerMap);
|
|
35
|
-
/**
|
|
36
|
-
* Default marker icon
|
|
37
|
-
*/
|
|
38
|
-
icon: Icon;
|
|
39
|
-
/**
|
|
40
|
-
* List of markers
|
|
41
|
-
* @param markers - Markers array
|
|
42
|
-
*/
|
|
43
|
-
set markers(markers: MarkerMap[]);
|
|
44
|
-
/**
|
|
45
|
-
* Se lanza cada vez que cambia un marcador
|
|
46
|
-
*/
|
|
47
|
-
markerDragend: EventEmitter<LatLng>;
|
|
48
|
-
/**
|
|
49
|
-
* Se lanza cada vez que se añade un marcador
|
|
50
|
-
*/
|
|
51
|
-
markerAdded: EventEmitter<MarkerMap>;
|
|
52
|
-
markerClicked: EventEmitter<MarkerMap>;
|
|
53
|
-
/**
|
|
54
|
-
* Draws the markers.
|
|
55
|
-
*/
|
|
56
|
-
private drawMarkers;
|
|
57
|
-
/**
|
|
58
|
-
* Main properties of the map
|
|
59
|
-
* @private
|
|
60
|
-
*/
|
|
61
|
-
private initMap;
|
|
62
|
-
/**
|
|
63
|
-
* Draws a marker at the specified latitude and longitude if the first marker's latitude and longitude
|
|
64
|
-
* are different from the provided values. It updates the first marker's latitude and longitude if the
|
|
65
|
-
* marker array is not empty.
|
|
66
|
-
*
|
|
67
|
-
* @param {number} lat - The latitude of the marker
|
|
68
|
-
* @param {number} lng - The longitude of the marker
|
|
69
|
-
*/
|
|
70
|
-
private drawAloneMarker;
|
|
71
|
-
/**
|
|
72
|
-
* Add marker to map
|
|
73
|
-
* @param center - center of the circle
|
|
74
|
-
* @param radius - radius of the circle in meters
|
|
75
|
-
* @private
|
|
76
|
-
*/
|
|
77
|
-
private addCircle;
|
|
78
|
-
/**
|
|
79
|
-
* Add marker to map
|
|
80
|
-
* @param marker - Point of the map
|
|
81
|
-
* @param canAdd
|
|
82
|
-
*/
|
|
83
|
-
private addMarker;
|
|
84
|
-
/**
|
|
85
|
-
* Put the map center on marker position
|
|
86
|
-
* @param marker - Point of the map
|
|
87
|
-
*/
|
|
88
|
-
changeCenter(marker: L.LatLng): void;
|
|
89
|
-
/**
|
|
90
|
-
* Propagates the change to other components.
|
|
91
|
-
*
|
|
92
|
-
* @param {any} _ - an arbitrary parameter.
|
|
93
|
-
*/
|
|
94
|
-
propagateChange(_: any): void;
|
|
95
|
-
/**
|
|
96
|
-
* Sets the callback function to be called when the value
|
|
97
|
-
* of the control changes.
|
|
98
|
-
*
|
|
99
|
-
* @param {any} fn - The callback function to be called
|
|
100
|
-
* when the value of the control changes.
|
|
101
|
-
*/
|
|
102
|
-
registerOnChange(fn: any): void;
|
|
103
|
-
/**
|
|
104
|
-
* Registers a callback function to be called when the form control is "touched".
|
|
105
|
-
*/
|
|
106
|
-
registerOnTouched(): void;
|
|
107
|
-
/**
|
|
108
|
-
* Sets the disabled state of the form.
|
|
109
|
-
*
|
|
110
|
-
* @param {boolean} isDisabled - Specifies whether the form should be disabled or not.
|
|
111
|
-
*/
|
|
112
|
-
setDisabledState(isDisabled: boolean): void;
|
|
113
|
-
/**
|
|
114
|
-
* Writes a value to the form.
|
|
115
|
-
*
|
|
116
|
-
* @param {any} data - The data to be written.
|
|
117
|
-
*/
|
|
118
|
-
writeValue(data: {
|
|
119
|
-
latitude: number | string;
|
|
120
|
-
longitude: number | string;
|
|
121
|
-
}): void;
|
|
122
|
-
validate(): ValidationErrors;
|
|
123
|
-
/**
|
|
124
|
-
* Initializes the component and sets up a listener for changes in the form value.
|
|
125
|
-
*/
|
|
126
|
-
ngOnInit(): void;
|
|
127
|
-
ngAfterViewInit(): void;
|
|
128
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosMap, never>;
|
|
129
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosMap, "guajiritos-map", never, { "appearance": { "alias": "appearance"; "required": false; }; "color": { "alias": "color"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "hiddenForm": { "alias": "hiddenForm"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; "mapId": { "alias": "mapId"; "required": false; }; "optionsMap": { "alias": "optionsMap"; "required": false; }; "circleConfig": { "alias": "circleConfig"; "required": false; }; "center": { "alias": "center"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; }, { "markerDragend": "markerDragend"; "markerAdded": "markerAdded"; "markerClicked": "markerClicked"; }, never, never, true, never>;
|
|
130
|
-
}
|
package/public-api.d.ts
DELETED