-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ return (
+
+
+ {utilities}
- );
- }
-}
+
+ );
+};
+
+Utilities.propTypes = {
+ data: PropTypes.arrayOf,
+};
export default Utilities;
diff --git a/src/components/Performance/UtilityChart.js b/src/components/Performance/UtilityChart.js
index 9d0b61f0b02bb73d5f24e3a55c99bb9514a27ff5..a19211be24a6b143eb98624e417bd28087da5b6a 100644
--- a/src/components/Performance/UtilityChart.js
+++ b/src/components/Performance/UtilityChart.js
@@ -65,7 +65,8 @@ const UtilityChart = (props) => {
- {props.type} Consumption of Baseline and Reporting Period
+ {props.type.charAt(0).toUpperCase() + props.type.slice(1)}
+ Consumption of Baseline and Reporting Period
|
diff --git a/src/components/Performance/styles.css b/src/components/Performance/styles.css
index 3aa5cc2ed28d034a7f49f228f6a1fe7526f6e164..7bf1df3d4f443185223c94080783267cb562140e 100644
--- a/src/components/Performance/styles.css
+++ b/src/components/Performance/styles.css
@@ -12,7 +12,8 @@
padding-right: 28px !important;
}
-.svg-icon {
+.svg-icon,
+.svg-icon-grey {
width: 0.2em;
height: 0.2em;
stroke-width: 13,
@@ -24,6 +25,10 @@
fill: #00C49F;
}
+.svg-icon-grey path {
+ fill: #999999;
+}
+
.svg-icon circle {
stroke: #00C49F;
stroke-width: 3;
diff --git a/src/containers/Performance/index.js b/src/containers/Performance/index.js
index 5c1273c7fc736c7a57a8e29a72f7831e60132a6b..9c67642fa85c912c0d9eb36a365aea803d157ff6 100644
--- a/src/containers/Performance/index.js
+++ b/src/containers/Performance/index.js
@@ -84,7 +84,6 @@ class Performance extends Component {
) {
const userId = user.user_id.split('|')[1];
-
let occupantsData = {};
if (occupants.data.occupants === null) {
occupantsData = {
@@ -109,31 +108,166 @@ class Performance extends Component {
}
const retrofitsData = retrofits.data.retrofits === null ? [] : retrofits.data.retrofits;
- const impacts = {
- gas:
- {
- cost: 100,
- savings: 200,
- },
- electricity:
- {
- cost: 100,
- savings: 200,
- },
- water:
- {
- cost: 100,
- savings: 200,
- },
- };
+ let svgCode = {};
+ let savings = {};
+ let cost = {};
+ let utilities = {};
+ if (Object.keys(retrofitsData).length !== 0) {
+ svgCode = {
+ oil: 'M10.862,6.47H3.968v6.032h6.894V6.47z M10,11.641H4.83V7.332H10V11.641z M12.585,11.641h-0.861v0.861h0.861V11.641z M7.415,14.226h0.862v-0.862H7.415V14.226z M8.707,17.673h2.586c0.237,0,0.431-0.193,0.431-0.432c0-0.237-0.193-0.431-0.431-0.431H8.707c-0.237,0-0.431,0.193-0.431,0.431C8.276,17.479,8.47,17.673,8.707,17.673 M5.691,14.226h0.861v-0.862H5.691V14.226z M4.83,13.363H3.968v0.862H4.83V13.363z M16.895,4.746h-3.017V3.023h1.292c0.476,0,0.862-0.386,0.862-0.862V1.299c0-0.476-0.387-0.862-0.862-0.862H10c-0.476,0-0.862,0.386-0.862,0.862v0.862c0,0.476,0.386,0.862,0.862,0.862h1.293v1.723H3.106c-0.476,0-0.862,0.386-0.862,0.862v12.926c0,0.476,0.386,0.862,0.862,0.862h13.789c0.475,0,0.861-0.387,0.861-0.862V5.608C17.756,5.132,17.369,4.746,16.895,4.746 M10.862,2.161H10V1.299h0.862V2.161zM11.724,1.299h3.446v0.862h-3.446V1.299z M13.016,4.746h-0.861V3.023h0.861V4.746z M16.895,18.534H3.106v-2.585h13.789V18.534zM16.895,15.088H3.106v-9.48h13.789V15.088z M15.17,12.502h0.862v-0.861H15.17V12.502z M13.447,12.502h0.861v-0.861h-0.861V12.502zM15.17,10.778h0.862V9.917H15.17V10.778z M15.17,9.055h0.862V8.193H15.17V9.055z M16.032,6.47h-4.309v0.862h4.309V6.47zM14.309,8.193h-0.861v0.862h0.861V8.193z M12.585,8.193h-0.861v0.862h0.861V8.193z M13.447,14.226h2.585v-0.862h-2.585V14.226zM13.447,10.778h0.861V9.917h-0.861V10.778z M12.585,9.917h-0.861v0.861h0.861V9.917z',
+ electricity: 'M12.173,16.086c0.72,0,1.304-0.584,1.304-1.305V6.089c0-0.72-0.584-1.304-1.304-1.304c-0.721,0-1.305,0.584-1.305,1.304v8.692C10.868,15.502,11.452,16.086,12.173,16.086z M11.738,6.089c0-0.24,0.194-0.435,0.435-0.435s0.435,0.194,0.435,0.435v8.692c0,0.24-0.194,0.436-0.435,0.436s-0.435-0.195-0.435-0.436V6.089zM16.52,16.086c0.72,0,1.304-0.584,1.304-1.305v-11.3c0-0.72-0.584-1.304-1.304-1.304c-0.721,0-1.305,0.584-1.305,1.304v11.3C15.215,15.502,15.799,16.086,16.52,16.086z M16.085,3.481c0-0.24,0.194-0.435,0.435-0.435s0.435,0.195,0.435,0.435v11.3c0,0.24-0.194,0.436-0.435,0.436s-0.435-0.195-0.435-0.436V3.481z M3.48,16.086c0.72,0,1.304-0.584,1.304-1.305v-3.477c0-0.72-0.584-1.304-1.304-1.304c-0.72,0-1.304,0.584-1.304,1.304v3.477C2.176,15.502,2.76,16.086,3.48,16.086z M3.045,11.305c0-0.24,0.194-0.435,0.435-0.435c0.24,0,0.435,0.194,0.435,0.435v3.477c0,0.24-0.195,0.436-0.435,0.436c-0.24,0-0.435-0.195-0.435-0.436V11.305z M18.258,16.955H1.741c-0.24,0-0.435,0.194-0.435,0.435s0.194,0.435,0.435,0.435h16.517c0.24,0,0.435-0.194,0.435-0.435S18.498,16.955,18.258,16.955z M7.826,16.086c0.72,0,1.304-0.584,1.304-1.305V8.696c0-0.72-0.584-1.304-1.304-1.304S6.522,7.977,6.522,8.696v6.085C6.522,15.502,7.106,16.086,7.826,16.086z M7.392,8.696c0-0.239,0.194-0.435,0.435-0.435s0.435,0.195,0.435,0.435v6.085c0,0.24-0.194,0.436-0.435,0.436s-0.435-0.195-0.435-0.436V8.696z',
+ gas: 'M4.68,13.716v-0.169H4.554C4.592,13.605,4.639,13.658,4.68,13.716z M11.931,6.465 c-0.307-0.087-0.623,0.106-0.706,0.432l-1.389,5.484c-0.901,0.084-1.609,0.833-1.609,1.757c0,0.979,0.793,1.773,1.773,1.773 c0.979,0,1.773-0.794,1.773-1.773c0-0.624-0.324-1.171-0.812-1.486l1.377-5.439C12.422,6.887,12.239,6.552,11.931,6.465z M10.591,14.729H9.408v-1.182h1.183V14.729z M15.32,13.716c0.04-0.058,0.087-0.11,0.126-0.169H15.32V13.716z M10,3.497 c-3.592,0-6.503,2.911-6.503,6.503H4.68c0-2.938,2.382-5.32,5.32-5.32s5.32,2.382,5.32,5.32h1.182 C16.502,6.408,13.591,3.497,10,3.497z M10,0.542c-5.224,0-9.458,4.234-9.458,9.458c0,5.224,4.234,9.458,9.458,9.458 c5.224,0,9.458-4.234,9.458-9.458C19.458,4.776,15.224,0.542,10,0.542z M15.32,16.335v0.167h-0.212 c-1.407,1.107-3.179,1.773-5.108,1.773c-1.93,0-3.701-0.666-5.108-1.773H4.68v-0.167C2.874,14.816,1.724,12.543,1.724,10 c0-4.571,3.706-8.276,8.276-8.276c4.57,0,8.275,3.706,8.275,8.276C18.275,12.543,17.126,14.816,15.32,16.335z',
+ water: 'M10,16.513c-2.249,0-4.071-1.822-4.071-4.07c0-0.226-0.182-0.407-0.407-0.407c-0.225,0-0.407,0.182-0.407,0.407c0,2.697,2.187,4.885,4.885,4.885c0.225,0,0.407-0.183,0.407-0.407S10.225,16.513,10,16.513M10,1.044c-0.814,0-6.513,6.92-6.513,11.398c0,3.597,2.916,6.513,6.513,6.513c3.597,0,6.513-2.916,6.513-6.513C16.513,7.964,10.813,1.044,10,1.044 M10,18.141c-3.148,0-5.699-2.65-5.699-5.92C4.301,8.372,9.593,2.011,10,2.011c0.407,0,5.698,6.36,5.698,10.209C15.698,15.49,13.147,18.141,10,18.141',
+ };
+ const availabilities = {
+ oil: false,
+ electricity: false,
+ gas: false,
+ water: false,
+ };
+ retrofitsData.forEach(retrofit => {
+ const primaryUtility = retrofit.primary_utility.toLowerCase();
+ const secondUtility = retrofit.second_utility.toLowerCase();
+ if (primaryUtility === 'natural gas' || secondUtility === 'natural gas') {
+ availabilities.gas = true;
+ }
+ availabilities[primaryUtility] = true;
+ availabilities[secondUtility] = true;
+ });
+ savings = {
+ oil: availabilities.oil === false ? 0.00 : 1500.00,
+ electricity: availabilities.electricity === false ? 0.00 : 1300.00,
+ gas: availabilities.gas === false ? 0.00 : 1800.00,
+ water: availabilities.water === false ? 0.00 : 2300.00,
+ };
+ cost = {
+ oil: 5000.00,
+ electricity: 5000.00,
+ gas: 5000.00,
+ water: 5000.00,
+ };
+ utilities = {};
+ if (availabilities.gas === true) {
+ utilities.gas = {
+ unit: 'kcal',
+ InstallStartDate: '2018/08/01',
+ InstallEndDate: '2018/09/01',
+ data: [
+ { date: '2017/07/01', MeteredUsage: 1400 },
+ { date: '2017/08/01', MeteredUsage: 1098 },
+ { date: '2017/09/01', MeteredUsage: 1480 },
+ { date: '2017/10/01', MeteredUsage: 1520 },
+ { date: '2017/11/01', MeteredUsage: 1100 },
+ { date: '2017/12/01', MeteredUsage: 868 },
+ { date: '2018/01/01', MeteredUsage: 1098 },
+ { date: '2018/02/01', MeteredUsage: 1200 },
+ { date: '2018/03/01', MeteredUsage: 1400 },
+ { date: '2018/04/01', MeteredUsage: 1098 },
+ { date: '2018/05/01', MeteredUsage: 1480 },
+ { date: '2018/06/01', MeteredUsage: 1520 },
+ { date: '2018/07/01', MeteredUsage: 1100 },
+ { date: '2018/08/01', MeteredUsage: 755 },
+ { date: '2018/09/01', BaselineConsumption: 1397, MeteredUsage: 1000 },
+ { date: '2018/10/01', BaselineConsumption: 1200, MeteredUsage: 900 },
+ { date: '2018/11/01', BaselineConsumption: 1520, MeteredUsage: 1100 },
+ ],
+ };
+ }
+ if (availabilities.electricity === true) {
+ utilities.electricity = {
+ unit: 'kWh',
+ InstallStartDate: '2018/08/01',
+ InstallEndDate: '2018/09/01',
+ data: [
+ { date: '2017/07/01', MeteredUsage: 1400 },
+ { date: '2017/08/01', MeteredUsage: 1098 },
+ { date: '2017/09/01', MeteredUsage: 1480 },
+ { date: '2017/10/01', MeteredUsage: 1520 },
+ { date: '2017/11/01', MeteredUsage: 1100 },
+ { date: '2017/12/01', MeteredUsage: 868 },
+ { date: '2018/01/01', MeteredUsage: 1098 },
+ { date: '2018/02/01', MeteredUsage: 1200 },
+ { date: '2018/03/01', MeteredUsage: 1400 },
+ { date: '2018/04/01', MeteredUsage: 1098 },
+ { date: '2018/05/01', MeteredUsage: 1480 },
+ { date: '2018/06/01', MeteredUsage: 1520 },
+ { date: '2018/07/01', MeteredUsage: 1100 },
+ { date: '2018/08/01', MeteredUsage: 755 },
+ { date: '2018/09/01', BaselineConsumption: 1397, MeteredUsage: 1000 },
+ { date: '2018/10/01', BaselineConsumption: 1200, MeteredUsage: 900 },
+ { date: '2018/11/01', BaselineConsumption: 1520, MeteredUsage: 1100 },
+ { date: '2018/12/01', BaselineConsumption: 1400, MeteredUsage: 680 },
+ { date: '2019/01/01', BaselineConsumption: 1200, MeteredUsage: 800 },
+ { date: '2019/02/01', BaselineConsumption: 1090, MeteredUsage: 800 },
+ { date: '2019/03/01', BaselineConsumption: 1190, MeteredUsage: 967 },
+ { date: '2019/04/01', BaselineConsumption: 1397, MeteredUsage: 1098 },
+ { date: '2019/05/01', BaselineConsumption: 1480, MeteredUsage: 1200 },
+ { date: '2019/06/01', BaselineConsumption: 1520, MeteredUsage: 1108 },
+ { date: '2019/07/01', BaselineConsumption: 1400, MeteredUsage: 680 },
+ { date: '2019/08/01', BaselineConsumption: 1890, MeteredUsage: 370 },
+ ],
+ };
+ }
+ if (availabilities.water === true) {
+ utilities.water = {
+ unit: 'gallon',
+ InstallStartDate: '2018/08/01',
+ InstallEndDate: '1900/00/00',
+ data: [
+ { date: '2017/07/01', MeteredUsage: 1400 },
+ { date: '2017/08/01', MeteredUsage: 1098 },
+ { date: '2017/09/01', MeteredUsage: 1480 },
+ { date: '2017/10/01', MeteredUsage: 1520 },
+ { date: '2017/11/01', MeteredUsage: 1100 },
+ { date: '2017/12/01', MeteredUsage: 868 },
+ { date: '2018/01/01', MeteredUsage: 1098 },
+ { date: '2018/02/01', MeteredUsage: 1200 },
+ { date: '2018/03/01', MeteredUsage: 1400 },
+ { date: '2018/04/01', MeteredUsage: 1098 },
+ { date: '2018/05/01', MeteredUsage: 1480 },
+ { date: '2018/06/01', MeteredUsage: 1520 },
+ { date: '2018/07/01', MeteredUsage: 1100 },
+ { date: '2018/08/01', MeteredUsage: 755 },
+ { date: '2018/09/01', BaselineConsumption: 1397, MeteredUsage: 1000 },
+ ],
+ };
+ }
+ if (availabilities.oil === true) {
+ utilities.oil = {
+ unit: 'tank',
+ InstallStartDate: '1900/00/00',
+ InstallEndDate: '1900/00/00',
+ data: [
+ { date: '2017/07/01', MeteredUsage: 1400 },
+ { date: '2017/08/01', MeteredUsage: 1098 },
+ { date: '2017/09/01', MeteredUsage: 1480 },
+ { date: '2017/10/01', MeteredUsage: 1520 },
+ { date: '2017/11/01', MeteredUsage: 1100 },
+ { date: '2017/12/01', MeteredUsage: 868 },
+ { date: '2018/01/01', MeteredUsage: 1098 },
+ { date: '2018/02/01', MeteredUsage: 1200 },
+ { date: '2018/03/01', MeteredUsage: 1400 },
+ { date: '2018/04/01', MeteredUsage: 1098 },
+ { date: '2018/05/01', MeteredUsage: 1480 },
+ { date: '2018/06/01', MeteredUsage: 1520 },
+ { date: '2018/07/01', MeteredUsage: 1100 },
+ { date: '2018/08/01', MeteredUsage: 755 },
+ ],
+ };
+ }
+ }
+
const retrofitCats = eng.retrofitProperties.properties.retrofit_cat;
const retrofitNames = eng.retrofitProperties.properties.retrofit_name;
+
mainContent = (
@@ -190,7 +324,7 @@ class Performance extends Component {