Skip to content

Commit

Permalink
Merge branch 'master' into dependabot/npm_and_yarn/reactstrap-8.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Rotendahl committed Feb 4, 2020
2 parents 2c29b78 + 4a3ced9 commit 198ee86
Show file tree
Hide file tree
Showing 16 changed files with 92 additions and 228 deletions.
4 changes: 2 additions & 2 deletions src/__tests__/RiskDescriberTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const testData = [
{
threatLevel: "low",
risks: {
fastningDegree: { risk: "medium" },
fastning: { risk: "medium" },
basement: { risk: "high" },
hollowing: { risk: "low" }
},
Expand All @@ -38,7 +38,7 @@ const testData = [
{
threatLevel: "high",
risks: {
fastningDegree: { risk: "medium" },
fastning: { risk: "medium" },
basement: { risk: "high" },
hollowing: { risk: "low", image: "base64" }
},
Expand Down
30 changes: 13 additions & 17 deletions src/components/address-select.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,17 @@ import React, { useState, useEffect } from "react";
import { Row, Col, Input, Form, Button } from "reactstrap";
import { BeatLoader as Loader } from "react-spinners";
import * as dawaModule from "dawa-autocomplete2";
import axios from "axios";
import Modal from "react-responsive-modal";
import getFloodData from "../data-handlers/get-flood-data.js";
import load_dynamic_data from "../data-handlers/dynamic-placement.js";

export default function AdressSelect(props) {
const [isLoading, setIsLoading] = useState(false);
const [dataFailed, setDataFailed] = useState(false);
const [inputAddress, setInputAddress] = useState("");
const [dawa, setDawa] = useState(dawaModule);
let handle_dawa_resp = dawa_resp => {
let handle_dawa_resp = bbr_id => {
setIsLoading(true);
getFloodData(dawa_resp, resp => {
getFloodData(bbr_id, resp => {
if (resp.failed) {
setDataFailed(true);
setIsLoading(false);
Expand All @@ -30,23 +29,20 @@ export default function AdressSelect(props) {
dawa.dawaAutocomplete(
document.getElementById("dawa-autocomplete-input"),
{
select: dawa_res => handle_dawa_resp(dawa_res)
select: dawa_resp => handle_dawa_resp(dawa_resp.data.id)
}
);
}
});
// Check if id is set in query param
const params = window.location.search.split("&");
for (var param of params) {
if (param.includes("unadr_bbrid=")) {
const unit_bbr = param.split("=")[1];
axios.get("https://dawa.aws.dk/adresser/" + unit_bbr).then(resp => {
handle_dawa_resp(resp);
});
// Check if id is set in query param
const params = window.location.search.split("&");
for (var param of params) {
if (param.includes("unadr_bbrid=")) {
const unit_bbr = param.split("=")[1];
handle_dawa_resp(unit_bbr);
}
}
}
});

load_dynamic_data(handle_dawa_resp);
return isLoading ? (
<div className="water-comes-app-address">
<h2>Tjek risikoen for, at din bolig bliver oversvømmet</h2>
Expand All @@ -71,7 +67,7 @@ export default function AdressSelect(props) {
</p>
</Col>
</Modal>
<div className="loader">
<div className="loader" style={{ textAlign: "center" }}>
<Loader
sizeUnit={"px"}
size={25}
Expand Down
24 changes: 14 additions & 10 deletions src/components/resume.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ import trackEvent from "../data-handlers/action-logger.js";
export default function Resume(props) {
let factors =
props.floodType === "skybrud" ? rainFactors(props) : floodFactors(props);

console.log(props);
const logClick = title => {
trackEvent({
description: `Faneblad: ${props.floodType}`,
eventLabel: `Resume: ${title}`,
cloudbirstDimension: props.dangers.rain_threat,
floodDimension: props.dangers.flood.risk
cloudbirstDimension: props.dangers.rain_risk.risk,
floodDimension: props.dangers.storm_flood.risk
});
};
factors = factors.map((factor, i) => (
Expand Down Expand Up @@ -91,24 +91,28 @@ function rainFactors(props) {
: undefined
});

if (props.dangers.basement.risk === "high") {
if (props.dangers.rain_risk.factors.basement.risk === "high") {
factors.push(RisksDB.results.basement);
}

if (props.dangers.hollowing.risk === "high") {
if (props.dangers.rain_risk.factors.hollowing.risk === "high") {
factors.push(RisksDB.results.hollwing);
}

if (props.dangers.conductivity.risk !== "low") {
if (props.dangers.rain_risk.factors.conductivity.risk !== "low") {
factors.push({
text: RisksDB.results.conductivity[props.dangers.conductivity.risk],
text:
RisksDB.results.conductivity[
props.dangers.rain_risk.factors.conductivity.risk
],
link: RisksDB.results.conductivity.link
});
}
if (props.dangers.fastningDegree.risk !== "low") {
if (props.dangers.rain_risk.factors.fastning.risk !== "low") {
factors.push({
text: RisksDB.results.fastningDegree[props.dangers.fastningDegree.risk],
link: RisksDB.results.fastningDegree.link
text:
RisksDB.results.fastning[props.dangers.rain_risk.factors.fastning.risk],
link: RisksDB.results.fastning.link
});
}
return factors;
Expand Down
3 changes: 0 additions & 3 deletions src/components/risk-describer.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ export default function RiskDescriber(props) {
</p>
</div>
);

return (
<div className="water-comes-app-hightlighted">
{riskImage}
Expand Down Expand Up @@ -64,14 +63,12 @@ function getRiskText(threatLevel) {

function constructRisks(risks, logClick, props) {
const risk_types = Object.keys(risks);

const ordered_risks = ["high", "medium", "low"]
.map(level =>
risk_types.filter(risk_type => risks[risk_type].risk === level)
)
.reduce((acc, val) => acc.concat(val), [])
.map(key => ({ name: key, data: risks[key] }));

return ordered_risks.map((threat, i) => (
<Risk
key={i}
Expand Down
15 changes: 0 additions & 15 deletions src/data-handlers/dynamic-placement.js

This file was deleted.

41 changes: 12 additions & 29 deletions src/data-handlers/get-flood-data.js
Original file line number Diff line number Diff line change
@@ -1,46 +1,29 @@
// A function that given a dawa response gets data from the backend
import * as Sentry from "@sentry/browser";
import constructQuery from "./graphQL-query.js";
import trackEvent from "./action-logger.js";
import computeRainRisk from "./rain-risk.js";

import axios from "axios";
export default function getFloodData(dawa_res, callback) {
export default function getFloodData(bbr_id, callback) {
let houseData = { failed: true };
console.log(bbr_id);
axios
.get(dawa_res.data.href)
.then(resp =>
axios({
url: process.env.REACT_APP_GRAPHQL_URL,
method: "post",
headers: { "content-type": "application/json" },
data: constructQuery(resp.data.kvhx)
})
.get(
"https://exl9ly9iwa.execute-api.eu-central-1.amazonaws.com/Prod/flood-risk?unadr_bbrid=" +
bbr_id
)
.then(resp => {
const respData = resp.data.data.house;
houseData = {
failed: false,
isApartment: respData.bbrInfo.propType === "Etageboliger",
text: respData.bbrInfo.address,
dangers: {
basement: { risk: respData.bbrInfo.hasBasement ? "high" : "low" },
flood: respData.waterRisk.flood,
hollowing: respData.waterRisk.hollowing,
fastningDegree: respData.waterRisk.fastningDegree,
conductivity: respData.waterRisk.conductivity
}
};
houseData.dangers.rain_threat = computeRainRisk(houseData.dangers);
const data = resp.data;
console.log(data);
houseData = data;
houseData.text = data.navn;
trackEvent({
description: "Adresse indtastet",
// Gets 2300 københavn part of adrress
eventLabel: houseData.text
eventLabel: houseData.navn
.split(", ")
.slice(-1)
.pop(),
cloudbirstDimension: houseData.dangers.rain_threat,
floodDimension: houseData.dangers.flood.risk
cloudbirstDimension: houseData.rain_risk.risk,
floodDimension: houseData.storm_flood.risk
});
})
.catch(err => console.log(Sentry.captureException(err)))
Expand Down
35 changes: 0 additions & 35 deletions src/data-handlers/graphQL-query.js

This file was deleted.

57 changes: 0 additions & 57 deletions src/data-handlers/rain-risk.js

This file was deleted.

31 changes: 31 additions & 0 deletions src/example-house.json

Large diffs are not rendered by default.

28 changes: 0 additions & 28 deletions src/example_house_data.js

This file was deleted.

4 changes: 0 additions & 4 deletions src/fastning_img.js

This file was deleted.

3 changes: 0 additions & 3 deletions src/hollowing_img.js

This file was deleted.

12 changes: 4 additions & 8 deletions src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ import React from "react";
import AdressSelect from "./components/address-select.js";
import DataModal from "./components/data-modal.js";
import ResultPage from "./views/result-page.js";
import exampleHouseData from "./example_house_data.js";
import computeRainRisk from "./data-handlers/rain-risk.js";
import exampleHouseData from "./example-house.json";
import trackEvent from "./data-handlers/action-logger.js";

export default class Main extends React.Component {
Expand All @@ -19,19 +18,16 @@ export default class Main extends React.Component {
hasData: false
};
if (process.env.REACT_APP_SKIP_INPUT === "true") {
let data = exampleHouseData;
data.dangers.rain_threat = computeRainRisk(exampleHouseData.dangers);
this.state = {
showModal: false,
houseData: data,
houseData: exampleHouseData,
hasData: true
};
}
}

toggleDataModal() {
if (!this.state.showModal) {
console.log(this);
if (!this.state.hasData) {
trackEvent({
description: `Datagrundlag`,
Expand All @@ -43,8 +39,8 @@ export default class Main extends React.Component {
trackEvent({
description: `Datagrundlag`,
eventLabel: `Side: resultatside`,
cloudbirstDimension: this.state.houseData.dangers.rain_threat,
floodDimension: this.state.houseData.dangers.flood.risk
cloudbirstDimension: this.state.houseData.rain_risk.risk,
floodDimension: this.state.houseData.storm_flood.risk
});
}
}
Expand Down
Loading

0 comments on commit 198ee86

Please sign in to comment.