aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DataVizBox/components/PieChart.tsx
diff options
context:
space:
mode:
authorsrichman333 <sarah_n_richman@brown.edu>2023-08-09 15:24:03 -0400
committersrichman333 <sarah_n_richman@brown.edu>2023-08-09 15:24:03 -0400
commit481a847b1074c9544e947e409b96778ac4d4f852 (patch)
tree7d453a1d5266ff055c1d821b6b7694202b85f8f1 /src/client/views/nodes/DataVizBox/components/PieChart.tsx
parent79a5cddf969a027811a9b7069f8ae8614b825a05 (diff)
numerical y axis data fix
Diffstat (limited to 'src/client/views/nodes/DataVizBox/components/PieChart.tsx')
-rw-r--r--src/client/views/nodes/DataVizBox/components/PieChart.tsx21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/client/views/nodes/DataVizBox/components/PieChart.tsx b/src/client/views/nodes/DataVizBox/components/PieChart.tsx
index 133e3a33a..6581b6b75 100644
--- a/src/client/views/nodes/DataVizBox/components/PieChart.tsx
+++ b/src/client/views/nodes/DataVizBox/components/PieChart.tsx
@@ -1,13 +1,10 @@
import { observer } from "mobx-react";
-import { Doc, DocListCast, StrListCast } from "../../../../../fields/Doc";
+import { Doc, StrListCast } from "../../../../../fields/Doc";
import * as React from 'react';
import * as d3 from 'd3';
import { IReactionDisposer, action, computed, observable, reaction } from "mobx";
import { LinkManager } from "../../../../util/LinkManager";
import { Cast, DocCast, StrCast} from "../../../../../fields/Types";
-import { DocumentManager } from "../../../../util/DocumentManager";
-import { Id } from "../../../../../fields/FieldSymbols";
-import { DataVizBox } from "../DataVizBox";
import { PinProps, PresBox } from "../../trails";
import { Docs } from "../../../../documents/Documents";
import { List } from "../../../../../fields/List";
@@ -256,7 +253,7 @@ export class PieChart extends React.Component<PieChartProps> {
.attr("fill", (d, i)=>{
var possibleDataPoints = pieDataSet.filter((each: { [x: string]: any | { valueOf(): number; }; }) => {
try {
- return each[percentField].replace(/[^0-9]/g,"")==d.data.toString().replace(/[^0-9]/g,"")
+ return Number(each[percentField].replace(/\$/g, '').replace(/\%/g, '').replace(/\</g, ''))==Number(d.data)
} catch (error) {
return each[percentField]==d.data
}})
@@ -266,10 +263,12 @@ export class PieChart extends React.Component<PieChartProps> {
dataPoint = possibleDataPoints[trackDuplicates[d.data.toString()]]
trackDuplicates[d.data.toString()] = trackDuplicates[d.data.toString()] + 1;
}
- var accessByName = descriptionField? dataPoint[descriptionField] : dataPoint[percentField];
var sliceColor;
- var sliceColors = StrListCast(this.props.layoutDoc.pieSliceColors).map(each => each.split('::'));
- sliceColors.map(each => {if (each[0]==StrCast(accessByName)) sliceColor = each[1]});
+ if (dataPoint){
+ var accessByName = descriptionField? dataPoint[descriptionField] : dataPoint[percentField];
+ var sliceColors = StrListCast(this.props.layoutDoc.pieSliceColors).map(each => each.split('::'));
+ sliceColors.map(each => {if (each[0]==StrCast(accessByName)) sliceColor = each[1]});
+ }
return sliceColor? StrCast(sliceColor) : d3.schemeSet3[i]? d3.schemeSet3[i]: d3.schemeSet3[i%(d3.schemeSet3.length)] })
.attr("class", selected?
function(d) {
@@ -292,7 +291,7 @@ export class PieChart extends React.Component<PieChartProps> {
.text(function(d){
var possibleDataPoints = pieDataSet.filter((each: { [x: string]: any | { valueOf(): number; }; }) => {
try {
- return each[percentField].replace(/[^0-9]/g,"")==d.data.toString().replace(/[^0-9]/g,"")
+ return Number(each[percentField].replace(/\$/g, '').replace(/\%/g, '').replace(/\</g, ''))==Number(d.data)
} catch (error) {
return each[percentField]==d.data
}})
@@ -302,9 +301,7 @@ export class PieChart extends React.Component<PieChartProps> {
dataPoint = possibleDataPoints[trackDuplicates[d.data.toString()]]
trackDuplicates[d.data.toString()] = trackDuplicates[d.data.toString()] + 1;
}
- return dataPoint[percentField]!
- + (!descriptionField? '' : (' - ' + dataPoint[descriptionField]))!})
-
+ return dataPoint? dataPoint[percentField]! + (!descriptionField? '' : (' - ' + dataPoint[descriptionField]))! : ''})
};
@action changeSelectedColor = (color: string) => {