From ad5b4e351a84cea5d4ee69debc041d4b18a40118 Mon Sep 17 00:00:00 2001 From: valentinab25 <30239069+valentinab25@users.noreply.github.com> Date: Tue, 12 Apr 2022 15:13:04 +0300 Subject: [PATCH 1/7] [JENKINS] use default nodejs --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 38c7e9c..d8ee33c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -184,7 +184,7 @@ pipeline { unstash "xunit-reports" unstash "cypress-coverage" def scannerHome = tool 'SonarQubeScanner'; - def nodeJS = tool 'NodeJS11'; + def nodeJS = tool 'NodeJS'; withSonarQubeEnv('Sonarqube') { sh '''sed -i "s#/opt/frontend/my-volto-project/src/addons/${GIT_NAME}/##g" xunit-reports/coverage/lcov.info''' sh "export PATH=$PATH:${scannerHome}/bin:${nodeJS}/bin; sonar-scanner -Dsonar.javascript.lcov.reportPaths=./xunit-reports/coverage/lcov.info,./cypress-coverage/coverage/lcov.info -Dsonar.sources=./src -Dsonar.projectKey=$GIT_NAME-$BRANCH_NAME -Dsonar.projectVersion=$BRANCH_NAME-$BUILD_NUMBER" @@ -238,4 +238,4 @@ pipeline { } } } -} \ No newline at end of file +} From 3c73d31e2d1689cec97a6b42121859770657ceff Mon Sep 17 00:00:00 2001 From: valentinab25 <30239069+valentinab25@users.noreply.github.com> Date: Tue, 12 Apr 2022 18:27:51 +0300 Subject: [PATCH 2/7] [JENKINSFILE] use NodeJS from ${nodeJS}/bin --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d8ee33c..353a441 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -187,7 +187,7 @@ pipeline { def nodeJS = tool 'NodeJS'; withSonarQubeEnv('Sonarqube') { sh '''sed -i "s#/opt/frontend/my-volto-project/src/addons/${GIT_NAME}/##g" xunit-reports/coverage/lcov.info''' - sh "export PATH=$PATH:${scannerHome}/bin:${nodeJS}/bin; sonar-scanner -Dsonar.javascript.lcov.reportPaths=./xunit-reports/coverage/lcov.info,./cypress-coverage/coverage/lcov.info -Dsonar.sources=./src -Dsonar.projectKey=$GIT_NAME-$BRANCH_NAME -Dsonar.projectVersion=$BRANCH_NAME-$BUILD_NUMBER" + sh "export PATH=${scannerHome}/bin:${nodeJS}/bin:$PATH; sonar-scanner -Dsonar.javascript.lcov.reportPaths=./xunit-reports/coverage/lcov.info,./cypress-coverage/coverage/lcov.info -Dsonar.sources=./src -Dsonar.projectKey=$GIT_NAME-$BRANCH_NAME -Dsonar.projectVersion=$BRANCH_NAME-$BUILD_NUMBER" sh '''try=2; while [ \$try -gt 0 ]; do curl -s -XPOST -u "${SONAR_AUTH_TOKEN}:" "${SONAR_HOST_URL}api/project_tags/set?project=${GIT_NAME}-${BRANCH_NAME}&tags=${SONARQUBE_TAGS},${BRANCH_NAME}" > set_tags_result; if [ \$(grep -ic error set_tags_result ) -eq 0 ]; then try=0; else cat set_tags_result; echo "... Will retry"; sleep 60; try=\$(( \$try - 1 )); fi; done''' } } From 08e447e2f5cc495d334864693b4ee8cf261c2eba Mon Sep 17 00:00:00 2001 From: andreiggr Date: Wed, 13 Apr 2022 15:12:12 +0300 Subject: [PATCH 3/7] openlayers markers wip --- package.json | 8 +- .../templates/expandable/PopupMap.jsx | 83 +++++++++++++++++-- 2 files changed, 82 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 43158aa..d513821 100644 --- a/package.json +++ b/package.json @@ -19,19 +19,21 @@ "addons": [ "@eeacms/volto-plotlycharts", "@eeacms/volto-datablocks", + "@eeacms/volto-openlayers-map", "@eeacms/volto-addons-forest", "@eeacms/volto-matomo" ], "dependencies": { - "@eeacms/volto-plotlycharts": "*", "@eeacms/volto-addons-forest": "*", "@eeacms/volto-datablocks": "*", "@eeacms/volto-matomo": "*", + "@eeacms/volto-openlayers-map": "0.1.3", + "@eeacms/volto-plotlycharts": "*", + "pigeon-maps": "0.21.0", "react-highlight-words": "^0.16.0", "react-image-gallery": "1.2.7", "react-lazy-load-image-component": "^1.5.0", - "react-stickynode": "^2.1.1", - "pigeon-maps": "0.21.0" + "react-stickynode": "^2.1.1" }, "devDependencies": { "@cypress/code-coverage": "^3.9.5", diff --git a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx index b35db07..8db720a 100644 --- a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx +++ b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx @@ -1,8 +1,14 @@ import React from 'react'; import { compose } from 'redux'; import { connectToProviderData } from '@eeacms/volto-datablocks/hocs'; +import { Map } from '@eeacms/volto-openlayers-map/Map'; +import { Layers, Layer } from '@eeacms/volto-openlayers-map/Layers'; +import { openlayers } from '@eeacms/volto-openlayers-map'; -import { Map, Marker } from 'pigeon-maps'; +// import { Map, Marker } from 'pigeon-maps'; + +const getLayerBaseURL = () => + 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}'; const getProviderDataLength = (provider_data) => { return provider_data @@ -11,10 +17,14 @@ const getProviderDataLength = (provider_data) => { }; const PopupMap = ({ rowData, provider_data, mapData }) => { - const [mapCenter, setMapCenter] = React.useState([45, 9]); + const [mapRendered, setMapRendered] = React.useState(false); + const [mapCenter, setMapCenter] = React.useState([9, 45]); + const mapRef = React.useRef(); const [selectedData, setSelectedData] = React.useState([]); + const { proj, source, style, format } = openlayers; + React.useEffect(() => { const { long, lat } = mapData; const allLong = @@ -30,7 +40,8 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { const centerLong = minLong && maxLong ? (minLong + maxLong) / 2 : ''; if (centerLat && centerLong) { - setMapCenter([centerLat, centerLong]); + setMapCenter([centerLong, centerLat]); + centerToPosition({ longitude: centerLong, latitude: centerLat }, 5); } }, [selectedData, mapData]); @@ -60,20 +71,80 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { //const uniqueCountries = [...new Set(countries)]; + const centerToPosition = (position, zoom) => { + const { proj } = openlayers; + return mapRef.current.getView().animate({ + center: proj.fromLonLat([position.longitude, position.latitude]), + duration: 1000, + zoom, + }); + }; + if (!provider_data) { return 'Loading..'; } return (
{selectedData.length > 0 ? ( - + + { + mapRef.current = data?.map; + if (data?.mapRendered && !mapRendered) { + setMapRendered(true); + } + }} + view={{ + center: proj.fromLonLat(mapCenter), + showFullExtent: true, + // maxZoom: 1, + minZoom: 1, + zoom: 5, + }} + renderer="webgl" + // onPointermove={this.onPointermove} + // onClick={this.onClick} + // onMoveend={this.onMoveend} + > + + + + + + {/* {selectedData.map((item, i) => { const long = item[mapData.long] ? item[mapData.long] : ''; const lat = item[mapData.lat] ? item[mapData.lat] : ''; - /* const label = item[mapData.label] ? item[mapData.label] : ''; */ return ; })} - + */} + ) : (

No data available for map.

)} From 6bff44c737a3d124c399b928cf3339d4d9f53dbc Mon Sep 17 00:00:00 2001 From: andreiggr Date: Thu, 14 Apr 2022 13:27:13 +0300 Subject: [PATCH 4/7] Use volto-openlayers & fixes --- package.json | 3 +- .../templates/expandable/PopupMap.jsx | 129 +++++++++--------- .../templates/expandable/View.jsx | 85 ++++++------ .../templates/expandable/style.less | 5 + 4 files changed, 120 insertions(+), 102 deletions(-) diff --git a/package.json b/package.json index d513821..cf169d0 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,8 @@ "@eeacms/volto-addons-forest": "*", "@eeacms/volto-datablocks": "*", "@eeacms/volto-matomo": "*", - "@eeacms/volto-openlayers-map": "0.1.3", + "@eeacms/volto-openlayers-map": "0.1.4", "@eeacms/volto-plotlycharts": "*", - "pigeon-maps": "0.21.0", "react-highlight-words": "^0.16.0", "react-image-gallery": "1.2.7", "react-lazy-load-image-component": "^1.5.0", diff --git a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx index 8db720a..853d511 100644 --- a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx +++ b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx @@ -5,8 +5,6 @@ import { Map } from '@eeacms/volto-openlayers-map/Map'; import { Layers, Layer } from '@eeacms/volto-openlayers-map/Layers'; import { openlayers } from '@eeacms/volto-openlayers-map'; -// import { Map, Marker } from 'pigeon-maps'; - const getLayerBaseURL = () => 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}'; @@ -22,8 +20,9 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { const mapRef = React.useRef(); const [selectedData, setSelectedData] = React.useState([]); + const [featuresData, setFeaturesData] = React.useState([]); - const { proj, source, style, format } = openlayers; + const { proj, source, style } = openlayers; React.useEffect(() => { const { long, lat } = mapData; @@ -46,8 +45,10 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { }, [selectedData, mapData]); React.useEffect(() => { + const { long, lat } = mapData; const provider_data_length = getProviderDataLength(provider_data); const newMapData = []; + const newFeaturesData = []; if (provider_data_length) { const keys = Object.keys(provider_data); Array(provider_data_length) @@ -58,9 +59,19 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { obj[key] = provider_data[key][i]; }); newMapData.push(obj); + + newFeaturesData.push( + new openlayers.ol.Feature( + new openlayers.geom.Point( + openlayers.proj.fromLonLat([obj[long], obj[lat]]), + ), + ), + ); }); } setSelectedData(newMapData); + + setFeaturesData(newFeaturesData); /* eslint-disable-next-line */ }, [provider_data]); @@ -84,67 +95,63 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { return 'Loading..'; } return ( -
+
{selectedData.length > 0 ? ( - - { - mapRef.current = data?.map; - if (data?.mapRendered && !mapRendered) { - setMapRendered(true); + { + mapRef.current = data?.map; + if (data?.mapRendered && !mapRendered) { + setMapRendered(true); + } + }} + view={{ + center: proj.fromLonLat(mapCenter), + showFullExtent: true, + minZoom: 1, + zoom: 2, + }} + renderer="webgl" + // onPointermove={this.onPointermove} + // onClick={this.onClick} + // onMoveend={this.onMoveend} + > + + + - - - - - - {/* - {selectedData.map((item, i) => { - const long = item[mapData.long] ? item[mapData.long] : ''; - const lat = item[mapData.lat] ? item[mapData.lat] : ''; - return ; - })} - */} - + }), + }) + } + title="1.Sites" + zIndex={1} + /> + + ) : (

No data available for map.

)} diff --git a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx index f8321e1..0b5fe33 100644 --- a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx +++ b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx @@ -137,6 +137,7 @@ const View = (props) => { }; /* eslint-disable-next-line */ }, []); + return (
{ - {selectedColumns.map((colDef, j) => ( - - - - ))} + + + ))} ) : null} @@ -217,19 +220,21 @@ const View = (props) => { - {selectedColumns.map((colDef, j) => ( - - - - ))} + {selectedColumns && + selectedColumns.length > 0 && + selectedColumns.map((colDef, j) => ( + + + + ))} ); })} @@ -243,7 +248,9 @@ const View = (props) => { '' )} - {Math.ceil(items.length / row_size) > 1 ? ( + {selectedColumns && + selectedColumns.length > 0 && + Math.ceil(items.length / row_size) > 1 ? ( Date: Thu, 14 Apr 2022 13:40:47 +0300 Subject: [PATCH 5/7] Fix crash on no selected columns --- .../templates/expandable/View.jsx | 75 +++++++++++-------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx index 0b5fe33..a7c66e4 100644 --- a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx +++ b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/View.jsx @@ -205,39 +205,48 @@ const View = (props) => { ) : null} - {Array( - Math.max( - 0, - Math.min(row_size, items.length - (activePage - 1) * row_size), - ), - ) - .fill() - .map((_, i) => { - const row_index = i + (activePage - 1) * row_size; - const row_data = items[row_index]; - return ( - - - - - {selectedColumns && - selectedColumns.length > 0 && - selectedColumns.map((colDef, j) => ( - - - - ))} - - ); - })} + {selectedColumns && selectedColumns.length > 0 ? ( + Array( + Math.max( + 0, + Math.min(row_size, items.length - (activePage - 1) * row_size), + ), + ) + .fill() + .map((_, i) => { + const row_index = i + (activePage - 1) * row_size; + const row_data = items[row_index]; + return ( + + + + + {selectedColumns && + selectedColumns.length > 0 && + selectedColumns.map((colDef, j) => ( + + + + ))} + + ); + }) + ) : ( +

+ Select columns data from DATA SOURCE tab. +

+ )} {!items.length ? ( From 31181d8d9d0ad5e8c19102517c2d2ce7833259c9 Mon Sep 17 00:00:00 2001 From: andreiggr Date: Thu, 14 Apr 2022 13:48:08 +0300 Subject: [PATCH 6/7] Table markers based on selected lat long from edit --- .../Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx index 853d511..1d88dff 100644 --- a/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx +++ b/src/components/manage/Blocks/SimpleDataTable/templates/expandable/PopupMap.jsx @@ -73,7 +73,7 @@ const PopupMap = ({ rowData, provider_data, mapData }) => { setFeaturesData(newFeaturesData); /* eslint-disable-next-line */ - }, [provider_data]); + }, [provider_data, mapData]); // const countries = // provider_data && provider_data[mapData.country] From af4f02c71abb85b2e9ccc10927fb0e27b04cf26d Mon Sep 17 00:00:00 2001 From: EEA Jenkins <@users.noreply.github.com> Date: Thu, 14 Apr 2022 11:29:54 +0000 Subject: [PATCH 7/7] Automated release 0.2.7 --- CHANGELOG.md | 11 +++++++++++ package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9eac8e..9f1831b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,19 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [0.2.7](https://github.com/eea/volto-forests-theme/compare/0.2.6...0.2.7) + +- Expandable table improvements [`#63`](https://github.com/eea/volto-forests-theme/pull/63) +- Table markers based on selected lat long from edit [`31181d8`](https://github.com/eea/volto-forests-theme/commit/31181d8d9d0ad5e8c19102517c2d2ce7833259c9) +- Fix crash on no selected columns [`30f2c17`](https://github.com/eea/volto-forests-theme/commit/30f2c17d4200fb0579a6a90efbf4943597f2156b) +- Use volto-openlayers & fixes [`6bff44c`](https://github.com/eea/volto-forests-theme/commit/6bff44c737a3d124c399b928cf3339d4d9f53dbc) +- openlayers markers wip [`08e447e`](https://github.com/eea/volto-forests-theme/commit/08e447e2f5cc495d334864693b4ee8cf261c2eba) + #### [0.2.6](https://github.com/eea/volto-forests-theme/compare/0.2.5...0.2.6) +> 11 April 2022 + +- Expandable template for SimpleDataTable [`#62`](https://github.com/eea/volto-forests-theme/pull/62) - Expandable table template [`#61`](https://github.com/eea/volto-forests-theme/pull/61) - BodyClass classes inline [`c79695a`](https://github.com/eea/volto-forests-theme/commit/c79695ad82ba37883eb301a2e13bb61c957782ea) - localconfig tests [`b639387`](https://github.com/eea/volto-forests-theme/commit/b6393878d738719cb924ad0b4344f16664d8e66c) diff --git a/package.json b/package.json index cf169d0..aae43ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@eeacms/volto-forests-theme", - "version": "0.2.6", + "version": "0.2.7", "description": "@eeacms/volto-forests-theme: Volto add-on", "main": "src/index.js", "author": "European Environment Agency: IDM2 A-Team",