diff --git a/web/src/components/MyEMS/Space/SpaceCost.js b/web/src/components/MyEMS/Space/SpaceCost.js index 02c352ca..024de40a 100644 --- a/web/src/components/MyEMS/Space/SpaceCost.js +++ b/web/src/components/MyEMS/Space/SpaceCost.js @@ -83,7 +83,9 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => { const [spaceLineChartLabels, setSpaceLineChartLabels] = useState([]); const [spaceLineChartData, setSpaceLineChartData] = useState({}); const [spaceLineChartOptions, setSpaceLineChartOptions] = useState([]); - + const [childSpaceProportionList, setChildSpaceProportionList] = useState([]); + const [childSpaceSubtotalShareData, setChildSpaceSubtotalShareData] = useState([]); + const [parameterLineChartLabels, setParameterLineChartLabels] = useState([]); const [parameterLineChartData, setParameterLineChartData] = useState({}); const [parameterLineChartOptions, setParameterLineChartOptions] = useState([]); @@ -318,7 +320,45 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => { costDataArray.push(costDataItem); }); setCostShareData(costDataArray); - + + let childSpaceProportionArray = []; + json['child_space']['energy_category_names'].forEach((currentValue, energyCategoryIndex) => { + if (json['child_space']['child_space_names_array'][energyCategoryIndex].length > 0) { + let childSpaceProportionItem = {} + childSpaceProportionItem['data'] = [] + json['child_space']['child_space_names_array'][energyCategoryIndex].forEach((currentSpaceName, spaceIndex) => { + let childSpaceProportionItemDataItem = {} + childSpaceProportionItemDataItem['id'] = spaceIndex; + childSpaceProportionItemDataItem['name'] = currentSpaceName; + childSpaceProportionItemDataItem['value'] = json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex]; + childSpaceProportionItemDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16); + childSpaceProportionItem['data'].push(childSpaceProportionItemDataItem); + }); + + childSpaceProportionItem['name'] = json['child_space']['energy_category_names'][energyCategoryIndex]; + childSpaceProportionItem['unit'] = json['child_space']['units'][energyCategoryIndex]; + childSpaceProportionArray.push(childSpaceProportionItem); + }; + }); + setChildSpaceProportionList(childSpaceProportionArray); + + let childSpaceSubtotalShareDataArray = []; + if (json['child_space']['child_space_names_array'].length > 0) { + json['child_space']['child_space_names_array'][0].forEach((currentSpaceName, spaceIndex) => { + let subtotal = 0.0; + json['child_space']['energy_category_names'].forEach((currentValue, energyCategoryIndex) => { + subtotal += json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex]; + }); + let childSpaceSubtotalDataItem = {}; + childSpaceSubtotalDataItem['id'] = spaceIndex; + childSpaceSubtotalDataItem['name'] = currentSpaceName; + childSpaceSubtotalDataItem['value'] = subtotal; + childSpaceSubtotalDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16); + childSpaceSubtotalShareDataArray.push(childSpaceSubtotalDataItem); + }); + }; + setChildSpaceSubtotalShareData(childSpaceSubtotalShareDataArray); + let timestamps = {} json['reporting_period']['timestamps'].forEach((currentValue, index) => { timestamps['a' + index] = currentValue; @@ -637,6 +677,24 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {