[frontend]: Add train lateness pie chart
This commit is contained in:
@ -7,6 +7,7 @@ const Statistics = () => {
|
|||||||
const [transientTypes, setTransientTypes] = useState([]);
|
const [transientTypes, setTransientTypes] = useState([]);
|
||||||
const [trainTypes, setTrainTypes] = useState([]);
|
const [trainTypes, setTrainTypes] = useState([]);
|
||||||
const [trainStatuses, setTrainStatuses] = useState([]);
|
const [trainStatuses, setTrainStatuses] = useState([]);
|
||||||
|
const [trainLatenesses, setTrainLatenesses] = useState([]);
|
||||||
const [coordinates, setCoordinates] = useState([]);
|
const [coordinates, setCoordinates] = useState([]);
|
||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const [heatmapLoading, setHeatmapLoading] = useState(true);
|
const [heatmapLoading, setHeatmapLoading] = useState(true);
|
||||||
@ -23,6 +24,7 @@ const Statistics = () => {
|
|||||||
let transientTypes = [];
|
let transientTypes = [];
|
||||||
let trainTypes = [];
|
let trainTypes = [];
|
||||||
let trainStatuses = [];
|
let trainStatuses = [];
|
||||||
|
let trainLatenesses = [];
|
||||||
|
|
||||||
for (const item of transientData) {
|
for (const item of transientData) {
|
||||||
transientTypes.push(item.objectType.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z])([A-Z][a-z])/g, '$1 $2'));
|
transientTypes.push(item.objectType.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z])([A-Z][a-z])/g, '$1 $2'));
|
||||||
@ -30,12 +32,14 @@ const Statistics = () => {
|
|||||||
if (item.objectType === "IrishRailTrain") {
|
if (item.objectType === "IrishRailTrain") {
|
||||||
trainTypes.push(item.trainTypeFull);
|
trainTypes.push(item.trainTypeFull);
|
||||||
trainStatuses.push(item.trainStatusFull);
|
trainStatuses.push(item.trainStatusFull);
|
||||||
|
trainLatenesses.push(item.trainPunctualityStatus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setTransientTypes(transientTypes);
|
setTransientTypes(transientTypes);
|
||||||
setTrainTypes(trainTypes);
|
setTrainTypes(trainTypes);
|
||||||
setTrainStatuses(trainStatuses);
|
setTrainStatuses(trainStatuses);
|
||||||
|
setTrainLatenesses(trainLatenesses);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setError("Failed to fetch transient data");
|
setError("Failed to fetch transient data");
|
||||||
} finally {
|
} finally {
|
||||||
@ -114,6 +118,12 @@ const Statistics = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="bg-white shadow-md rounded-lg p-4">
|
||||||
|
<ObjectTypeProportionPieChart
|
||||||
|
label={`Live Train Latenesses`}
|
||||||
|
dataList={trainLatenesses}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user