diff --git a/src/components/Facet/Facet.js b/src/components/Facet/Facet.js index 36796a7..5ed9d4b 100644 --- a/src/components/Facet/Facet.js +++ b/src/components/Facet/Facet.js @@ -26,7 +26,7 @@ class Facet extends React.Component { - Prediction + Model Data @@ -34,8 +34,7 @@ class Facet extends React.Component { {facetsActions.map((item, key) => ( - -
{item.name}
+ {item.name}
diff --git a/src/components/Facet/FacetContainer.js b/src/components/Facet/FacetContainer.js index dada7db..426f6cf 100644 --- a/src/components/Facet/FacetContainer.js +++ b/src/components/Facet/FacetContainer.js @@ -14,6 +14,7 @@ import { fetchDataMarginals, fetchDataPrediction, } from "../../states/standardplots/actions"; +import { aggregationName, densityName, marginalName, samplesName } from "../../configs/specificationFacetsConfig"; class FacetContainer extends React.Component { render() { return ( @@ -36,19 +37,19 @@ class FacetContainer extends React.Component { fetchDataPrediction, } = this.props; - if (facets[key].data === false && key === "Data Points") { + if (facets[key].data === false && key === samplesName) { fetchTrainingDataPoints(); } - if (facets[key].data === false && key === "Prediction") { + if (facets[key].data === false && key === aggregationName) { fetchDataPrediction(); } - if (facets[key].data === false && key === "Marginals") { + if (facets[key].data === false && key === marginalName) { fetchDataMarginals(); } - if (facets[key].data === false && key === "Density") { + if (facets[key].data === false && key === densityName) { fetchDataDensity(); } @@ -65,19 +66,19 @@ class FacetContainer extends React.Component { fetchModelPrediction, facets, } = this.props; - if (facets[key].model === false && key === "Data Points") { + if (facets[key].model === false && key === samplesName) { fetchModelDataPoints(); } - if (facets[key].model === false && key === "Prediction") { + if (facets[key].model === false && key === aggregationName) { fetchModelPrediction(); } - if (facets[key].model === false && key === "Marginals") { + if (facets[key].model === false && key === marginalName) { fetchModelMarginals(); } - if (facets[key].model === false && key === "Density") { + if (facets[key].model === false && key === densityName) { fetchModelDensityData(); } changeFacets(activeSpecification, key, "model"); diff --git a/src/components/StandardPlot/StandardPlot.js b/src/components/StandardPlot/StandardPlot.js index 6b70a7f..04da2c1 100644 --- a/src/components/StandardPlot/StandardPlot.js +++ b/src/components/StandardPlot/StandardPlot.js @@ -7,6 +7,7 @@ import { defaultPlot } from "./defaultPlot"; import { markers } from "./markers"; import { createCategoryColorMap } from "./colorPalettes"; import Plot from "react-plotly.js"; +import { aggregationName, densityName, marginalName, samplesName } from "../../configs/specificationFacetsConfig"; class StandardPlot extends Component { static propTypes = { plotData: PropTypes.array, @@ -158,30 +159,30 @@ class StandardPlot extends Component { const categoryColorMap = createCategoryColorMap(category); const data = []; displayTraces.map((traceinfo, ind) => { - if (traceinfo.name === "Prediction" && traceinfo.from === "data") { + if (traceinfo.name === aggregationName && traceinfo.from === "data") { data.push(this.getNewDataPredictionTrace()); } - if (traceinfo.name === "Prediction" && traceinfo.from === "model") { + if (traceinfo.name === aggregationName && traceinfo.from === "model") { data.push(this.getNewModelPredictionTrace()); } - if (traceinfo.name === "Data Points" && traceinfo.from === "data") { + if (traceinfo.name === samplesName && traceinfo.from === "data") { this.getNewDataScatterTrace(data, categoryColorMap); } - if (traceinfo.name === "Density" && traceinfo.from === "data") { + if (traceinfo.name === densityName && traceinfo.from === "data") { data.push(this.getNewDataDensityTrace()); } - if (traceinfo.name === "Marginals" && traceinfo.from === "data") { + if (traceinfo.name === marginalName && traceinfo.from === "data") { this.getNewDataXHistogramTrace(data, categoryColorMap); this.getNewDataYHistogramTrace(data, categoryColorMap); } - if (traceinfo.name === "Data Points" && traceinfo.from === "model") { + if (traceinfo.name === samplesName && traceinfo.from === "model") { this.getNewModelScatterTrace(data, categoryColorMap); } - if (traceinfo.name === "Density" && traceinfo.from === "model") { + if (traceinfo.name === densityName && traceinfo.from === "model") { data.push(this.getNewModelDensityTrace()); } - if (traceinfo.name === "Marginals" && traceinfo.from === "model") { + if (traceinfo.name === marginalName && traceinfo.from === "model") { this.getNewModelXHistogramTrace(data, categoryColorMap); this.getNewModelYHistogramTrace(data, categoryColorMap); } diff --git a/src/components/StandardSpecification/StandardSpecification.js b/src/components/StandardSpecification/StandardSpecification.js index 11dfa79..8c9644d 100644 --- a/src/components/StandardSpecification/StandardSpecification.js +++ b/src/components/StandardSpecification/StandardSpecification.js @@ -23,7 +23,7 @@ class StandardSpecification extends Component { const { specifications } = this.props; return (
- + {Object.entries(specifications).map((item, index) => ( { const specification = getSpecById(state, getSpecificationId(state, id)); - const X_Axis = [...specification.X_Axis]; - const Y_Axis = [...specification.Y_Axis]; + const X_Axis = [...specification[xAxisName]]; + const Y_Axis = [...specification[yAxisName]]; const SELECT = getSelectFieldArray(X_Axis, Y_Axis); return SELECT; }; @@ -31,8 +32,8 @@ export const getSelectedFieldArrayById = (state, id) => { export const getSelectedFieldObjectById = (state, id) => { const specification = getSpecById(state, getSpecificationId(state, id)); - const X_Axis = [...specification.X_Axis]; - const Y_Axis = [...specification.Y_Axis]; + const X_Axis = [...specification[xAxisName]]; + const Y_Axis = [...specification[yAxisName]]; const SELECT = getSelectFieldObject(X_Axis, Y_Axis); return SELECT; }; diff --git a/src/states/standardspecifications/actions.js b/src/states/standardspecifications/actions.js index 190ac6b..b15a240 100644 --- a/src/states/standardspecifications/actions.js +++ b/src/states/standardspecifications/actions.js @@ -12,8 +12,8 @@ maintains all existing specifications and there state */ const defaultValues = { specification: { - X_Axis: new Set([]), - Y_Axis: new Set([]), + "X-Axis": new Set([]), + "Y-Axis": new Set([]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -21,11 +21,11 @@ const defaultValues = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: false, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, diff --git a/src/states/standardspecifications/reducer.test.js b/src/states/standardspecifications/reducer.test.js index eb8c6cc..6eb141c 100644 --- a/src/states/standardspecifications/reducer.test.js +++ b/src/states/standardspecifications/reducer.test.js @@ -1,6 +1,7 @@ import * as types from "./constants"; import reducer from "./reducer"; import { defaultValues, defaultState, filledOneState, changedPredictionModelState } from "./testData"; +import { aggregationName, xAxisName } from "../../configs/specificationFacetsConfig"; describe("standardspecification reducer", () => { it("should create the initial state", () => { @@ -37,7 +38,7 @@ describe("standardspecification reducer", () => { it("should add new value to standardspecification", () => { const payload = { id: 10, - key: "X_Axis", + key: xAxisName, value: "time[s]" } @@ -50,7 +51,7 @@ describe("standardspecification reducer", () => { it("should delete a value from standardspecification", () => { const payload = { id: 10, - key: "X_Axis", + key: xAxisName, value: "time[s]" } @@ -64,7 +65,7 @@ describe("standardspecification reducer", () => { const payload = { id: 10, type: "model", - key: "Prediction" + key: aggregationName, } expect(reducer(defaultState, { diff --git a/src/states/standardspecifications/testData.js b/src/states/standardspecifications/testData.js index 30f09a1..bf4942e 100644 --- a/src/states/standardspecifications/testData.js +++ b/src/states/standardspecifications/testData.js @@ -1,7 +1,7 @@ export const defaultValues = { specification: { - X_Axis: new Set([]), - Y_Axis: new Set([]), + "X-Axis": new Set([]), + "Y-Axis": new Set([]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -9,11 +9,11 @@ export const defaultValues = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: false, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, @@ -30,8 +30,8 @@ export const defaultValues = { export const filledOneValue = { specification: { - X_Axis: new Set(["age"]), - Y_Axis: new Set([]), + "X-Axis": new Set(["age"]), + "Y-Axis": new Set([]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -39,11 +39,11 @@ export const filledOneValue = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: false, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, @@ -60,8 +60,8 @@ export const filledOneValue = { export const filledTwoValues = { specification: { - X_Axis: new Set(["age"]), - Y_Axis: new Set(["size"]), + "X-Axis": new Set(["age"]), + "Y-Axis": new Set(["size"]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -69,11 +69,11 @@ export const filledTwoValues = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: false, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, @@ -92,8 +92,8 @@ export const defaultState = { standardspecifications: { '10': { specification: { - X_Axis: new Set([]), - Y_Axis: new Set([]), + "X-Axis": new Set([]), + "Y-Axis": new Set([]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -101,11 +101,11 @@ export const defaultState = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: false, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, @@ -126,8 +126,8 @@ export const filledOneState = { standardspecifications: { '10': { specification: { - X_Axis: new Set(["time[s]"]), - Y_Axis: new Set([]), + "X-Axis": new Set(["time[s]"]), + "Y-Axis": new Set([]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -135,11 +135,11 @@ export const filledOneState = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: false, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, @@ -160,8 +160,8 @@ export const changedPredictionModelState = { standardspecifications: { '10': { specification: { - X_Axis: new Set([]), - Y_Axis: new Set([]), + "X-Axis": new Set([]), + "Y-Axis": new Set([]), Filter: new Set([]), Detail: new Set([]), Color: new Set([]), @@ -169,11 +169,11 @@ export const changedPredictionModelState = { Size: new Set([]), }, facets: { - Prediction: { + Aggregation: { model: true, data: false, }, - "Data Points": { + Samples: { model: false, data: true, }, diff --git a/src/utils/plotData.js b/src/utils/plotData.js index 5ff5486..ae4ae05 100644 --- a/src/utils/plotData.js +++ b/src/utils/plotData.js @@ -1,4 +1,5 @@ import { fetch2DPlotData } from "./fetch"; +import { xAxisName, yAxisName } from "../configs/specificationFacetsConfig"; export const nextAvaliableId = (ids) => { if (ids.length === 0) { @@ -29,8 +30,8 @@ export const nextActiveId = (ids) => { }; export const getLayoutInformation = (specifications) => { - const X_Axis = [...specifications.X_Axis]; - const Y_Axis = [...specifications.Y_Axis]; + const X_Axis = [...specifications[xAxisName]]; + const Y_Axis = [...specifications[yAxisName]]; if (X_Axis.length === 0 && Y_Axis.length === 0) { return {}; @@ -79,8 +80,8 @@ export const getSelectFieldObject = (X_Axis, Y_Axis) => { // TODO: refractor this to action or fetch export const fetchAllPlotData = (specifications, modelName) => { - const X_Axis = [...specifications.X_Axis]; - const Y_Axis = [...specifications.Y_Axis]; + const X_Axis = [...specifications[xAxisName]]; + const Y_Axis = [...specifications[yAxisName]]; const combinations = getPlotCombinations(X_Axis, Y_Axis); return Promise.all([ combinations.map((comb, ind) => {