Actually made operations work (and made the module 8MB)

Unfortunately they need jsdom
This commit is contained in:
Matt 2019-03-10 11:44:02 +00:00
parent 4ae875601a
commit f8874fc586
8 changed files with 211 additions and 201 deletions

View file

@ -5,6 +5,7 @@
*/
import * as d3 from "d3";
import jsdom from "jsdom";
import { getScatterValues, getScatterValuesWithColour, RECORD_DELIMITER_OPTIONS, COLOURS, FIELD_DELIMITER_OPTIONS } from "../lib/Charts";
import Operation from "../Operation";
@ -77,8 +78,8 @@ class ScatterChart extends Operation {
* @returns {html}
*/
run(input, args) {
const recordDelimiter = Utils.charRep[args[0]],
fieldDelimiter = Utils.charRep[args[1]],
const recordDelimiter = Utils.charRep(args[0]),
fieldDelimiter = Utils.charRep(args[1]),
columnHeadingsAreIncluded = args[2],
fillColour = args[5],
radius = args[6],
@ -89,7 +90,6 @@ class ScatterChart extends Operation {
yLabel = args[4];
const dataFunction = colourInInput ? getScatterValuesWithColour : getScatterValues;
const { headings, values } = dataFunction(
input,
recordDelimiter,
@ -101,7 +101,7 @@ class ScatterChart extends Operation {
xLabel = headings.x;
yLabel = headings.y;
}
const document = new jsdom.JSDOM().window.document;
let svg = document.createElement("svg");
svg = d3.select(svg)
.attr("width", "100%")