|
11 | 11 | // See the License for the specific language governing permissions and |
12 | 12 | // limitations under the License. |
13 | 13 |
|
14 | | -import { forwardRef, MouseEvent, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'; |
| 14 | +import { forwardRef, MouseEvent, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'; |
15 | 15 | import { Box } from '@mui/material'; |
16 | 16 | import merge from 'lodash/merge'; |
17 | 17 | import isEqual from 'lodash/isEqual'; |
@@ -58,8 +58,8 @@ import { |
58 | 58 | useTimeZone, |
59 | 59 | ZoomEventData, |
60 | 60 | } from '@perses-dev/components'; |
61 | | -import { createTimezoneAwareAxisFormatter } from './utils/timezone-formatter'; |
62 | 61 | import { DatasetOption } from 'echarts/types/dist/shared'; |
| 62 | +import { createTimezoneAwareAxisFormatter } from './utils/timezone-formatter'; |
63 | 63 |
|
64 | 64 | use([ |
65 | 65 | EChartsLineChart, |
@@ -128,8 +128,10 @@ export const TimeSeriesChartBase = forwardRef<ChartInstance, TimeChartProps>(fun |
128 | 128 | const [startX, setStartX] = useState(0); |
129 | 129 | const { timeZone } = useTimeZone(); |
130 | 130 |
|
131 | | - const getTimezoneAwareAxisFormatter = (rangeMs: number) => |
132 | | - createTimezoneAwareAxisFormatter(rangeMs, timeZone); |
| 131 | + const getTimezoneAwareAxisFormatter = useCallback( |
| 132 | + (rangeMs: number): ((value: number) => string) => createTimezoneAwareAxisFormatter(rangeMs, timeZone), |
| 133 | + [timeZone] |
| 134 | + ); |
133 | 135 |
|
134 | 136 | let timeScale: TimeScale; |
135 | 137 | if (timeScaleProp === undefined) { |
@@ -278,10 +280,10 @@ export const TimeSeriesChartBase = forwardRef<ChartInstance, TimeChartProps>(fun |
278 | 280 | noDataOption, |
279 | 281 | __experimentalEChartsOptionsOverride, |
280 | 282 | noDataVariant, |
281 | | - timeZone, |
282 | 283 | isStackedBar, |
283 | 284 | enablePinning, |
284 | 285 | pinnedCrosshair, |
| 286 | + getTimezoneAwareAxisFormatter, |
285 | 287 | ]); |
286 | 288 |
|
287 | 289 | // Update adjacent charts so tooltip is unpinned when current chart is clicked. |
|
0 commit comments