This commit is contained in:
2025-03-28 10:48:52 +00:00
7 changed files with 172 additions and 26 deletions
+63 -15
View File
@@ -1,3 +1,4 @@
import { he } from "date-fns/locale";
import GoogleMapReact from "google-map-react";
const GoogleMapComponent = (props) => {
const { center, zoom } = props;
@@ -21,22 +22,69 @@ const GoogleMapComponent = (props) => {
});
}
};
// console.log(
// "https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
// props.center.lng +
// "," +
// props.center.lat +
// "&zoom=12#/"
// );
return (
<GoogleMapReact
options={function (maps) {
return {
overviewMapControl: true,
mapTypeControl: true,
};
}}
bootstrapURLKeys={{
key: "AIzaSyCzeVrHt544bp_72YCFkw21eDsmI2JEsQo",
}}
defaultCenter={center}
defaultZoom={zoom}
yesIWantToUseGoogleMapApiInternals
onGoogleApiLoaded={({ map, maps }) => ModelsMap(map, maps)}
></GoogleMapReact>
// <GoogleMapReact
// options={function (maps) {
// return {
// overviewMapControl: true,
// mapTypeControl: true,
// };
// }}
// bootstrapURLKeys={{
// key: "AIzaSyCzeVrHt544bp_72YCFkw21eDsmI2JEsQo",
// }}
// defaultCenter={center}
// defaultZoom={zoom}
// yesIWantToUseGoogleMapApiInternals
// onGoogleApiLoaded={({ map, maps }) => ModelsMap(map, maps)}
// ></GoogleMapReact>
<>
{" "}
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<a
href={
"https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
props.center.lng +
"," +
props.center.lat +
"&zoom=7#/"
}
rel="noreferrer noopener"
className="govuk-link govuk-link--no-underline govuk-!-font-size-14 "
target="_blank"
>
See this map on Datamap Wales
</a>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<iframe
src={
"https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
props.center.lng +
"," +
props.center.lat +
"&zoom=7#/"
}
//src={"https://datamap.gov.wales/maps/pedw-dev/embed#/"}
width={"100%"}
maxheight={"400px"}
height={"500px"}
className={"mappingFrame"}
></iframe>
</div>
</div>
</>
);
};
+12 -4
View File
@@ -580,10 +580,10 @@ let AdvancedSearch = (props) => {
label={t("search:appealtype-label")}
errormsg="Appeal type is required"
/>
{props.props?.props.form[
props.form
]?.values?.appealTypes.split(",")[0] ===
"846040002" && (
{props.appealTypesValue?.split(
","
)[0] === "846040002" && (
<Field
name="projecttype"
id="projecttype"
@@ -778,6 +778,14 @@ const mapDispatchToProps = (dispatch) => {
const selector = formValueSelector("advancedSearchForm"); // <-- same as form name
AdvancedSearch = connect((state) => {
const appealTypesValue = selector(state, "appealTypes");
return {
appealTypesValue,
};
})(AdvancedSearch);
export default connect(
mapStateToProps,
mapDispatchToProps
+17 -6
View File
@@ -753,12 +753,12 @@ const DNSSearchResults = (props) => {
{showMap == "true" && (
<div className="govuk-grid-column-one-half">
<div
style={{
height: "45vh",
width: "100%",
}}
// style={{
// height: "45vh",
// width: "100%",
// }}
>
<GoogleMapReact
{/* <GoogleMapReact
options={function (maps) {
return {
overviewMapControl: true,
@@ -777,7 +777,18 @@ const DNSSearchResults = (props) => {
onGoogleApiLoaded={({ map, maps }) =>
ModelsMap(map, maps)
}
/>
/> */}
<iframe
src={
"https://datamap.gov.wales/maps/pedw-dev/embed?center=-3.6553189192727347,52.214962933659415&zoom=2#/"
}
//src={"https://datamap.gov.wales/maps/pedw-dev/embed#/"}
width={"100%"}
maxheight={"400px"}
height={"500px"}
className={"mappingFrame"}
></iframe>
</div>
</div>
)}
+1
View File
@@ -47,6 +47,7 @@ class MyDocument extends Document {
csp += `style-src 'self' 'unsafe-inline' https://pro.fontawesome.com/ https://www.google-analytics.com https://tagmanager.google.com/ https://www.googletagmanager.com/ https://fonts.googleapis.com/;`;
csp += `img-src 'self' 'unsafe-inline' https://maps.gstatic.com https://maps.googleapis.com https://www.gov.wales https://gov.wales https://fonts.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://ssl.gstatic.com/ blob: data:;`;
csp += `font-src 'self' 'unsafe-inline' https://pro.fontawesome.com/ https://fonts.gstatic.com/ data:;`;
csp += `frame-src https://datamap.gov.wales`;
return (
<Html lang={locale}>
+73 -1
View File
@@ -21,6 +21,70 @@ const hashAPIPath = (queryPath) => {
return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink;
};
const renameKeys = (obj) => {
const keyMappings = {
"pinswg_projectlocation": "location",
"pinswg_mapzoomlevel": "zoomLevel",
"pinswg_name": "projectName",
"pinswg_anticipatedgridreferenceeastingtext": "easting",
"pinswg_anticipatedgridreferencenorthingtext": "northing",
"pinswg_anticipatedgridrefeasting": "easting",
"pinswg_anticipatedgridrefnorthing": "northing",
"pinswg_projectname": "projectTitle",
"pinswg_dnsid": "dnsId",
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue":
"lpaDisplayName",
"_pinswg_associatedlpa_value": "lpaId",
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue":
"appellantDisplayName",
"_pinswg_appellant_value": "appellantId",
"zoom": "mapZoom",
"center": "locationCenter",
};
let renamedObj = {};
Object.keys(obj).forEach((key) => {
// Skip keys that need to be removed
if (keysToRemove.includes(key)) {
return;
}
// Check if the key exists in the mapping
if (keyMappings[key]) {
renamedObj[keyMappings[key]] = obj[key];
} else {
renamedObj[key] = obj[key];
}
});
// Recursively rename keys in nested objects
if (obj.center) {
renamedObj.locationCenter = {
lat: obj.center.lat,
lng: obj.center.lng,
};
}
if (renamedObj.easting) {
renamedObj.easting = String(renamedObj.easting);
}
if (renamedObj.northing) {
renamedObj.northing = String(renamedObj.northing);
}
return renamedObj;
};
const keysToRemove = [
"_pinswg_associatedlpa_value@Microsoft.Dynamics.CRM.associatednavigationproperty",
"_pinswg_appellant_value@Microsoft.Dynamics.CRM.associatednavigationproperty",
"_pinswg_associatedlpa_value@Microsoft.Dynamics.CRM.lookuplogicalname",
"_pinswg_appellant_value@Microsoft.Dynamics.CRM.lookuplogicalname",
"pinswg_anticipatedgridrefeasting@OData.Community.Display.V1.FormattedValue",
"pinswg_anticipatedgridrefnorthing@OData.Community.Display.V1.FormattedValue",
// Add any other keys to remove here
];
export default async function ApiProxy(req, res) {
var token = await getToken();
@@ -90,7 +154,15 @@ export default async function ApiProxy(req, res) {
});
// Send the merged values as the response
return res.status(200).json(coordsObj);
const updatedData = {
value: coordsObj.value.map((item) => renameKeys(item)),
"@odata.count": coordsObj["@odata.count"],
};
return req.query.hasOwnProperty("fordmw")
? res.status(200).json(updatedData)
: res.status(200).json(coordsObj);
} catch (error) {
// Catch any errors and send an error response
consoleLogger(error);
+1
View File
@@ -9,6 +9,7 @@ import middleware from "../middleware/middleware";
import { consoleLogger } from "../../../actions";
import { fileTypeFromBuffer } from "file-type";
import fs from "fs";
import path from "path";
const ApiProxy = nextConnect();
ApiProxy.use(middleware);
+5
View File
@@ -1936,6 +1936,11 @@ ul#sharePageLinks.active {
position: absolute;
}
.mappingFrame {
border: 1px solid $lightgrey
}
//dns application view
.govuk-warning-text__icon {