diff options
author | 2021-05-18 12:50:32 +0100 | |
---|---|---|
committer | 2021-05-27 09:43:12 +0100 | |
commit | 87111eea8588fb30936a8f876f5f3feed61e7b8a (patch) | |
tree | 1fe70089a51b4065f9db26e643982418d3c23756 /gui-pdp-monitoring/src | |
parent | e6a9251b46ce602ac0dccfe5890d886c7e445ed7 (diff) |
React Front-End UI
This commit is to move the React front end files from the Clamp Policy Repo to the Onap Gui Policy Repo.
Also created the added Maven featue to compile the React project via Node and NPM, and copy the production files to the target directory.
Fixed in gitignore that was ignoring the contents inside the logs/ directory.
Reformated JS spacing files from 4 spaces to 2 spaces.
Fixed Broken JEST test
Applied Jim's Code Review as well updated Node Version from 12.18 to 14.17 accross the modules. Unfortunately cannot apply NPM version since it broke npm install.
Fixed ONAP Job Builder Linting Error
Applied Jim's Second Code Review
Issue-ID: POLICY-3218
Signed-off-by: brunomilitzer <bruno.militzer@est.tech>
Change-Id: I01f95c350d27d72f941c835592fd596472601d6e
Diffstat (limited to 'gui-pdp-monitoring/src')
-rw-r--r-- | gui-pdp-monitoring/src/webapp/js/MonitoringChart.js | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js b/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js index 2744469..94a18df 100644 --- a/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js +++ b/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js @@ -26,36 +26,36 @@ import * as d3 from "d3"; function createChart(data, container, title, unit, lineStroke, nodeColour) { // Set the dimensions of the canvas var margin = { - top : 30, - right : 20, - bottom : 30, - left : 50 + top: 30, + right: 20, + bottom: 30, + left: 50 }, width = 600 - margin.left - margin.right, height = 270 - margin.top - - margin.bottom; + - margin.bottom; // Set the ranges - var x = d3.time.scale().range([ 0, width ]); - var y = d3.scale.linear().range([ height, 0 ]); + var x = d3.time.scale().range([0, width]); + var y = d3.scale.linear().range([height, 0]); // Define the axes var xAxis = d3.svg.axis().scale(x).orient("bottom").ticks(5).innerTickSize( - -height).outerTickSize(0).tickPadding(10); + -height).outerTickSize(0).tickPadding(10); var yAxis = d3.svg.axis().scale(y).orient("left").ticks(10).innerTickSize( - -width).outerTickSize(0).tickPadding(10); + -width).outerTickSize(0).tickPadding(10); // Define the line - var valueline = d3.svg.line().x(function(d) { + var valueline = d3.svg.line().x(function (d) { return x(d.timestamp); - }).y(function(d) { + }).y(function (d) { return y(d.value); }); // Add the svg canvas to the container var svg = d3.select(container).append("svg").attr("preserveAspectRatio", - "xMinYMin meet").attr("viewBox", "0 0 600 400").classed( - "svg-content-responsive", true).append("g").attr("transform", - "translate(" + margin.left + "," + margin.top + ")"); + "xMinYMin meet").attr("viewBox", "0 0 600 400").classed( + "svg-content-responsive", true).append("g").attr("transform", + "translate(" + margin.left + "," + margin.top + ")"); // Set the unit for the value svg.attr("unit", unit); @@ -63,12 +63,12 @@ function createChart(data, container, title, unit, lineStroke, nodeColour) { data = formatDataForChart(data); // Scale the range of the data - x.domain(d3.extent(data, function(d) { + x.domain(d3.extent(data, function (d) { return d.timestamp; })); - y.domain([ 0, d3.max(data, function(d) { + y.domain([0, d3.max(data, function (d) { return Math.ceil((d.value + 1) / 10) * 10; - }) ]); + })]); // Set the colour of the line if (!lineStroke) { @@ -82,36 +82,36 @@ function createChart(data, container, title, unit, lineStroke, nodeColour) { // Add the valueline path svg.append("path").attr("class", "line").data(data).attr("unit", unit) - .attr("stroke", lineStroke).attr("d", valueline(data)); + .attr("stroke", lineStroke).attr("d", valueline(data)); // Add the scatterplot svg.selectAll("circle").data(data).enter().append("circle").attr("r", 3.5) - .attr("class", "circle").attr("fill", nodeColour).attr("cx", - function(d) { - return x(d.timestamp); - }).attr("cy", function(d) { - return y(d.value); - }) + .attr("class", "circle").attr("fill", nodeColour).attr("cx", + function (d) { + return x(d.timestamp); + }).attr("cy", function (d) { + return y(d.value); + }) - // Apply the tooltip to each node - .on("mouseover", handleMouseOver) - .on("mouseout", handleMouseOut); + // Apply the tooltip to each node + .on("mouseover", handleMouseOver) + .on("mouseout", handleMouseOut); // Add the X Axis svg.append("g").attr("class", "x axis").attr("transform", - "translate(0," + height + ")").call(xAxis); + "translate(0," + height + ")").call(xAxis); // Add the Y Axis svg.append("g").attr("class", "y axis").call(yAxis); // Add the title svg.append("text").attr("x", (width / 2)).attr("y", 0 - (margin.top / 2)) - .attr("text-anchor", "middle").style("font-size", "16px").style( - "text-decoration", "underline").text(title); + .attr("text-anchor", "middle").style("font-size", "16px").style( + "text-decoration", "underline").text(title); // Add the background svg.selectAll(".tick:not(:first-of-type) line").attr("stroke", "#777") - .attr("stroke-dasharray", "2,2"); + .attr("stroke-dasharray", "2,2"); } /* @@ -122,8 +122,8 @@ function generateRandomData() { var data = []; for (var i = 0; i < 30; i++) { data.push({ - timestamp : new Date().getTime() - (i * 5000), - value : Math.floor(Math.random() * 100) + 1 + timestamp: new Date().getTime() - (i * 5000), + value: Math.floor(Math.random() * 100) + 1 }); } return data; @@ -134,12 +134,12 @@ function generateRandomData() { */ function updateChart(container, data, nodeColour) { var margin = { - top : 30, - right : 20, - bottom : 30, - left : 50 + top: 30, + right: 20, + bottom: 30, + left: 50 }, width = 600 - margin.left - margin.right, height = 270 - margin.top - - margin.bottom; + - margin.bottom; data = formatDataForChart(data); @@ -147,28 +147,28 @@ function updateChart(container, data, nodeColour) { var svg = d3.select(container); // Set the ranges - var x = d3.time.scale().range([ 0, width ]); - var y = d3.scale.linear().range([ height, 0 ]); + var x = d3.time.scale().range([0, width]); + var y = d3.scale.linear().range([height, 0]); // Define the axes var xAxis = d3.svg.axis().scale(x).orient("bottom").ticks(5).innerTickSize( - -height).outerTickSize(0).tickPadding(10); + -height).outerTickSize(0).tickPadding(10); var yAxis = d3.svg.axis().scale(y).orient("left").ticks(10).innerTickSize( - -width).outerTickSize(0).tickPadding(10); + -width).outerTickSize(0).tickPadding(10); // Scale the range of the data - x.domain(d3.extent(data, function(d) { + x.domain(d3.extent(data, function (d) { return d.timestamp; })); - y.domain([ 0, d3.max(data, function(d) { + y.domain([0, d3.max(data, function (d) { return Math.ceil((d.value + 1) / 10) * 10; - }) ]); + })]); // Update the valueline path - var valueline = d3.svg.line().x(function(d) { + var valueline = d3.svg.line().x(function (d) { return x(d.timestamp); - }).y(function(d) { + }).y(function (d) { return y(d.value); }); @@ -182,24 +182,24 @@ function updateChart(container, data, nodeColour) { // Make the changes svg.select(".line").data(data) // change the line - .transition().duration(750).attr("d", valueline(data)); + .transition().duration(750).attr("d", valueline(data)); svg.select(".x.axis") // change the x axis - .transition().duration(750).call(xAxis.ticks(5)); + .transition().duration(750).call(xAxis.ticks(5)); svg.select(".y.axis") // change the y axis - .transition().duration(750).call(yAxis); + .transition().duration(750).call(yAxis); // Redraw the nodes based on the new data svg.select("svg").select("g").selectAll("circle").data(data).enter() - .append("circle").attr("r", 3.5).attr("class", "circle").attr( - "fill", nodeColour).attr("cx", function(d) { - return x(d.timestamp); - }).attr("cy", function(d) { - return y(d.value); - }) + .append("circle").attr("r", 3.5).attr("class", "circle").attr( + "fill", nodeColour).attr("cx", function (d) { + return x(d.timestamp); + }).attr("cy", function (d) { + return y(d.value); + }) - // Apply the tooltip to each node - .on("mouseover", handleMouseOver) - .on("mouseout", handleMouseOut); + // Apply the tooltip to each node + .on("mouseover", handleMouseOver) + .on("mouseout", handleMouseOut); } @@ -208,7 +208,7 @@ function updateChart(container, data, nodeColour) { */ function initTooltip() { d3.select("body").append("div").attr("class", "tooltip").attr("id", - "tooltip").style("opacity", 0); + "tooltip").style("opacity", 0); } /* @@ -220,7 +220,7 @@ function formatDate(date) { function formatDataForChart(data) { // Format the data for the chart - data.forEach(function(d) { + data.forEach(function (d) { d.value = +d.value; }); @@ -231,17 +231,17 @@ function handleMouseOver(d) { var unit = svg.select(".line").attr("unit"); d3.select("body").select(".tooltip").transition() - .duration(50).style("opacity", 1); + .duration(50).style("opacity", 1); d3.select("body").select(".tooltip").html( - formatDate(new Date(d.timestamp)) + "<br/>" - + d.value + (unit ? " " + unit : "")) - .style("left", (d3.event.pageX) + "px").style( - "top", (d3.event.pageY - 28) + "px"); + formatDate(new Date(d.timestamp)) + "<br/>" + + d.value + (unit ? " " + unit : "")) + .style("left", (d3.event.pageX) + "px").style( + "top", (d3.event.pageY - 28) + "px"); } function handleMouseOut(d) { d3.select("body").select(".tooltip").transition() - .duration(500).style("opacity", 0); + .duration(500).style("opacity", 0); } -export { initTooltip, createChart, updateChart, generateRandomData };
\ No newline at end of file +export {initTooltip, createChart, updateChart, generateRandomData}; |