@reltio/components 1.4.2257 → 1.4.2258
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/ReltioMap/ReltioMap.d.ts +5 -8
- package/ReltioMap/ReltioMap.js +31 -39
- package/ReltioMap/ReltioMap.spec.js +299 -104
- package/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.d.ts +2 -1
- package/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.js +11 -13
- package/ReltioMap/components/EntityMarker/EntityMarker.d.ts +2 -1
- package/ReltioMap/components/EntityMarker/EntityMarker.js +3 -3
- package/ReltioMap/components/PolygonDrawing/PolygonDrawing.d.ts +4 -0
- package/ReltioMap/components/PolygonDrawing/PolygonDrawing.js +18 -0
- package/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.d.ts +1 -0
- package/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.js +1 -0
- package/ReltioMap/components/PolygonDrawing/index.d.ts +2 -0
- package/ReltioMap/components/PolygonDrawing/index.js +2 -0
- package/ReltioMap/components/PolygonDrawing/polygonRingHelpers.d.ts +5 -0
- package/ReltioMap/components/PolygonDrawing/polygonRingHelpers.js +43 -0
- package/ReltioMap/components/PolygonDrawing/useDrawingCursors.d.ts +6 -0
- package/ReltioMap/components/PolygonDrawing/useDrawingCursors.js +87 -0
- package/ReltioMap/components/PolygonDrawing/usePolygonDrawing.d.ts +9 -0
- package/ReltioMap/components/PolygonDrawing/usePolygonDrawing.js +197 -0
- package/ReltioMap/components/PolygonDrawing/usePreviewPolylines.d.ts +7 -0
- package/ReltioMap/components/PolygonDrawing/usePreviewPolylines.js +38 -0
- package/ReltioMap/components/PolygonDrawing/useVertexHandles.d.ts +14 -0
- package/ReltioMap/components/PolygonDrawing/useVertexHandles.js +85 -0
- package/ReltioMap/components/TopRightMapControls/TopRightMapControls.d.ts +3 -3
- package/ReltioMap/components/TopRightMapControls/TopRightMapControls.js +4 -18
- package/ReltioMap/helpers.d.ts +2 -1
- package/ReltioMap/helpers.js +3 -11
- package/ReltioMap/types.d.ts +2 -2
- package/cjs/ReltioMap/ReltioMap.d.ts +5 -8
- package/cjs/ReltioMap/ReltioMap.js +29 -37
- package/cjs/ReltioMap/ReltioMap.spec.js +298 -103
- package/cjs/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.d.ts +2 -1
- package/cjs/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.js +11 -13
- package/cjs/ReltioMap/components/EntityMarker/EntityMarker.d.ts +2 -1
- package/cjs/ReltioMap/components/EntityMarker/EntityMarker.js +3 -3
- package/cjs/ReltioMap/components/PolygonDrawing/PolygonDrawing.d.ts +4 -0
- package/cjs/ReltioMap/components/PolygonDrawing/PolygonDrawing.js +22 -0
- package/cjs/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.d.ts +1 -0
- package/cjs/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.js +4 -0
- package/cjs/ReltioMap/components/PolygonDrawing/index.d.ts +2 -0
- package/cjs/ReltioMap/components/PolygonDrawing/index.js +7 -0
- package/cjs/ReltioMap/components/PolygonDrawing/polygonRingHelpers.d.ts +5 -0
- package/cjs/ReltioMap/components/PolygonDrawing/polygonRingHelpers.js +50 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useDrawingCursors.d.ts +6 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useDrawingCursors.js +91 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePolygonDrawing.d.ts +9 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePolygonDrawing.js +202 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePreviewPolylines.d.ts +7 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePreviewPolylines.js +42 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useVertexHandles.d.ts +14 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useVertexHandles.js +89 -0
- package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.d.ts +3 -3
- package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.js +3 -17
- package/cjs/ReltioMap/helpers.d.ts +2 -1
- package/cjs/ReltioMap/helpers.js +8 -15
- package/cjs/ReltioMap/types.d.ts +2 -2
- package/cjs/constants/index.d.ts +1 -1
- package/cjs/constants/index.js +2 -2
- package/cjs/constants/map.d.ts +1 -2
- package/cjs/constants/map.js +2 -5
- package/cjs/features/workflow/AddWorkflowDialog/styles.d.ts +1 -1
- package/cjs/icons/index.d.ts +0 -1
- package/cjs/icons/index.js +2 -4
- package/constants/index.d.ts +1 -1
- package/constants/index.js +1 -1
- package/constants/map.d.ts +1 -2
- package/constants/map.js +1 -4
- package/features/workflow/AddWorkflowDialog/styles.d.ts +1 -1
- package/icons/index.d.ts +0 -1
- package/icons/index.js +0 -1
- package/package.json +2 -2
- package/ReltioMap/components/DrawingManager/DrawingManager.d.ts +0 -2
- package/ReltioMap/components/DrawingManager/DrawingManager.js +0 -5
- package/ReltioMap/components/DrawingManager/index.d.ts +0 -1
- package/ReltioMap/components/DrawingManager/index.js +0 -1
- package/ReltioMap/components/DrawingManager/useDrawingManager.d.ts +0 -7
- package/ReltioMap/components/DrawingManager/useDrawingManager.js +0 -36
- package/ReltioMap/googleMock.test-data.d.ts +0 -1
- package/ReltioMap/googleMock.test-data.js +0 -109
- package/cjs/ReltioMap/components/DrawingManager/DrawingManager.d.ts +0 -2
- package/cjs/ReltioMap/components/DrawingManager/DrawingManager.js +0 -9
- package/cjs/ReltioMap/components/DrawingManager/index.d.ts +0 -1
- package/cjs/ReltioMap/components/DrawingManager/index.js +0 -5
- package/cjs/ReltioMap/components/DrawingManager/useDrawingManager.d.ts +0 -7
- package/cjs/ReltioMap/components/DrawingManager/useDrawingManager.js +0 -40
- package/cjs/ReltioMap/googleMock.test-data.d.ts +0 -1
- package/cjs/ReltioMap/googleMock.test-data.js +0 -113
- package/cjs/icons/Radius.d.ts +0 -3
- package/cjs/icons/Radius.js +0 -22
- package/icons/Radius.d.ts +0 -3
- package/icons/Radius.js +0 -17
package/ReltioMap/ReltioMap.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { GeoPoint } from '@reltio/mdm-sdk';
|
|
3
|
-
import {
|
|
3
|
+
import { MapBounds, Overlay, ClusteredMarkersOptions, DrawingMode } from './types';
|
|
4
4
|
type Props = {
|
|
5
5
|
markers?: GeoPoint[];
|
|
6
6
|
mapKey: string;
|
|
@@ -12,20 +12,17 @@ type Props = {
|
|
|
12
12
|
isSearchOnMapMove?: boolean;
|
|
13
13
|
isSearchEnabled?: boolean;
|
|
14
14
|
activeOverlay?: Overlay;
|
|
15
|
-
overlayOptions?: google.maps.PolygonOptions
|
|
16
|
-
|
|
15
|
+
overlayOptions?: google.maps.PolygonOptions;
|
|
16
|
+
enablePolygonDrawing?: boolean;
|
|
17
17
|
markerClusterer?: boolean;
|
|
18
18
|
markerClustererOptions?: ClusteredMarkersOptions;
|
|
19
19
|
mapOptions?: google.maps.MapOptions;
|
|
20
20
|
mapContainerClassName?: string;
|
|
21
21
|
onMapBoundsChanged?: (value: MapBounds | null) => void;
|
|
22
22
|
onOverlayUpdated?: (value: {
|
|
23
|
-
data: number[][]
|
|
24
|
-
radius: number;
|
|
25
|
-
center: google.maps.LatLng;
|
|
26
|
-
};
|
|
23
|
+
data: number[][];
|
|
27
24
|
type: DrawingMode;
|
|
28
|
-
}) => void;
|
|
25
|
+
} | null) => void;
|
|
29
26
|
onMarkerClicked?: (value: GeoPoint) => void;
|
|
30
27
|
};
|
|
31
28
|
export declare const ReltioMap: ({ mapKey, ...restProps }: Props) => React.JSX.Element;
|
package/ReltioMap/ReltioMap.js
CHANGED
|
@@ -25,15 +25,15 @@ import { propEq, isEmpty, identity } from 'ramda';
|
|
|
25
25
|
import { APIProvider, ControlPosition, Map, MapControl, useApiIsLoaded, useMap } from '@vis.gl/react-google-maps';
|
|
26
26
|
import { TopRightMapControls } from './components/TopRightMapControls';
|
|
27
27
|
import { TopCenterMapControls } from './components/TopCenterMapControls';
|
|
28
|
-
import { getMapBoundsPolygon,
|
|
29
|
-
import { DEFAULT_GOOGLE_MAP_OPTIONS, DEFAULT_OVERLAY_OPTIONS,
|
|
28
|
+
import { getMapBoundsPolygon, isActivePolygonDrawing } from './helpers';
|
|
29
|
+
import { DEFAULT_GOOGLE_MAP_OPTIONS, DEFAULT_OVERLAY_OPTIONS, POLYGON_DRAWING_MODE } from '../constants';
|
|
30
30
|
import { useFitMapBounds } from './useFitMapBounds';
|
|
31
|
-
import { useStyles } from './styles';
|
|
32
31
|
import { ClusteredMarkers } from './components/ClusteredMarkers';
|
|
33
32
|
import { Polygon } from './components/Polygon';
|
|
34
|
-
import {
|
|
33
|
+
import { PolygonDrawing } from './components/PolygonDrawing';
|
|
34
|
+
import { useStyles } from './styles';
|
|
35
35
|
var ON_MAP_MOVE_DEBOUNCE_INTERVAL = 1000;
|
|
36
|
-
var libraries = ['
|
|
36
|
+
var libraries = ['marker'];
|
|
37
37
|
export var ReltioMap = function (_a) {
|
|
38
38
|
var mapKey = _a.mapKey, restProps = __rest(_a, ["mapKey"]);
|
|
39
39
|
return (React.createElement(APIProvider, { apiKey: mapKey, libraries: libraries },
|
|
@@ -42,7 +42,7 @@ export var ReltioMap = function (_a) {
|
|
|
42
42
|
var emptyObject = {};
|
|
43
43
|
var emptyArray = [];
|
|
44
44
|
var InternalReltioMap = memo(function (_a) {
|
|
45
|
-
var mapId = _a.mapId, _b = _a.markers, markers = _b === void 0 ? emptyArray : _b, defaultZoom = _a.defaultZoom, defaultCenter = _a.defaultCenter, loadingElement = _a.loadingElement, isSearchOnMapMove = _a.isSearchOnMapMove, isSearchEnabled = _a.isSearchEnabled, activeOverlay = _a.activeOverlay, _c = _a.overlayOptions, overlayOptions = _c === void 0 ? emptyObject : _c, _d = _a.
|
|
45
|
+
var mapId = _a.mapId, _b = _a.markers, markers = _b === void 0 ? emptyArray : _b, defaultZoom = _a.defaultZoom, defaultCenter = _a.defaultCenter, loadingElement = _a.loadingElement, isSearchOnMapMove = _a.isSearchOnMapMove, isSearchEnabled = _a.isSearchEnabled, activeOverlay = _a.activeOverlay, _c = _a.overlayOptions, overlayOptions = _c === void 0 ? emptyObject : _c, _d = _a.enablePolygonDrawing, enablePolygonDrawing = _d === void 0 ? false : _d, markerClusterer = _a.markerClusterer, markerClustererOptions = _a.markerClustererOptions, _f = _a.mapOptions, mapOptions = _f === void 0 ? emptyObject : _f, mapContainerClassName = _a.mapContainerClassName, _g = _a.onMapBoundsChanged, onMapBoundsChanged = _g === void 0 ? identity : _g, _h = _a.onOverlayUpdated, onOverlayUpdated = _h === void 0 ? identity : _h, _j = _a.onMarkerClicked, onMarkerClicked = _j === void 0 ? identity : _j;
|
|
46
46
|
var styles = useStyles();
|
|
47
47
|
var mapMoveEndTimer = useRef(null);
|
|
48
48
|
var isLoaded = useApiIsLoaded();
|
|
@@ -52,10 +52,15 @@ var InternalReltioMap = memo(function (_a) {
|
|
|
52
52
|
useFitMapBounds({ markers: markers, activeOverlay: activeOverlay, map: map, isSearchOnMapMove: isSearchOnMapMove });
|
|
53
53
|
var allOverlayOptions = useMemo(function () { return (__assign(__assign({}, DEFAULT_OVERLAY_OPTIONS), overlayOptions)); }, [overlayOptions]);
|
|
54
54
|
var googleMapOptions = useMemo(function () { return (__assign(__assign({}, DEFAULT_GOOGLE_MAP_OPTIONS), mapOptions)); }, [mapOptions]);
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
var previewPolylineOptions = useMemo(function () {
|
|
56
|
+
var _a;
|
|
57
|
+
return ({
|
|
58
|
+
strokeColor: allOverlayOptions.strokeColor,
|
|
59
|
+
strokeWeight: allOverlayOptions.strokeWeight,
|
|
60
|
+
zIndex: ((_a = allOverlayOptions.zIndex) !== null && _a !== void 0 ? _a : 1) + 1
|
|
61
|
+
});
|
|
62
|
+
}, [allOverlayOptions]);
|
|
63
|
+
var completedPolygonDrawingOptions = useMemo(function () { return (__assign(__assign({}, allOverlayOptions), { editable: false })); }, [allOverlayOptions]);
|
|
59
64
|
var polygonOptions = useMemo(function () { return (__assign({ paths: activeOverlay === null || activeOverlay === void 0 ? void 0 : activeOverlay.path, editable: true }, allOverlayOptions)); }, [activeOverlay, allOverlayOptions]);
|
|
60
65
|
var handleChangeIsSearchOnMapMove = useCallback(function (isSearchOnMapMove) {
|
|
61
66
|
onMapBoundsChanged(isSearchOnMapMove ? getMapBoundsPolygon(map) : null);
|
|
@@ -77,54 +82,41 @@ var InternalReltioMap = memo(function (_a) {
|
|
|
77
82
|
mapMoveEndTimer.current = setTimeout(handleMapMoveEnd, ON_MAP_MOVE_DEBOUNCE_INTERVAL);
|
|
78
83
|
}, [handleMapMoveEnd, isSearchOnMapMove]);
|
|
79
84
|
var handleOverlayChange = useCallback(function (_e, propOverlay) {
|
|
80
|
-
var
|
|
81
|
-
var _b;
|
|
82
|
-
var polygonStateOverlay = polygon && { type: MAP_DRAWING_MODES.POLYGON, overlay: polygon };
|
|
85
|
+
var polygonStateOverlay = polygon && { type: POLYGON_DRAWING_MODE, overlay: polygon };
|
|
83
86
|
var stateOverlay = propOverlay || polygonStateOverlay;
|
|
84
87
|
if (isEmpty(stateOverlay))
|
|
85
88
|
return;
|
|
86
89
|
var overlay = stateOverlay.overlay, type = stateOverlay.type;
|
|
87
|
-
var
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
.map(function (latlng) { return [latlng.lat(), latlng.lng()]; });
|
|
92
|
-
};
|
|
93
|
-
var getCircleParameters = function () { return ({
|
|
94
|
-
radius: overlay.getRadius() / 1000,
|
|
95
|
-
center: overlay.getCenter()
|
|
96
|
-
}); };
|
|
97
|
-
var typeActions = (_a = {},
|
|
98
|
-
_a[MAP_DRAWING_MODES.POLYGON] = getPolygonLatLngCoordinates,
|
|
99
|
-
_a[MAP_DRAWING_MODES.CIRCLE] = getCircleParameters,
|
|
100
|
-
_a);
|
|
101
|
-
var data = (_b = typeActions[type]) === null || _b === void 0 ? void 0 : _b.call(typeActions);
|
|
102
|
-
if (!data)
|
|
103
|
-
return;
|
|
90
|
+
var data = overlay
|
|
91
|
+
.getPath()
|
|
92
|
+
.getArray()
|
|
93
|
+
.map(function (latlng) { return [latlng.lat(), latlng.lng()]; });
|
|
104
94
|
onOverlayUpdated({ data: data, type: type });
|
|
105
95
|
}, [onOverlayUpdated, polygon]);
|
|
106
|
-
var
|
|
107
|
-
handleOverlayChange(null, { type:
|
|
96
|
+
var onPolygonDrawingComplete = useCallback(function (overlay) {
|
|
97
|
+
handleOverlayChange(null, { type: POLYGON_DRAWING_MODE, overlay: overlay });
|
|
108
98
|
overlay.setMap(null);
|
|
109
99
|
setDrawingMode(null);
|
|
110
|
-
}
|
|
100
|
+
}, [handleOverlayChange]);
|
|
111
101
|
var handleClearOverlay = useCallback(function () {
|
|
112
102
|
onOverlayUpdated(null);
|
|
113
103
|
}, [onOverlayUpdated]);
|
|
114
104
|
if (!isLoaded) {
|
|
115
105
|
return loadingElement;
|
|
116
106
|
}
|
|
117
|
-
var
|
|
118
|
-
var shouldRenderRightMapControls = map && isSearchEnabled &&
|
|
107
|
+
var shouldRenderPolygonDrawing = isSearchEnabled && enablePolygonDrawing;
|
|
108
|
+
var shouldRenderRightMapControls = map && isSearchEnabled && enablePolygonDrawing;
|
|
119
109
|
var shouldRenderCenterMapControls = map && isSearchEnabled;
|
|
120
|
-
var shouldRenderPolygon = !
|
|
110
|
+
var shouldRenderPolygon = !isActivePolygonDrawing(drawingMode) &&
|
|
111
|
+
activeOverlay &&
|
|
112
|
+
propEq('type', POLYGON_DRAWING_MODE, activeOverlay);
|
|
121
113
|
return (React.createElement(Map, __assign({ mapId: mapId || 'mapId' }, googleMapOptions, { defaultZoom: defaultZoom, defaultCenter: defaultCenter, onZoomChanged: handleMapMoveStart, onDragstart: handleMapMoveStart, onIdle: handleMapIdle, className: mapContainerClassName }),
|
|
122
114
|
shouldRenderRightMapControls && (React.createElement(MapControl, { position: ControlPosition.TOP_RIGHT },
|
|
123
|
-
React.createElement(TopRightMapControls, { className: styles.mapControlContainer, hasActiveOverlay: !!activeOverlay,
|
|
115
|
+
React.createElement(TopRightMapControls, { className: styles.mapControlContainer, hasActiveOverlay: !!activeOverlay, enablePolygonDrawing: enablePolygonDrawing, drawingMode: drawingMode, onDrawingModeChanged: setDrawingMode, onClearOverlay: handleClearOverlay }))),
|
|
124
116
|
shouldRenderCenterMapControls && (React.createElement(MapControl, { position: ControlPosition.TOP_CENTER },
|
|
125
117
|
React.createElement(TopCenterMapControls, { className: styles.mapControlContainer, onChangeIsSearchOnMapMove: handleChangeIsSearchOnMapMove, isSearchOnMapMove: isSearchOnMapMove }))),
|
|
126
|
-
React.createElement(ClusteredMarkers, { entityMarkers: markers, enabledClustering: markerClusterer, options: markerClustererOptions, onMarkerClick: onMarkerClicked }),
|
|
118
|
+
React.createElement(ClusteredMarkers, { entityMarkers: markers, enabledClustering: markerClusterer, options: markerClustererOptions, onMarkerClick: onMarkerClicked, disabled: isActivePolygonDrawing(drawingMode) }),
|
|
127
119
|
shouldRenderPolygon && (React.createElement(Polygon, { onInit: setPolygon, options: polygonOptions, onMouseUp: handleOverlayChange, onDragEnd: handleOverlayChange })),
|
|
128
|
-
|
|
120
|
+
shouldRenderPolygonDrawing && (React.createElement(PolygonDrawing, { isActive: isActivePolygonDrawing(drawingMode), previewPolylineOptions: previewPolylineOptions, completedPolygonOptions: completedPolygonDrawingOptions, onPolygonComplete: onPolygonDrawingComplete }))));
|
|
129
121
|
});
|
|
130
122
|
InternalReltioMap.displayName = 'InternalReltioMap';
|