({
children,
className,
initialSummary,
queries,
queryId,
store,
tableId,
}: CartesianChartProps)
| 114 | const TITLE_SEPARATOR = ' & '; |
| 115 | |
| 116 | export const CartesianChart = ({ |
| 117 | children, |
| 118 | className, |
| 119 | initialSummary, |
| 120 | queries, |
| 121 | queryId, |
| 122 | store, |
| 123 | tableId, |
| 124 | }: CartesianChartProps) => { |
| 125 | const layout = useLayout(); |
| 126 | const [svgRef, chartSize, chartStyle] = layout; |
| 127 | const [tickSize, tickGap, , xAxisHeight, yAxisWidth, , fontSize] = chartStyle; |
| 128 | const plotFrame = getPlotFrame(chartSize, chartStyle); |
| 129 | const plotSize = getPlotSize(layout); |
| 130 | const labelSize = getLabelSize(layout); |
| 131 | const storeObject = useStoreOrStoreById(store); |
| 132 | const queriesObject = useQueriesOrQueriesById(queries); |
| 133 | const sourceType = isNullish(tableId) |
| 134 | ? isNullish(queryId) |
| 135 | ? SourceType.None |
| 136 | : SourceType.Query |
| 137 | : SourceType.Table; |
| 138 | const initialSummaries: SummaryById = isNullish(initialSummary) |
| 139 | ? {} |
| 140 | : {0: initialSummary}; |
| 141 | const initialDomainState = isNullish(initialSummary) |
| 142 | ? EMPTY_DOMAIN_STATE |
| 143 | : getDomainState(objValues(initialSummaries)); |
| 144 | const initialXTitle = getTitle(initialSummaries, 'xCellId'); |
| 145 | const initialYTitle = getTitle(initialSummaries, 'yCellId'); |
| 146 | const summariesRef = useRef<SummaryById>(initialSummaries); |
| 147 | const boundsRef = useRef<Bounds>(initialDomainState.bounds); |
| 148 | const domainStateRef = useRef<DomainState>(initialDomainState); |
| 149 | const xTitleRef = useRef(initialXTitle); |
| 150 | const yTitleRef = useRef(initialYTitle); |
| 151 | const pool = useRef(getPoolFunctions()); |
| 152 | const [domainState, setDomainState] = |
| 153 | useState<DomainState>(initialDomainState); |
| 154 | const [xTitle, setXTitle] = useState(initialXTitle); |
| 155 | const [yTitle, setYTitle] = useState(initialYTitle); |
| 156 | const barSeriesIdsRef = useRef<string[]>([]); |
| 157 | const [barSeriesIds, setBarSeriesIds] = useState<string[]>([]); |
| 158 | const [tooltipPoint, setTooltipPoint] = useState<ScaledPoint | undefined>(); |
| 159 | const [chartChildren, xAxis, yAxis] = getParsedChildren(children); |
| 160 | const xValues = domainState.xValues; |
| 161 | const timestampUnit: TimestampUnit = |
| 162 | xAxis?.scale == TIME && xAxis.timestampUnit == SECOND_UNIT |
| 163 | ? SECOND_UNIT |
| 164 | : MILLISECOND; |
| 165 | const xScale = getResolvedXScale( |
| 166 | xAxis?.scale, |
| 167 | domainState, |
| 168 | isFiniteNumber(xAxis?.min) || |
| 169 | isFiniteNumber(xAxis?.max) || |
| 170 | !isNullish(xAxis?.ticks), |
| 171 | ); |
| 172 | const continuousX = xScale != CATEGORY; |
| 173 | const dataBounds = getAxisBounds( |
no test coverage detected
searching dependent graphs…