From c9376f03cbe57927c57491fa21847350f585bf96 Mon Sep 17 00:00:00 2001 From: Gervwyk Date: Thu, 23 Jun 2022 11:59:21 +0200 Subject: [PATCH] fix(blocks-google-maps): Fix load script libraries. --- .../GoogleMapsHeatmap/GoogleMapsHeatmap.js | 10 ++----- .../GoogleMapsScript/GoogleMapsScript.js | 2 +- .../GoogleMapsScript/GoogleMapsScript.json | 27 +++++++++++++++++++ .../blocks-google-maps/src/blocks/Map.js | 2 +- 4 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.json diff --git a/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsHeatmap/GoogleMapsHeatmap.js b/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsHeatmap/GoogleMapsHeatmap.js index def5fb1af7..de14e77b0a 100644 --- a/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsHeatmap/GoogleMapsHeatmap.js +++ b/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsHeatmap/GoogleMapsHeatmap.js @@ -30,13 +30,7 @@ function updateHeatmap(data) { } const GoogleMapsHeatmap = ({ blockId, content, methods, properties }) => ( - + {(map, bounds) => map && bounds && @@ -49,7 +43,7 @@ const GoogleMapsHeatmap = ({ blockId, content, methods, properties }) => ( (properties.heatmap?.data || []).map((item) => updateHeatmap(item)) } onLoad={() => { - if (properties.autoBounds !== false && bounds) { + if (properties.autoBounds !== false && bounds && map) { (properties.heatmap?.data || []).forEach((item) => { bounds.extend(item); }); diff --git a/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.js b/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.js index 01892b5c3e..02985c3ce1 100644 --- a/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.js +++ b/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.js @@ -23,7 +23,7 @@ const LIBRARIES = []; class GoogleMapsScript extends React.Component { constructor(props) { super(props); - this.libraries = [...new Set(props.libraries || [])]; + this.libraries = [...new Set(props.properties?.libraries || [])]; } render() { const { blockId, properties, content } = this.props; diff --git a/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.json b/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.json new file mode 100644 index 0000000000..4d8d809695 --- /dev/null +++ b/packages/plugins/blocks/blocks-google-maps/src/blocks/GoogleMapsScript/GoogleMapsScript.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "type": "object", + "additionalProperties": false, + "properties": { + "apiKey": { + "type": "string", + "description": "Your Goolge Maps API key." + } + } + }, + "events": { + "type": "object", + "additionalProperties": false, + "properties": { + "onClick": { + "type": "array", + "description": "Trigger actions when the map is clicked." + }, + "onMarkerClick": { + "type": "array", + "description": "Trigger actions when marker is clicked." + } + } + } +} diff --git a/packages/plugins/blocks/blocks-google-maps/src/blocks/Map.js b/packages/plugins/blocks/blocks-google-maps/src/blocks/Map.js index 2f8c2e8292..37174ed134 100644 --- a/packages/plugins/blocks/blocks-google-maps/src/blocks/Map.js +++ b/packages/plugins/blocks/blocks-google-maps/src/blocks/Map.js @@ -97,7 +97,7 @@ const Map = ({ blockId, children, content, methods, properties }) => { }); }} > - {content.content()} + {content.infoWindow()} )} {children(map, bounds)}