Skip to content

Commit

Permalink
Added components for Regulatory Information page.
Browse files Browse the repository at this point in the history
  • Loading branch information
razvanMiu committed Nov 16, 2020
1 parent 05e7775 commit 8d31dd2
Show file tree
Hide file tree
Showing 15 changed files with 592 additions and 174 deletions.
38 changes: 35 additions & 3 deletions src/components/manage/Blocks/DiscodataComponents/Custom/View.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,36 @@ const waterPollutants = [
},
];

const allAirPollutants = airPollutants.map((pol) => pol.key);
const allWaterPollutants = waterPollutants.map((pol) => pol.key);
const allPollutants = [...allAirPollutants, ...allWaterPollutants];

const pollutants = {
Air: airPollutants,
Water: waterPollutants,
'Air,Water': [...airPollutants, ...waterPollutants],
Air: [
{
key: allAirPollutants.join(','),
value: allAirPollutants.join(','),
text: 'All pollutants',
},
...airPollutants,
],
Water: [
{
key: allWaterPollutants.join(','),
value: allWaterPollutants.join(','),
text: 'All pollutants',
},
...waterPollutants,
],
'Air,Water': [
{
key: allPollutants.join(','),
value: allPollutants.join(','),
text: 'All pollutants',
},
...airPollutants,
...waterPollutants,
],
};
// ==============

Expand Down Expand Up @@ -204,6 +230,9 @@ const components = {
if (!search.analysisPollutantType && countryGroups?.[0]?.key) {
initialQueryParameters.analysisPollutantType = 'Air';
}
if (!search.analysisPollutant && countryGroups?.[0]?.key) {
initialQueryParameters.analysisPollutant = allAirPollutants.join(',');
}
if (Object.keys(initialQueryParameters).length > 0) {
setQueryParam({
queryParam: {
Expand Down Expand Up @@ -298,6 +327,9 @@ const components = {
if (!search.analysisPollutantType && countries?.[0]?.key) {
initialQueryParameters.analysisPollutantType = 'Air';
}
if (!search.analysisPollutant && countries?.[0]?.key) {
initialQueryParameters.analysisPollutant = allAirPollutants.join(',');
}
if (Object.keys(initialQueryParameters).length > 0) {
setQueryParam({
queryParam: {
Expand Down
38 changes: 20 additions & 18 deletions src/components/manage/Blocks/DiscodataOpenlayersMapBlock/View.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ import mapPlaceholder from '~/components/manage/Blocks/DiscodataOpenlayersMapBlo
// STYLES
import 'ol/ol.css';
import './style.css';
import { containsExtent } from 'ol/extent';
import { VOID } from 'ol/functions';

const splitBy = (arr, delimiter) => {
if (Array.isArray(arr)) {
Expand Down Expand Up @@ -69,6 +67,8 @@ let Map,
Control,
defaultsControls,
defaultsInteractions,
containsExtent,
VOID,
DragRotateAndZoom;
let OL_LOADED = false;

Expand Down Expand Up @@ -178,6 +178,8 @@ const OpenlayersMapView = (props) => {
Control = require('ol/control/Control.js').default;
defaultsControls = require('ol/control.js').defaults;
defaultsInteractions = require('ol/interaction.js').defaults;
containsExtent = require('ol/extent.js').containsExtent;
VOID = require('ol/functions').VOID;
DragRotateAndZoom = require('ol/interaction.js').DragRotateAndZoom;
OL_LOADED = true;
}
Expand Down Expand Up @@ -807,7 +809,7 @@ const OpenlayersMapView = (props) => {
sitesSource = new VectorSource({
loader: function (extent, resolution, projection) {
if (mounted.current && firstFilteringDone.current) {
var url = `https://services.arcgis.com/LcQjj2sL7Txk9Lag/arcgis/rest/services/SiteMap/FeatureServer/0/query/?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=${encodeURIComponent(
let url = `https://services.arcgis.com/LcQjj2sL7Txk9Lag/arcgis/rest/services/SiteMap/FeatureServer/0/query/?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=${encodeURIComponent(
'{"xmin":' +
extent[0] +
',"ymin":' +
Expand Down Expand Up @@ -846,7 +848,7 @@ const OpenlayersMapView = (props) => {
if (error) {
console.log(error.message);
} else {
var features = esrijsonFormat.readFeatures(response, {
let features = esrijsonFormat.readFeatures(response, {
featureProjection: projection,
});
if (features.length > 0) {
Expand All @@ -866,16 +868,16 @@ const OpenlayersMapView = (props) => {
maxZoom: zoomSwitch,
});

if(this.resolution && this.resolution != resolution){
if (this.resolution && this.resolution !== resolution) {
this.loadedExtentsRtree_.clear();
}

var z = tileGrid.getZForResolution(resolution);
var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);
let z = tileGrid.getZForResolution(resolution);
let tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);
/** @type {Array<import("./extent.js").Extent>} */
var extents = [];
let extents = [];
/** @type {import("./tilecoord.js").TileCoord} */
var tileCoord = [z, 0, 0];
let tileCoord = [z, 0, 0];
for (
tileCoord[1] = tileRange.minX;
tileCoord[1] <= tileRange.maxX;
Expand All @@ -894,12 +896,12 @@ const OpenlayersMapView = (props) => {
});

sitesSource.loadFeatures = function (extent, resolution, projection) {
var loadedExtentsRtree = this.loadedExtentsRtree_;
var extentsToLoad = this.strategy_(extent, resolution);
let loadedExtentsRtree = this.loadedExtentsRtree_;
let extentsToLoad = this.strategy_(extent, resolution);
this.loading = false;
var _loop_1 = function (i, ii) {
var extentToLoad = extentsToLoad[i];
var alreadyLoaded = loadedExtentsRtree.forEachInExtent(
let _loop_1 = function (i, ii) {
let extentToLoad = extentsToLoad[i];
let alreadyLoaded = loadedExtentsRtree.forEachInExtent(
extentToLoad,
/**
* @param {{extent: import("../extent.js").Extent}} object Object.
Expand All @@ -918,8 +920,8 @@ const OpenlayersMapView = (props) => {
this_1.loading = this_1.loader_ !== VOID;
}
};
var this_1 = this;
for (var i = 0, ii = extentsToLoad.length; i < ii; ++i) {
let this_1 = this;
for (let i = 0, ii = extentsToLoad.length; i < ii; ++i) {
_loop_1(i, ii);
}
this.resolution = resolution;
Expand All @@ -929,7 +931,7 @@ const OpenlayersMapView = (props) => {
if (hasRegionsFeatures) {
regionsSource = new VectorSource({
loader: function (extent, resolution, projection) {
var url = `https://services.arcgis.com/LcQjj2sL7Txk9Lag/ArcGIS/rest/services/ly_IED_SiteClusters_WM/FeatureServer/0/query/?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=${encodeURIComponent(
let url = `https://services.arcgis.com/LcQjj2sL7Txk9Lag/ArcGIS/rest/services/ly_IED_SiteClusters_WM/FeatureServer/0/query/?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=${encodeURIComponent(
'{"xmin":' +
extent[0] +
',"ymin":' +
Expand All @@ -954,7 +956,7 @@ const OpenlayersMapView = (props) => {
if (error) {
console.log(error.message);
} else {
var features = esrijsonFormat.readFeatures(response, {
let features = esrijsonFormat.readFeatures(response, {
featureProjection: projection,
});
if (features.length > 0) {
Expand Down
90 changes: 90 additions & 0 deletions src/components/manage/Blocks/SiteBlocks/PermitingAuthority.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
import React from 'react';
import Icon from '@plone/volto/components/theme/Icon/Icon';
import RenderTable from './RenderTable';
import cx from 'classnames';
import infoSVG from '@plone/volto/icons/info.svg';

const PermitingAuthority = (props) => {
const permitingAuthority = props.permitingAuthority;

return (
<div>
<div className={cx('header-tooltip', 'mb-1')}>
<h3 className="blue">Permiting Authority</h3>
<span className="floating-icon" data-tip={'This is a tooltip'}>
<Icon
className="firefox-icon"
name={infoSVG}
size="20"
color="#D63D27"
/>
</span>
</div>
{permitingAuthority.length === 0 ? (
<p className="info mb-1-super">
No information provided about permiting authority
</p>
) : (
''
)}
{permitingAuthority.length > 1 ? (
<div className="industrial-site">
<RenderTable
className="description-table"
celled={false}
headless={false}
headers={[
{ key: 'permitUpdated', value: 'Permit updated' },
{ key: 'permitingAuthority', value: 'Permiting authority' },
{ key: 'permitAvailable', value: 'Permit available' },
{ key: 'seveso', value: 'Seveso' },
{ key: 'entityStatus', value: 'Status' },
]}
rows={permitingAuthority}
/>
</div>
) : permitingAuthority.length === 1 ? (
<div className="industrial-site">
<div className="row mb-1">
<div className="detail xs-6 sm-6 md-6 lg-6">
<p className="bold mb-0">Permit updated</p>
<p className="info">
{permitingAuthority[0].permitUpdated || '-'}
</p>
</div>
<div className="detail xs-6 sm-6 md-6 lg-6">
<p className="bold mb-0">Permiting authority</p>
<p className="info">
{permitingAuthority[0].permitingAuthority || '-'}
</p>
</div>
</div>
<div className="row mb-1">
<div className="detail xs-6 sm-6 md-6 lg-6">
<p className="bold mb-0">Permit available</p>
<p className="info">
{permitingAuthority[0].permitAvailable || '-'}
</p>
</div>
<div className="detail xs-6 sm-6 md-6 lg-6">
<p className="bold mb-0">Seveso</p>
<p className="info">{permitingAuthority[0].seveso || '-'}</p>
</div>
</div>
<div className="row mb-1">
<div className="detail xs-12 sm-12 md-12 lg-12">
<p className="bold mb-0">Status</p>
<p className="info">
{permitingAuthority[0].entityStatus || '-'}
</p>
</div>
</div>
</div>
) : (
''
)}
</div>
);
};

export default PermitingAuthority;
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const View = (props) => {
? facility
.filter(
(report) =>
report.eprtrReportingYear === siteReportingYear &&
report.euregReportingYears === siteReportingYear &&
report.facilityOrganizationName,
)
.map((report) => ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const View = (props) => {
? data_1.euregReportingYears[siteReportingYear]
.filter(
(report) =>
report.eprtrReportingYear === siteReportingYear &&
report.euregReportingYears === siteReportingYear &&
report.organizationName,
)
.map((report) => ({
Expand Down
84 changes: 84 additions & 0 deletions src/components/manage/Blocks/SiteBlocks/QueryBuilder.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,90 @@ const QueryBuilder = (props) => {
},
}}
/>
{/**
SITE DETAILS 3
DB: Browse8Header
*/}
<DiscodataSqlBuilder
data={{
'@type': 'discodata_sql_builder',
sql: {
value:
'{"fieldsets":[{"id":"sql_metadata","title":"SQL","fields":["site_details_3"]}],"properties":{"site_details_3":{"title":"site_details_3","hasPagination":true,"urlQuery":false,"sql":"SELECT\\n siteInspireId,\\n facilityInspireId,\\n installationInspireId,\\n euregReportingYear,\\n regulatedActivities,\\n entityStatus,\\n seveso\\nFROM [IED].[latest].[Browse8Header]\\nWHERE :where\\nGROUP BY\\n siteInspireId,\\n facilityInspireId,\\n installationInspireId,\\n euregReportingYear,\\n regulatedActivities,\\n entityStatus,\\n seveso","packageName":"siteInspireId"}},"required":[]}',
},
where: {
value:
'{"fieldsets":[{"id":"where_statements_metadata","title":"Where statements","fields":["w1"]}],"properties":{"w1":{"title":"W1","sqlId":"site_details_3","urlQuery":false,"key":"siteInspireId","queryParam":"siteInspireId"}}}',
},
groupBy: {
value:
'{"fieldsets":[{"id":"group_by_statements_metadata","title":"Group by statements","fields":["g1"]}],"properties":{"g1":{"title":"G1","sqlId":"site_details_3","discodataKey":"euregReportingYear","key":"euregReportingYears"}}}',
},
}}
/>
{/**
Permits
DB: Browse9Header_Permit
*/}
<DiscodataSqlBuilder
data={{
'@type': 'discodata_sql_builder',
sql: {
value:
'{"fieldsets":[{"id":"sql_metadata","title":"SQL","fields":["permits"]}],"properties":{"permits":{"title":"permits","hasPagination":true,"urlQuery":false,"sql":"SELECT *\\nFROM [IED].[latest].[Browse9Header_Permit]","packageName":"siteInspireId"}},"required":[]}',
},
where: {
value:
'{"fieldsets":[{"id":"where_statements_metadata","title":"Where statements","fields":["w1"]}],"properties":{"w1":{"title":"W1","sqlId":"permits","urlQuery":false,"key":"siteInspireId","queryParam":"siteInspireId"}}}',
},
groupBy: {
value:
'{"fieldsets":[{"id":"group_by_statements_metadata","title":"Group by statements","fields":["g1"]}],"properties":{"g1":{"title":"G1","sqlId":"permits","discodataKey":"EUregReportingYear","key":"euregReportingYears"}}}',
},
}}
/>
{/**
BAT Conclusions
DB: Browse9Header_BATConclusion
*/}
<DiscodataSqlBuilder
data={{
'@type': 'discodata_sql_builder',
sql: {
value:
'{"fieldsets":[{"id":"sql_metadata","title":"SQL","fields":["bat_conclusions"]}],"properties":{"bat_conclusions":{"title":"bat_conclusions","hasPagination":true,"urlQuery":false,"sql":"SELECT *\\nFROM [IED].[latest].[Browse9Header_BATConclusion]","packageName":"siteInspireId"}},"required":[]}',
},
where: {
value:
'{"fieldsets":[{"id":"where_statements_metadata","title":"Where statements","fields":["w1"]}],"properties":{"w1":{"title":"W1","sqlId":"bat_conclusions","urlQuery":false,"key":"siteInspireId","queryParam":"siteInspireId"}}}',
},
groupBy: {
value:
'{"fieldsets":[{"id":"group_by_statements_metadata","title":"Group by statements","fields":["g1"]}],"properties":{"g1":{"title":"G1","sqlId":"bat_conclusions","discodataKey":"EUregReportingYear","key":"euregReportingYears"}}}',
},
}}
/>
{/**
BAT Derogations
DB: Browse9Header_BATDerogation
*/}
<DiscodataSqlBuilder
data={{
'@type': 'discodata_sql_builder',
sql: {
value:
'{"fieldsets":[{"id":"sql_metadata","title":"SQL","fields":["bat_derogations"]}],"properties":{"bat_derogations":{"title":"bat_derogations","hasPagination":true,"urlQuery":false,"sql":"SELECT *\\nFROM [IED].[latest].[Browse9Header_BATDerogation]","packageName":"siteInspireId"}},"required":[]}',
},
where: {
value:
'{"fieldsets":[{"id":"where_statements_metadata","title":"Where statements","fields":["w1"]}],"properties":{"w1":{"title":"W1","sqlId":"bat_derogations","urlQuery":false,"key":"siteInspireId","queryParam":"siteInspireId"}}}',
},
groupBy: {
value:
'{"fieldsets":[{"id":"group_by_statements_metadata","title":"Group by statements","fields":["g1"]}],"properties":{"g1":{"title":"G1","sqlId":"bat_derogations","discodataKey":"EUregReportingYear","key":"euregReportingYears"}}}',
},
}}
/>
{/**
LCP DETAILS
DB: Browse10_Header
Expand Down
Loading

0 comments on commit 8d31dd2

Please sign in to comment.