Skip to content
Snippets Groups Projects

[COMP-360]: Network tasks - automation

Merged Saket Agrahari requested to merge COMP-360 into develop
3 files
+ 98
58
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -2,7 +2,7 @@ import React, { useContext } from "react";
@@ -2,7 +2,7 @@ import React, { useContext } from "react";
import { Table } from "react-bootstrap";
import { Table } from "react-bootstrap";
import { NetworkAutomation } from "../Schema";
import { NetworkAutomation } from "../Schema";
import { createMatrixDataLookupForArrayColumnType } from "../helpers/dataconversion";
import { createMatrixDataLookupForArrayColumnType, createMatrixDataLookup } from "../helpers/dataconversion";
import ColorPill from "../components/ColorPill";
import ColorPill from "../components/ColorPill";
import DataPage from "../components/DataPage";
import DataPage from "../components/DataPage";
import Filter from "../components/graphing/Filter";
import Filter from "../components/graphing/Filter";
@@ -19,7 +19,7 @@ function NetworkAutomationPage(): React.ReactElement {
@@ -19,7 +19,7 @@ function NetworkAutomationPage(): React.ReactElement {
filterSelection.selectedYears.includes(data.year) && filterSelection.selectedNrens.includes(data.nren)
filterSelection.selectedYears.includes(data.year) && filterSelection.selectedNrens.includes(data.nren)
);
);
const dataLookup = createMatrixDataLookupForArrayColumnType(selectedData, 'network_automation_specifics');
const dataLookup = createMatrixDataLookup(selectedData, 'network_automation');
console.log('dataLookup-->', dataLookup);
console.log('dataLookup-->', dataLookup);
const filterNode = <Filter
const filterNode = <Filter
@@ -35,21 +35,24 @@ function NetworkAutomationPage(): React.ReactElement {
@@ -35,21 +35,24 @@ function NetworkAutomationPage(): React.ReactElement {
<DataPage title="Network Tasks for which NRENs Use Automation "
<DataPage title="Network Tasks for which NRENs Use Automation "
description="The table below shows which NRENs have, or plan to, automate their
description="The table below shows which NRENs have, or plan to, automate their
operational processes, with specification of which processes, and the names of
operational processes, with specification of which processes, and the names of
software and tools used for this given when appropriate."
software and tools used for this given when appropriate.
 
Where NRENs indicated that they are using automation for some network tasks,
 
but did not specify which type of tasks, a marker has been placed in the 'other' column."
category={Sections.Network} filter={filterNode}
category={Sections.Network} filter={filterNode}
data={selectedData} filename="network_automation_nrens_per_year">
data={selectedData} filename="network_automation_nrens_per_year">
<>
<>
<ChartContainer>
<ChartContainer>
<Table className="charging-struct-table" striped bordered >
<Table className="charging-struct-table" striped bordered >
<colgroup>
<colgroup>
<col span={1} style={{ width: "16%" }} />
<col span={1} style={{ width: "16%" }} />
<col span={2} style={{ width: "14%" }} />
<col span={2} style={{ width: "12%" }} />
<col span={2} style={{ width: "14%" }} />
<col span={2} style={{ width: "12%" }} />
<col span={2} style={{ width: "14%" }} />
<col span={2} style={{ width: "12%" }} />
<col span={2} style={{ width: "14%" }} />
<col span={2} style={{ width: "12%" }} />
<col span={2} style={{ width: "14%" }} />
<col span={2} style={{ width: "12%" }} />
<col span={2} style={{ width: "14%" }} />
<col span={2} style={{ width: "12%" }} />
</colgroup>
<col span={2} style={{ width: "12%" }} />
 
</colgroup>
<thead>
<thead>
<tr>
<tr>
<th></th>
<th></th>
@@ -59,6 +62,7 @@ function NetworkAutomationPage(): React.ReactElement {
@@ -59,6 +62,7 @@ function NetworkAutomationPage(): React.ReactElement {
<th colSpan={2}>Compliance</th>
<th colSpan={2}>Compliance</th>
<th colSpan={2}>Reporting</th>
<th colSpan={2}>Reporting</th>
<th colSpan={2}>Troubleshooting</th>
<th colSpan={2}>Troubleshooting</th>
 
<th colSpan={2}>Other</th>
</tr>
</tr>
<tr>
<tr>
<th></th>
<th></th>
@@ -74,52 +78,88 @@ function NetworkAutomationPage(): React.ReactElement {
@@ -74,52 +78,88 @@ function NetworkAutomationPage(): React.ReactElement {
<th>Planned</th>
<th>Planned</th>
<th>Yes</th>
<th>Yes</th>
<th>Planned</th>
<th>Planned</th>
 
<th>Yes</th>
 
<th>Planned</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
{Array.from(dataLookup.entries()).map(([nren, nrenMap]) => (
{Array.from(dataLookup.entries()).map(([nren, nrenMap]) => (
<tr key={nren}>
<tr key={nren}>
<td>{nren}</td>
<td>{nren}</td>
{["Device Provisioning", "Data Collection", "Configuration Management", "Compliance", "Reporting", "Troubleshooting"].map(column_key => (
{["Device Provisioning", "Data Collection", "Configuration Management", "Compliance", "Reporting", "Troubleshooting"].map(column_key => (
<>
<>
<td key={`${column_key}-yes`}>
<td key={`${nren}-${column_key}-yes`}>
{nrenMap.has(column_key) &&
{nrenMap.has("yes") &&
showYears.map(year => {
showYears.map(year => {
const chargingYears = nrenMap.get(column_key)!;
const chargingYears = nrenMap.get("yes")?.get(year)!;
const serviceInfo = chargingYears.get(year);
const serviceInfo = chargingYears ? chargingYears.network_automation_specifics:null;
return (
return (
<ColorPill
<ColorPill
key={year}
key={year}
year={year}
year={year}
active={chargingYears.has(year)&& serviceInfo && serviceInfo.network_automation =='yes'}
active={nrenMap.get("yes")?.has(year) && serviceInfo && serviceInfo.indexOf(column_key) > -1}
tooltip={""}
tooltip={""}
rounded
rounded
/>
/>
);
);
})
})
}
}
</td>
</td>
<td key={`${column_key}-planned`}>
<td key={`${nren}-${column_key}-planned`}>
{nrenMap.has(column_key) &&
{nrenMap.has("planned") &&
showYears.map(year => {
showYears.map(year => {
const chargingYears = nrenMap.get(column_key)!;
const chargingYears = nrenMap.get("planned")?.get(year)!;
const serviceInfo = chargingYears.get(year);
const serviceInfo = chargingYears ? chargingYears.network_automation_specifics:null;
return (
return (
<ColorPill
<ColorPill
key={year}
key={year}
year={year}
year={year}
active={chargingYears.has(year)&& serviceInfo && serviceInfo.network_automation =='planned'}
active={nrenMap.get("planned")?.has(year) && serviceInfo && serviceInfo.indexOf(column_key) > -1}
tooltip={""}
tooltip={""}
rounded
rounded
/>
/>
);
);
})
})
}
}
</td>
</td>
</>
</>
))}
))}
</tr>
<td key={`${nren}-other-yes`}>
))}
{nrenMap.has("yes") &&
 
showYears.map(year => {
 
const chargingYears = nrenMap.get("yes")?.get(year)!;
 
const serviceInfo = chargingYears ? chargingYears.network_automation_specifics:null;
 
return (
 
<ColorPill
 
key={year}
 
year={year}
 
active={nrenMap.get("yes")?.has(year) && serviceInfo && serviceInfo.length == 0}
 
tooltip={""}
 
rounded
 
/>
 
);
 
})
 
}
 
</td>
 
<td key={`${nren}-other-planned`}>
 
{nrenMap.has("planned") &&
 
showYears.map(year => {
 
const chargingYears = nrenMap.get("planned")?.get(year)!;
 
const serviceInfo = chargingYears ? chargingYears.network_automation_specifics:null;
 
return (
 
<ColorPill
 
key={year}
 
year={year}
 
active={nrenMap.get("planned")?.has(year) && serviceInfo && serviceInfo.length == 0}
 
tooltip={""}
 
rounded
 
/>
 
);
 
})
 
}
 
</td>
 
</tr>
 
))}
</tbody>
</tbody>
</Table>
</Table>
Loading