@tft/crispr-forms 18.0.0 → 18.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/esm2022/src/lib/ui/map/map-field.component.mjs +36 -5
- package/esm2022/src/lib/utils/models/map-field.config.mjs +1 -1
- package/fesm2022/tft-crispr-forms-index-CP5Jn6EK.mjs +63 -0
- package/fesm2022/tft-crispr-forms-index-CP5Jn6EK.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms.mjs +1 -1
- package/package.json +7 -7
- package/src/lib/ui/map/map-field.component.d.ts +10 -1
- package/src/lib/utils/models/map-field.config.d.ts +8 -0
- package/tft-crispr-forms-18.0.1.tgz +0 -0
- package/fesm2022/tft-crispr-forms-index-D8oUGVGX.mjs +0 -34
- package/fesm2022/tft-crispr-forms-index-D8oUGVGX.mjs.map +0 -1
- package/tft-crispr-forms-18.0.0.tgz +0 -0
|
@@ -1,22 +1,53 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
1
|
+
import { Component, inject, signal } from '@angular/core';
|
|
3
2
|
import { CrisprFieldComponent, crisprControlMixin } from '../../utils';
|
|
3
|
+
import { GoogleMapsModule, MapGeocoder, } from '@angular/google-maps';
|
|
4
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { map, switchMap } from 'rxjs';
|
|
6
|
+
import { AsyncPipe } from '@angular/common';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/google-maps";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
5
10
|
const defaultConfig = {};
|
|
6
11
|
const MapFieldMixin = crisprControlMixin(CrisprFieldComponent);
|
|
7
12
|
export class MapFieldComponent extends MapFieldMixin {
|
|
8
13
|
constructor() {
|
|
9
14
|
super(...arguments);
|
|
15
|
+
this.geoCoder = inject(MapGeocoder);
|
|
16
|
+
this.locationInput = new FormControl();
|
|
10
17
|
this.defaultConfig = defaultConfig;
|
|
18
|
+
this.markers = signal([]);
|
|
19
|
+
this.inputCenter = this.locationInput.valueChanges.pipe(switchMap((value) => {
|
|
20
|
+
const request = {
|
|
21
|
+
address: value,
|
|
22
|
+
};
|
|
23
|
+
return this.geoCoder.geocode(request);
|
|
24
|
+
}), map((res) => {
|
|
25
|
+
const { geometry, postcode_localities } = res.results?.[0] || {};
|
|
26
|
+
const { location, bounds } = geometry || {};
|
|
27
|
+
const center = location?.toJSON();
|
|
28
|
+
console.log({ center, bounds, postcode_localities });
|
|
29
|
+
return center;
|
|
30
|
+
}));
|
|
11
31
|
}
|
|
32
|
+
// center = new input
|
|
12
33
|
ngOnInit() {
|
|
13
34
|
super.ngOnInit();
|
|
14
35
|
}
|
|
36
|
+
onMarkerClick(marker) {
|
|
37
|
+
this.config?.onMarkerClick(marker);
|
|
38
|
+
}
|
|
39
|
+
onMove(map, group) {
|
|
40
|
+
console.log({ map });
|
|
41
|
+
this.config?.onMove?.(map, group);
|
|
42
|
+
}
|
|
43
|
+
getMarkers(map, group) {
|
|
44
|
+
this.config.markers(map, group).pipe();
|
|
45
|
+
}
|
|
15
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: MapFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.3", type: MapFieldComponent, isStandalone: true, selector: "crispr-map", usesInheritance: true, ngImport: i0, template: "\n<input type=\"text\" [formControl]=\"locationInput\" />\nvalue: {{_value}}\n<google-map \n [center]=\"inputCenter | async\" \n [zoom]=\"11\"\n [options]=\"config.options\" \n (mapDragend)=\"onMove(map, group)\"\n #map>\n\n @for (marker of config.markers(map, group) | async; track $index) {\n <map-advanced-marker\n #markerElem=\"mapAdvancedMarker\"\n [position]=\"marker.position\"\n [content]=\"marker.content\"\n [title]=\"marker.title\"\n (mapClick)=\"onMarkerClick(markerElem)\"\n />\n }\n <map-info-window #infoWindow></map-info-window>\n</google-map>", styles: [""], dependencies: [{ kind: "ngmodule", type: GoogleMapsModule }, { kind: "component", type: i1.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapId", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i1.MapInfoWindow, selector: "map-info-window", inputs: ["options", "position"], outputs: ["closeclick", "contentChanged", "domready", "positionChanged", "zindexChanged", "infoWindowInitialized"], exportAs: ["mapInfoWindow"] }, { kind: "directive", type: i1.MapAdvancedMarker, selector: "map-advanced-marker", inputs: ["title", "position", "content", "gmpDraggable", "options", "zIndex"], outputs: ["mapClick", "mapDrag", "mapDragend", "mapDragstart", "markerInitialized"], exportAs: ["mapAdvancedMarker"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], preserveWhitespaces: true }); }
|
|
17
48
|
}
|
|
18
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: MapFieldComponent, decorators: [{
|
|
19
50
|
type: Component,
|
|
20
|
-
args: [{ selector: 'crispr-map', standalone: true, imports: [
|
|
51
|
+
args: [{ selector: 'crispr-map', standalone: true, imports: [GoogleMapsModule, ReactiveFormsModule, AsyncPipe], template: "\n<input type=\"text\" [formControl]=\"locationInput\" />\nvalue: {{_value}}\n<google-map \n [center]=\"inputCenter | async\" \n [zoom]=\"11\"\n [options]=\"config.options\" \n (mapDragend)=\"onMove(map, group)\"\n #map>\n\n @for (marker of config.markers(map, group) | async; track $index) {\n <map-advanced-marker\n #markerElem=\"mapAdvancedMarker\"\n [position]=\"marker.position\"\n [content]=\"marker.content\"\n [title]=\"marker.title\"\n (mapClick)=\"onMarkerClick(markerElem)\"\n />\n }\n <map-info-window #infoWindow></map-info-window>\n</google-map>" }]
|
|
21
52
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvbWFwL21hcC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL21hcC9tYXAtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBa0Isa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkYsT0FBTyxFQUFhLGdCQUFnQixFQUFxQixXQUFXLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRTVDLE1BQU0sYUFBYSxHQUE0QixFQUU5QyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQWlCLG9CQUFvQixDQUFDLENBQUM7QUFTL0UsTUFBTSxPQUFPLGlCQUNYLFNBQVEsYUFBYTtJQVJ2Qjs7UUFXRSxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUVsQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixZQUFPLEdBQUcsTUFBTSxDQUFvRCxFQUFFLENBQUMsQ0FBQTtRQUN2RSxnQkFBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDaEQsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQWdDO2dCQUMzQyxPQUFPLEVBQUUsS0FBSzthQUNmLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1YsTUFBTSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzVDLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtLQW9CRjtJQWxCQyxxQkFBcUI7SUFDckIsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUVuQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBYyxFQUFFLEtBQWdCO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBYyxFQUFFLEtBQWdCO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN4QyxDQUFDOzhHQTFDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw2RkNwQjlCLDRsQkFvQmEseURESkQsZ0JBQWdCLG1pQ0FBRSxtQkFBbUIscWtCQUFFLFNBQVM7OzJGQUkvQyxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnQsIE1hcEZpZWxkQ29uZmlnLCBjcmlzcHJDb250cm9sTWl4aW4gfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBHb29nbGVNYXAsIEdvb2dsZU1hcHNNb2R1bGUsIE1hcEFkdmFuY2VkTWFya2VyLCBNYXBHZW9jb2RlciwgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8TWFwRmllbGRDb25maWc+ID0ge1xuICBcbn07XG5cbmNvbnN0IE1hcEZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48TWFwRmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLW1hcCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtHb29nbGVNYXBzTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBBc3luY1BpcGUgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tYXAtZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBGaWVsZENvbXBvbmVudFxuICBleHRlbmRzIE1hcEZpZWxkTWl4aW5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgZ2VvQ29kZXIgPSBpbmplY3QoTWFwR2VvY29kZXIpO1xuICBsb2NhdGlvbklucHV0ID0gbmV3IEZvcm1Db250cm9sKCk7XG5cbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG4gIG1hcmtlcnMgPSBzaWduYWw8Z29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudE9wdGlvbnNbXT4oW10pXG4gIGlucHV0Q2VudGVyID0gdGhpcy5sb2NhdGlvbklucHV0LnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgIHN3aXRjaE1hcCgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdDogZ29vZ2xlLm1hcHMuR2VvY29kZXJSZXF1ZXN0ID0ge1xuICAgICAgICBhZGRyZXNzOiB2YWx1ZSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gdGhpcy5nZW9Db2Rlci5nZW9jb2RlKHJlcXVlc3QpO1xuICAgIH0pLFxuICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICBjb25zdCB7IGdlb21ldHJ5LCBwb3N0Y29kZV9sb2NhbGl0aWVzIH0gPSByZXMucmVzdWx0cz8uWzBdIHx8IHt9O1xuICAgICAgY29uc3QgeyBsb2NhdGlvbiwgYm91bmRzIH0gPSBnZW9tZXRyeSB8fCB7fTtcbiAgICAgIGNvbnN0IGNlbnRlciA9IGxvY2F0aW9uPy50b0pTT04oKTtcbiAgICAgIGNvbnNvbGUubG9nKHsgY2VudGVyLCBib3VuZHMsIHBvc3Rjb2RlX2xvY2FsaXRpZXMgfSk7XG4gICAgICByZXR1cm4gY2VudGVyO1xuICAgIH0pXG4gIClcblxuICAvLyBjZW50ZXIgPSBuZXcgaW5wdXRcbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBcbiAgfVxuXG4gIG9uTWFya2VyQ2xpY2sobWFya2VyOiBNYXBBZHZhbmNlZE1hcmtlcikge1xuICAgIHRoaXMuY29uZmlnPy5vbk1hcmtlckNsaWNrKG1hcmtlcik7XG4gIH1cblxuICBvbk1vdmUobWFwOiBHb29nbGVNYXAsIGdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICBjb25zb2xlLmxvZyh7bWFwfSlcbiAgICB0aGlzLmNvbmZpZz8ub25Nb3ZlPy4obWFwLCBncm91cCk7XG4gIH1cblxuICBnZXRNYXJrZXJzKG1hcDogR29vZ2xlTWFwLCBncm91cDogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5jb25maWcubWFya2VycyhtYXAsIGdyb3VwKS5waXBlKClcbiAgfVxufSIsIlxuPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImxvY2F0aW9uSW5wdXRcIiAvPlxudmFsdWU6IHt7X3ZhbHVlfX1cbjxnb29nbGUtbWFwIFxuICBbY2VudGVyXT1cImlucHV0Q2VudGVyIHwgYXN5bmNcIiBcbiAgW3pvb21dPVwiMTFcIlxuICBbb3B0aW9uc109XCJjb25maWcub3B0aW9uc1wiIFxuICAobWFwRHJhZ2VuZCk9XCJvbk1vdmUobWFwLCBncm91cClcIlxuICAjbWFwPlxuXG4gIEBmb3IgKG1hcmtlciBvZiBjb25maWcubWFya2VycyhtYXAsIGdyb3VwKSB8IGFzeW5jOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8bWFwLWFkdmFuY2VkLW1hcmtlclxuICAgICAgI21hcmtlckVsZW09XCJtYXBBZHZhbmNlZE1hcmtlclwiXG4gICAgICBbcG9zaXRpb25dPVwibWFya2VyLnBvc2l0aW9uXCJcbiAgICAgIFtjb250ZW50XT1cIm1hcmtlci5jb250ZW50XCJcbiAgICAgIFt0aXRsZV09XCJtYXJrZXIudGl0bGVcIlxuICAgICAgKG1hcENsaWNrKT1cIm9uTWFya2VyQ2xpY2sobWFya2VyRWxlbSlcIlxuICAgIC8+XG4gICAgfVxuICAgIDxtYXAtaW5mby13aW5kb3cgI2luZm9XaW5kb3c+PC9tYXAtaW5mby13aW5kb3c+XG48L2dvb2dsZS1tYXA+Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZpZWxkLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdXRpbHMvbW9kZWxzL21hcC1maWVsZC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDb250cm9sVHlwZSwgQ3Jpc3ByQ29udHJvbENvbmZpZyB9IGZyb20gXCIuL2NyaXNwci1maWVsZC5jb25maWdcIjtcclxuaW1wb3J0IHsgR29vZ2xlTWFwIH0gZnJvbSBcIkBhbmd1bGFyL2dvb2dsZS1tYXBzXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgTWFwRmllbGRDb25maWcgPSBDcmlzcHJDb250cm9sQ29uZmlnICYge1xyXG4gIGNvbnRyb2xUeXBlOiBDb250cm9sVHlwZS5NQVA7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBjZW50ZXI6IGdvb2dsZS5tYXBzLkxhdExuZ0xpdGVyYWw7XHJcbiAgb3B0aW9ucz86Z29vZ2xlLm1hcHMuTWFwT3B0aW9ucztcclxuICBtYXJrZXJzPzogKG1hcDogR29vZ2xlTWFwLCBncm91cDogRm9ybUdyb3VwKSA9PiBPYnNlcnZhYmxlPGdvb2dsZS5tYXBzLm1hcmtlci5BZHZhbmNlZE1hcmtlckVsZW1lbnRPcHRpb25zW10+O1xyXG4gIG9uTW92ZT86IChtYXA6IEdvb2dsZU1hcCwgZ3JvdXA6IEZvcm1Hcm91cCkgPT4gdW5rbm93bjtcclxuICBvbk1hcmtlckNsaWNrPzogKG1hcmtlcjogZ29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudE9wdGlvbnMpID0+IHVua25vd247XHJcbn0iXX0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, signal, Component } from '@angular/core';
|
|
3
|
+
import { crisprControlMixin, CrisprFieldComponent } from './tft-crispr-forms.mjs';
|
|
4
|
+
import * as i1 from '@angular/google-maps';
|
|
5
|
+
import { MapGeocoder, GoogleMapsModule } from '@angular/google-maps';
|
|
6
|
+
import * as i2 from '@angular/forms';
|
|
7
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { switchMap, map } from 'rxjs';
|
|
9
|
+
import { AsyncPipe } from '@angular/common';
|
|
10
|
+
import '@tft/form-validation-handler';
|
|
11
|
+
import 'rxjs/operators';
|
|
12
|
+
import '@angular/material/button';
|
|
13
|
+
import '@angular/material/icon';
|
|
14
|
+
import '@angular/material/progress-bar';
|
|
15
|
+
import '@angular/material/form-field';
|
|
16
|
+
import '@angular/material/tooltip';
|
|
17
|
+
|
|
18
|
+
const defaultConfig = {};
|
|
19
|
+
const MapFieldMixin = crisprControlMixin(CrisprFieldComponent);
|
|
20
|
+
class MapFieldComponent extends MapFieldMixin {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.geoCoder = inject(MapGeocoder);
|
|
24
|
+
this.locationInput = new FormControl();
|
|
25
|
+
this.defaultConfig = defaultConfig;
|
|
26
|
+
this.markers = signal([]);
|
|
27
|
+
this.inputCenter = this.locationInput.valueChanges.pipe(switchMap((value) => {
|
|
28
|
+
const request = {
|
|
29
|
+
address: value,
|
|
30
|
+
};
|
|
31
|
+
return this.geoCoder.geocode(request);
|
|
32
|
+
}), map((res) => {
|
|
33
|
+
const { geometry, postcode_localities } = res.results?.[0] || {};
|
|
34
|
+
const { location, bounds } = geometry || {};
|
|
35
|
+
const center = location?.toJSON();
|
|
36
|
+
console.log({ center, bounds, postcode_localities });
|
|
37
|
+
return center;
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
// center = new input
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
super.ngOnInit();
|
|
43
|
+
}
|
|
44
|
+
onMarkerClick(marker) {
|
|
45
|
+
this.config?.onMarkerClick(marker);
|
|
46
|
+
}
|
|
47
|
+
onMove(map, group) {
|
|
48
|
+
console.log({ map });
|
|
49
|
+
this.config?.onMove?.(map, group);
|
|
50
|
+
}
|
|
51
|
+
getMarkers(map, group) {
|
|
52
|
+
this.config.markers(map, group).pipe();
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: MapFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.3", type: MapFieldComponent, isStandalone: true, selector: "crispr-map", usesInheritance: true, ngImport: i0, template: "\n<input type=\"text\" [formControl]=\"locationInput\" />\nvalue: {{_value}}\n<google-map \n [center]=\"inputCenter | async\" \n [zoom]=\"11\"\n [options]=\"config.options\" \n (mapDragend)=\"onMove(map, group)\"\n #map>\n\n @for (marker of config.markers(map, group) | async; track $index) {\n <map-advanced-marker\n #markerElem=\"mapAdvancedMarker\"\n [position]=\"marker.position\"\n [content]=\"marker.content\"\n [title]=\"marker.title\"\n (mapClick)=\"onMarkerClick(markerElem)\"\n />\n }\n <map-info-window #infoWindow></map-info-window>\n</google-map>", styles: [""], dependencies: [{ kind: "ngmodule", type: GoogleMapsModule }, { kind: "component", type: i1.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapId", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i1.MapInfoWindow, selector: "map-info-window", inputs: ["options", "position"], outputs: ["closeclick", "contentChanged", "domready", "positionChanged", "zindexChanged", "infoWindowInitialized"], exportAs: ["mapInfoWindow"] }, { kind: "directive", type: i1.MapAdvancedMarker, selector: "map-advanced-marker", inputs: ["title", "position", "content", "gmpDraggable", "options", "zIndex"], outputs: ["mapClick", "mapDrag", "mapDragend", "mapDragstart", "markerInitialized"], exportAs: ["mapAdvancedMarker"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], preserveWhitespaces: true }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: MapFieldComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{ selector: 'crispr-map', standalone: true, imports: [GoogleMapsModule, ReactiveFormsModule, AsyncPipe], template: "\n<input type=\"text\" [formControl]=\"locationInput\" />\nvalue: {{_value}}\n<google-map \n [center]=\"inputCenter | async\" \n [zoom]=\"11\"\n [options]=\"config.options\" \n (mapDragend)=\"onMove(map, group)\"\n #map>\n\n @for (marker of config.markers(map, group) | async; track $index) {\n <map-advanced-marker\n #markerElem=\"mapAdvancedMarker\"\n [position]=\"marker.position\"\n [content]=\"marker.content\"\n [title]=\"marker.title\"\n (mapClick)=\"onMarkerClick(markerElem)\"\n />\n }\n <map-info-window #infoWindow></map-info-window>\n</google-map>" }]
|
|
60
|
+
}] });
|
|
61
|
+
|
|
62
|
+
export { MapFieldComponent };
|
|
63
|
+
//# sourceMappingURL=tft-crispr-forms-index-CP5Jn6EK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tft-crispr-forms-index-CP5Jn6EK.mjs","sources":["../../../../libs/crispr-forms/src/lib/ui/map/map-field.component.ts","../../../../libs/crispr-forms/src/lib/ui/map/map-field.component.html"],"sourcesContent":["import { Component, OnInit, inject, signal } from '@angular/core';\nimport { CrisprFieldComponent, MapFieldConfig, crisprControlMixin } from '../../utils';\nimport { GoogleMap, GoogleMapsModule, MapAdvancedMarker, MapGeocoder, } from '@angular/google-maps';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { map, switchMap } from 'rxjs';\nimport { AsyncPipe } from '@angular/common';\n\nconst defaultConfig: Partial<MapFieldConfig> = {\n \n};\n\nconst MapFieldMixin = crisprControlMixin<MapFieldConfig>(CrisprFieldComponent);\n\n@Component({\n selector: 'crispr-map',\n standalone: true,\n imports: [GoogleMapsModule, ReactiveFormsModule, AsyncPipe ],\n templateUrl: './map-field.component.html',\n styleUrl: './map-field.component.scss',\n})\nexport class MapFieldComponent\n extends MapFieldMixin\n implements OnInit\n{\n geoCoder = inject(MapGeocoder);\n locationInput = new FormControl();\n\n defaultConfig = defaultConfig;\n markers = signal<google.maps.marker.AdvancedMarkerElementOptions[]>([])\n inputCenter = this.locationInput.valueChanges.pipe(\n switchMap((value: string) => {\n const request: google.maps.GeocoderRequest = {\n address: value,\n };\n return this.geoCoder.geocode(request);\n }),\n map((res) => {\n const { geometry, postcode_localities } = res.results?.[0] || {};\n const { location, bounds } = geometry || {};\n const center = location?.toJSON();\n console.log({ center, bounds, postcode_localities });\n return center;\n })\n )\n\n // center = new input\n ngOnInit() {\n super.ngOnInit();\n \n }\n\n onMarkerClick(marker: MapAdvancedMarker) {\n this.config?.onMarkerClick(marker);\n }\n\n onMove(map: GoogleMap, group: FormGroup) {\n console.log({map})\n this.config?.onMove?.(map, group);\n }\n\n getMarkers(map: GoogleMap, group: FormGroup) {\n this.config.markers(map, group).pipe()\n }\n}","\n<input type=\"text\" [formControl]=\"locationInput\" />\nvalue: {{_value}}\n<google-map \n [center]=\"inputCenter | async\" \n [zoom]=\"11\"\n [options]=\"config.options\" \n (mapDragend)=\"onMove(map, group)\"\n #map>\n\n @for (marker of config.markers(map, group) | async; track $index) {\n <map-advanced-marker\n #markerElem=\"mapAdvancedMarker\"\n [position]=\"marker.position\"\n [content]=\"marker.content\"\n [title]=\"marker.title\"\n (mapClick)=\"onMarkerClick(markerElem)\"\n />\n }\n <map-info-window #infoWindow></map-info-window>\n</google-map>"],"names":[],"mappings":"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"}
|
|
@@ -295,7 +295,7 @@ const FIELD_COMPONENTS = {
|
|
|
295
295
|
radio: () => import('./tft-crispr-forms-index-Bbcv75sh.mjs').then(({ RadioFieldComponent }) => RadioFieldComponent),
|
|
296
296
|
autocomplete: () => import('./tft-crispr-forms-index-C_YTy6il.mjs').then(({ AutocompleteFieldComponent }) => AutocompleteFieldComponent),
|
|
297
297
|
autocompleteChiplist: () => import('./tft-crispr-forms-index-BDJfgpKH.mjs').then(({ AutocompleteChiplistFieldComponent }) => AutocompleteChiplistFieldComponent),
|
|
298
|
-
map: () => import('./tft-crispr-forms-index-
|
|
298
|
+
map: () => import('./tft-crispr-forms-index-CP5Jn6EK.mjs').then(({ MapFieldComponent }) => MapFieldComponent),
|
|
299
299
|
textarea: () => import('./tft-crispr-forms-index-BVwoi2lw.mjs').then(({ TextareaFieldComponent }) => TextareaFieldComponent),
|
|
300
300
|
checkbox: () => import('./tft-crispr-forms-index-CN4M4eEo.mjs').then(({ CheckboxFieldComponent }) => CheckboxFieldComponent),
|
|
301
301
|
slider: () => import('./tft-crispr-forms-index-CYzZB0sA.mjs').then(({ SliderFieldComponent }) => SliderFieldComponent),
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tft/crispr-forms",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/forms": "^
|
|
7
|
-
"@angular/core": "^
|
|
8
|
-
"@angular/material": "^
|
|
9
|
-
"@angular/cdk": "^
|
|
10
|
-
"@tft/form-validation-handler": "^
|
|
5
|
+
"@angular/common": "^18.0.0",
|
|
6
|
+
"@angular/forms": "^18.0.0",
|
|
7
|
+
"@angular/core": "^18.0.0",
|
|
8
|
+
"@angular/material": "^18.0.0",
|
|
9
|
+
"@angular/cdk": "^18.0.0",
|
|
10
|
+
"@tft/form-validation-handler": "^18.0.0"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"tslib": "^2.0.0"
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { MapFieldConfig } from '../../utils';
|
|
3
|
+
import { GoogleMap, MapAdvancedMarker, MapGeocoder } from '@angular/google-maps';
|
|
4
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
declare const MapFieldMixin: {
|
|
5
7
|
new (): {
|
|
6
8
|
config: MapFieldConfig;
|
|
7
|
-
group:
|
|
9
|
+
group: FormGroup;
|
|
8
10
|
control: import("@angular/forms").AbstractControl;
|
|
9
11
|
_value: import("../../utils").ControlValue;
|
|
10
12
|
value: any;
|
|
@@ -15,8 +17,15 @@ declare const MapFieldMixin: {
|
|
|
15
17
|
};
|
|
16
18
|
};
|
|
17
19
|
export declare class MapFieldComponent extends MapFieldMixin implements OnInit {
|
|
20
|
+
geoCoder: MapGeocoder;
|
|
21
|
+
locationInput: FormControl<any>;
|
|
18
22
|
defaultConfig: Partial<MapFieldConfig>;
|
|
23
|
+
markers: import("@angular/core").WritableSignal<google.maps.marker.AdvancedMarkerElementOptions[]>;
|
|
24
|
+
inputCenter: import("rxjs").Observable<google.maps.LatLngLiteral>;
|
|
19
25
|
ngOnInit(): void;
|
|
26
|
+
onMarkerClick(marker: MapAdvancedMarker): void;
|
|
27
|
+
onMove(map: GoogleMap, group: FormGroup): void;
|
|
28
|
+
getMarkers(map: GoogleMap, group: FormGroup): void;
|
|
20
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<MapFieldComponent, never>;
|
|
21
30
|
static ɵcmp: i0.ɵɵComponentDeclaration<MapFieldComponent, "crispr-map", never, {}, {}, never, never, true, never>;
|
|
22
31
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import { FormGroup } from "@angular/forms";
|
|
1
2
|
import { ControlType, CrisprControlConfig } from "./crispr-field.config";
|
|
3
|
+
import { GoogleMap } from "@angular/google-maps";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
2
5
|
export type MapFieldConfig = CrisprControlConfig & {
|
|
3
6
|
controlType: ControlType.MAP;
|
|
4
7
|
label: string;
|
|
8
|
+
center: google.maps.LatLngLiteral;
|
|
9
|
+
options?: google.maps.MapOptions;
|
|
10
|
+
markers?: (map: GoogleMap, group: FormGroup) => Observable<google.maps.marker.AdvancedMarkerElementOptions[]>;
|
|
11
|
+
onMove?: (map: GoogleMap, group: FormGroup) => unknown;
|
|
12
|
+
onMarkerClick?: (marker: google.maps.marker.AdvancedMarkerElementOptions) => unknown;
|
|
5
13
|
};
|
|
Binary file
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { crisprControlMixin, CrisprFieldComponent } from './tft-crispr-forms.mjs';
|
|
5
|
-
import '@angular/forms';
|
|
6
|
-
import '@tft/form-validation-handler';
|
|
7
|
-
import 'rxjs';
|
|
8
|
-
import 'rxjs/operators';
|
|
9
|
-
import '@angular/material/button';
|
|
10
|
-
import '@angular/material/icon';
|
|
11
|
-
import '@angular/material/progress-bar';
|
|
12
|
-
import '@angular/material/form-field';
|
|
13
|
-
import '@angular/material/tooltip';
|
|
14
|
-
|
|
15
|
-
const defaultConfig = {};
|
|
16
|
-
const MapFieldMixin = crisprControlMixin(CrisprFieldComponent);
|
|
17
|
-
class MapFieldComponent extends MapFieldMixin {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
this.defaultConfig = defaultConfig;
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() {
|
|
23
|
-
super.ngOnInit();
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: MapFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: MapFieldComponent, isStandalone: true, selector: "crispr-map", usesInheritance: true, ngImport: i0, template: "<p>google-map works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], preserveWhitespaces: true }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: MapFieldComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'crispr-map', standalone: true, imports: [CommonModule], template: "<p>google-map works!</p>\n" }]
|
|
31
|
-
}] });
|
|
32
|
-
|
|
33
|
-
export { MapFieldComponent };
|
|
34
|
-
//# sourceMappingURL=tft-crispr-forms-index-D8oUGVGX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tft-crispr-forms-index-D8oUGVGX.mjs","sources":["../../../../libs/crispr-forms/src/lib/ui/map/map-field.component.ts","../../../../libs/crispr-forms/src/lib/ui/map/map-field.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CrisprFieldComponent, MapFieldConfig, crisprControlMixin } from '../../utils';\n\nconst defaultConfig: Partial<MapFieldConfig> = {\n \n};\nconst MapFieldMixin = crisprControlMixin<MapFieldConfig>(CrisprFieldComponent);\n\n@Component({\n selector: 'crispr-map',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './map-field.component.html',\n styleUrl: './map-field.component.scss',\n})\nexport class MapFieldComponent\n extends MapFieldMixin\n implements OnInit\n{\n defaultConfig = defaultConfig;\n ngOnInit() {\n super.ngOnInit();\n }\n}","<p>google-map works!</p>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,MAAM,aAAa,GAA4B,EAE9C,CAAC;AACF,MAAM,aAAa,GAAG,kBAAkB,CAAiB,oBAAoB,CAAC,CAAC;AASzE,MAAO,iBACX,SAAQ,aAAa,CAAA;AARvB,IAAA,WAAA,GAAA;;QAWE,IAAa,CAAA,aAAA,GAAG,aAAa,CAAC;AAI/B,KAAA;IAHC,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;KAClB;8GAPU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB9B,4BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWY,YAAY,EAAA,CAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,4BAAA,EAAA,CAAA;;;;;"}
|
|
Binary file
|