@oanda/labs-order-book-widget 1.0.217 → 1.0.219

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,8 +10,9 @@ var _charts = require("echarts/charts");
10
10
  var _components = require("echarts/components");
11
11
  var echarts = _interopRequireWildcard(require("echarts/core"));
12
12
  var _renderers = require("echarts/renderers");
13
- var _react = _interopRequireWildcard(require("react"));
13
+ var _react = _interopRequireDefault(require("react"));
14
14
  var _getOption = require("./getOption");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
18
  echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _components.TooltipComponent, _components.TitleComponent, _renderers.CanvasRenderer, _charts.CustomChart, _components.MarkLineComponent, _components.ToolboxComponent, _components.DataZoomInsideComponent, _components.DatasetComponent]);
@@ -31,40 +32,10 @@ const Chart = _ref => {
31
32
  size
32
33
  } = (0, _labsWidgetCommon.useLayoutProvider)();
33
34
  const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
34
- const echartRef = (0, _react.useRef)(null);
35
- (0, _react.useEffect)(() => {
36
- if (echartRef.current) {
37
- const echartInstance = echartRef.current.getEchartsInstance();
38
- echartInstance.on('highlight', () => {
39
- if (echartInstance.getOption().color[0] === _labsWidgetCommon.colorPalette.bottleGreenLight) {
40
- echartInstance.setOption({
41
- color: [_labsWidgetCommon.colorPalette.bottleGreenLight70, isDark ? _labsWidgetCommon.colorPalette.orange70 : _labsWidgetCommon.colorPalette.raspberryDark70]
42
- });
43
- }
44
- });
45
- echartInstance.on('globalout', () => {
46
- echartInstance.setOption({
47
- color: [_labsWidgetCommon.colorPalette.bottleGreenLight, isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.raspberryDark]
48
- });
49
- });
50
- }
51
- }, [echartRef, isDark]);
52
- (0, _react.useEffect)(() => {
53
- if (echartRef.current) {
54
- const echartInstance = echartRef.current.getEchartsInstance();
55
- echartInstance.setOption((0, _getOption.getResponsiveOption)({
56
- isDark,
57
- isOrderBook,
58
- isDesktop,
59
- lang
60
- }));
61
- }
62
- }, [echartRef, isDesktop, isDark, isOrderBook, lang]);
63
35
  return _react.default.createElement("div", {
64
36
  className: "lw-relative lw-w-full",
65
37
  "data-testid": "order-book-chart"
66
38
  }, _react.default.createElement("div", null, data && _react.default.createElement(_labsWidgetCommon.BaseChart, {
67
- ref: echartRef,
68
39
  chartHeight: isDesktop ? 450 : 390,
69
40
  echarts: echarts,
70
41
  isDark: isDark,
@@ -75,7 +46,19 @@ const Chart = _ref => {
75
46
  isOrderBook,
76
47
  isDesktop,
77
48
  lang
78
- })
49
+ }),
50
+ onEvents: {
51
+ highlight: (_params, instance) => {
52
+ instance.setOption({
53
+ color: [_labsWidgetCommon.colorPalette.bottleGreenLight70, isDark ? _labsWidgetCommon.colorPalette.orange70 : _labsWidgetCommon.colorPalette.raspberryDark70]
54
+ });
55
+ },
56
+ globalout: (_params, instance) => {
57
+ instance.setOption({
58
+ color: [_labsWidgetCommon.colorPalette.bottleGreenLight, isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.raspberryDark]
59
+ });
60
+ }
61
+ }
79
62
  })));
80
63
  };
81
64
  exports.Chart = Chart;
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_getOption","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","use","GridSimpleComponent","GraphicComponent","TooltipComponent","TitleComponent","CanvasRenderer","CustomChart","MarkLineComponent","ToolboxComponent","DataZoomInsideComponent","DatasetComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","data","isOrderBook","precision","lang","useLocale","isDark","size","useLayoutProvider","isDesktop","Size","DESKTOP","echartRef","useRef","useEffect","current","echartInstance","getEchartsInstance","on","getOption","color","colorPalette","bottleGreenLight","setOption","bottleGreenLight70","orange70","raspberryDark70","orange","raspberryDark","getResponsiveOption","createElement","className","BaseChart","ref","chartHeight","option","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/Chart.tsx"],"sourcesContent":["import type { BaseChartRef } from '@oanda/labs-widget-common';\nimport {\n BaseChart,\n colorPalette,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { CustomChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TitleComponent,\n ToolboxComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useEffect, useRef } from 'react';\n\nimport { getOption, getResponsiveOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n CanvasRenderer,\n CustomChart,\n MarkLineComponent,\n ToolboxComponent,\n DataZoomInsideComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nexport const Chart = ({ data, isOrderBook, precision }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const echartRef = useRef<BaseChartRef | null>(null);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.on('highlight', () => {\n if (\n (echartInstance.getOption().color as echarts.Color[])[0] ===\n colorPalette.bottleGreenLight\n ) {\n echartInstance.setOption({\n color: [\n colorPalette.bottleGreenLight70,\n isDark ? colorPalette.orange70 : colorPalette.raspberryDark70,\n ],\n });\n }\n });\n\n echartInstance.on('globalout', () => {\n echartInstance.setOption({\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n });\n });\n }\n }, [echartRef, isDark]);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.setOption(\n getResponsiveOption({\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })\n );\n }\n }, [echartRef, isDesktop, isDark, isOrderBook, lang]);\n\n return (\n <div className=\"lw-relative lw-w-full\" data-testid=\"order-book-chart\">\n <div>\n {data && (\n <BaseChart\n ref={echartRef}\n chartHeight={isDesktop ? 450 : 390}\n echarts={echarts}\n isDark={isDark}\n option={getOption({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_interopRequireDefault","_getOption","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","use","GridSimpleComponent","GraphicComponent","TooltipComponent","TitleComponent","CanvasRenderer","CustomChart","MarkLineComponent","ToolboxComponent","DataZoomInsideComponent","DatasetComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","data","isOrderBook","precision","lang","useLocale","isDark","size","useLayoutProvider","isDesktop","Size","DESKTOP","createElement","className","BaseChart","chartHeight","option","getOption","onEvents","highlight","_params","instance","setOption","color","colorPalette","bottleGreenLight70","orange70","raspberryDark70","globalout","bottleGreenLight","orange","raspberryDark","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n colorPalette,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CustomChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TitleComponent,\n ToolboxComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n CanvasRenderer,\n CustomChart,\n MarkLineComponent,\n ToolboxComponent,\n DataZoomInsideComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nexport const Chart = ({ data, isOrderBook, precision }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div className=\"lw-relative lw-w-full\" data-testid=\"order-book-chart\">\n <div>\n {data && (\n <BaseChart\n chartHeight={isDesktop ? 450 : 390}\n echarts={echarts}\n isDark={isDark}\n option={getOption({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n color: [\n colorPalette.bottleGreenLight70,\n isDark\n ? colorPalette.orange70\n : colorPalette.raspberryDark70,\n ],\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n });\n },\n }}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,120 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getResponsiveOption = exports.getOption = void 0;
6
+ exports.getOption = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
8
  var _constants = require("./constants");
9
9
  var _formatters = require("./formatters");
10
- const getResponsiveOption = _ref => {
11
- let {
12
- isDark,
13
- isOrderBook,
14
- isDesktop,
15
- lang
16
- } = _ref;
17
- const desktopGridLines = (0, _labsWidgetCommon.getGridLines)({
18
- isDark,
19
- chartWidth: _constants.CHART_WIDTH,
20
- chartHeight: isDesktop ? _constants.CHART_HEIGHT_DESKTOP : _constants.CHART_HEIGHT_MOBILE,
21
- xLabelsSize: isDesktop ? _constants.X_LABEL_SIZE : _constants.X_LABEL_SIZE + _constants.ZOOM_CONTROL_HEIGHT,
22
- yLabelSize: isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE,
23
- bottomLeftBox: isDesktop,
24
- marginBottom: isDesktop ? 0 : _constants.ZOOM_CONTROL_HEIGHT
25
- });
26
- return {
27
- grid: [{
28
- name: 'main-grid',
29
- top: '48px',
30
- left: '0px',
31
- right: `${isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE}px`,
32
- bottom: `${isDesktop ? _constants.X_LABEL_SIZE : _constants.X_LABEL_SIZE + _constants.ZOOM_CONTROL_HEIGHT}px`
33
- }],
34
- yAxis: {
35
- axisLabel: {
36
- margin: isDesktop ? 10 : 0
37
- }
38
- },
39
- series: [{
40
- type: 'custom',
41
- name: 'current-price',
42
- id: 'current-price',
43
- markLine: {
44
- label: {
45
- padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5]
46
- }
47
- }
48
- }],
49
- graphic: [...desktopGridLines, {
50
- type: 'group',
51
- left: '8px',
52
- top: '56px',
53
- silent: true,
54
- children: [{
55
- type: 'rect',
56
- z: 100,
57
- left: 'center',
58
- top: 'middle',
59
- shape: {
60
- width: 70,
61
- height: 30
62
- },
63
- style: {
64
- fill: isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white,
65
- shadowBlur: 8,
66
- shadowOffsetX: 0,
67
- shadowOffsetY: 1,
68
- shadowColor: 'rgba(0,0,0,0.1)'
69
- }
70
- }, {
71
- type: 'text',
72
- z: 100,
73
- left: 'center',
74
- top: 'middle',
75
- style: {
76
- fill: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black,
77
- width: 70,
78
- height: 30,
79
- text: lang(isOrderBook ? 'sell' : 'short')
80
- }
81
- }]
82
- }, {
83
- type: 'group',
84
- right: `${(isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE) + 8}px'`,
85
- top: '56px',
86
- silent: true,
87
- children: [{
88
- type: 'rect',
89
- z: 100,
90
- right: 'center',
91
- top: 'middle',
92
- shape: {
93
- width: 70,
94
- height: 30
95
- },
96
- style: {
97
- fill: isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white,
98
- shadowBlur: 8,
99
- shadowOffsetX: 0,
100
- shadowOffsetY: 1,
101
- shadowColor: 'rgba(0,0,0,0.1)'
102
- }
103
- }, {
104
- type: 'text',
105
- z: 100,
106
- right: 'center',
107
- top: 'middle',
108
- style: {
109
- fill: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black,
110
- width: 70,
111
- height: 30,
112
- text: lang(isOrderBook ? 'buy' : 'long')
113
- }
114
- }]
115
- }]
116
- };
117
- };
118
- exports.getResponsiveOption = getResponsiveOption;
119
- const getOption = _ref2 => {
10
+ const getOption = _ref => {
120
11
  let {
121
12
  data,
122
13
  precision,
@@ -124,7 +15,7 @@ const getOption = _ref2 => {
124
15
  isOrderBook,
125
16
  isDesktop,
126
17
  lang
127
- } = _ref2;
18
+ } = _ref;
128
19
  const buckets = data.orderPositionBooks[0]?.buckets || [];
129
20
  const bucketWidth = data.orderPositionBooks[0]?.bucketWidth;
130
21
  const price = data.orderPositionBooks[0]?.price;
@@ -135,17 +26,30 @@ const getOption = _ref2 => {
135
26
  const max = Math.max(...dataset.map(item => item[1]));
136
27
  const min = Math.abs(Math.min(...dataset.map(item => item[2])));
137
28
  const range = max > min ? max : min;
29
+ const gridLines = (0, _labsWidgetCommon.getGridLines)({
30
+ isDark,
31
+ chartWidth: _constants.CHART_WIDTH,
32
+ chartHeight: isDesktop ? _constants.CHART_HEIGHT_DESKTOP : _constants.CHART_HEIGHT_MOBILE,
33
+ xLabelsSize: isDesktop ? _constants.X_LABEL_SIZE : _constants.X_LABEL_SIZE + _constants.ZOOM_CONTROL_HEIGHT,
34
+ yLabelSize: isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE,
35
+ bottomLeftBox: isDesktop,
36
+ marginBottom: isDesktop ? 0 : _constants.ZOOM_CONTROL_HEIGHT
37
+ });
138
38
  return {
139
39
  animation: false,
140
40
  color: [_labsWidgetCommon.colorPalette.bottleGreenLight, isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.raspberryDark],
141
41
  title: {
142
42
  text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),
143
43
  padding: 20,
44
+ top: 0,
45
+ left: 0,
144
46
  textStyle: {
145
47
  fontSize: 14
146
48
  }
147
49
  },
148
50
  toolbox: {
51
+ bottom: -4,
52
+ right: -4,
149
53
  feature: (0, _labsWidgetCommon.getZoomControls)({
150
54
  resetStartValue: zoomInitialStartValue,
151
55
  resetEndValue: zoomInitialEndValue
@@ -310,13 +214,81 @@ const getOption = _ref2 => {
310
214
  overflow: 'truncate',
311
215
  width: isDesktop ? undefined : _constants.Y_LABEL_SIZE_MOBILE,
312
216
  color: isDark ? _labsWidgetCommon.colorPalette.black : _labsWidgetCommon.colorPalette.white,
313
- backgroundColor: isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.bottleGreenDark
217
+ backgroundColor: isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.bottleGreenDark,
218
+ padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5]
314
219
  },
315
220
  data: [{
316
221
  yAxis: price
317
222
  }]
318
223
  },
319
224
  renderItem: () => null
225
+ }],
226
+ graphic: [...gridLines, {
227
+ type: 'group',
228
+ left: '8px',
229
+ top: '56px',
230
+ silent: true,
231
+ children: [{
232
+ type: 'rect',
233
+ z: 100,
234
+ left: 'center',
235
+ top: 'middle',
236
+ shape: {
237
+ width: 70,
238
+ height: 30
239
+ },
240
+ style: {
241
+ fill: isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white,
242
+ shadowBlur: 8,
243
+ shadowOffsetX: 0,
244
+ shadowOffsetY: 1,
245
+ shadowColor: 'rgba(0,0,0,0.1)'
246
+ }
247
+ }, {
248
+ type: 'text',
249
+ z: 100,
250
+ left: 'center',
251
+ top: 'middle',
252
+ style: {
253
+ fill: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black,
254
+ width: 70,
255
+ height: 30,
256
+ text: lang(isOrderBook ? 'sell' : 'short')
257
+ }
258
+ }]
259
+ }, {
260
+ type: 'group',
261
+ right: `${(isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE) + 8}px'`,
262
+ top: '56px',
263
+ silent: true,
264
+ children: [{
265
+ type: 'rect',
266
+ z: 100,
267
+ right: 'center',
268
+ top: 'middle',
269
+ shape: {
270
+ width: 70,
271
+ height: 30
272
+ },
273
+ style: {
274
+ fill: isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white,
275
+ shadowBlur: 8,
276
+ shadowOffsetX: 0,
277
+ shadowOffsetY: 1,
278
+ shadowColor: 'rgba(0,0,0,0.1)'
279
+ }
280
+ }, {
281
+ type: 'text',
282
+ z: 100,
283
+ right: 'center',
284
+ top: 'middle',
285
+ style: {
286
+ fill: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black,
287
+ width: 70,
288
+ height: 30,
289
+ text: lang(isOrderBook ? 'buy' : 'long')
290
+ }
291
+ }]
320
292
  }]
321
293
  };
322
294
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_formatters","getResponsiveOption","_ref","isDark","isOrderBook","isDesktop","lang","desktopGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT_DESKTOP","CHART_HEIGHT_MOBILE","xLabelsSize","X_LABEL_SIZE","ZOOM_CONTROL_HEIGHT","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","bottomLeftBox","marginBottom","grid","name","top","left","right","bottom","yAxis","axisLabel","margin","series","type","id","markLine","label","padding","graphic","silent","children","z","shape","width","height","style","fill","colorPalette","darkGray","white","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","black","text","exports","getOption","_ref2","data","precision","buckets","orderPositionBooks","bucketWidth","price","bucketPrecision","toString","split","length","dataset","map","item","Number","longCountPercent","shortCountPercent","zoomInitialStartValue","INITIAL_BARS","zoomInitialEndValue","max","Math","min","abs","range","animation","color","bottleGreenLight","orange","raspberryDark","title","toUpperCase","textStyle","fontSize","toolbox","feature","getZoomControls","resetStartValue","resetEndValue","dataZoom","realtime","startValue","endValue","yAxisIndex","minValueSpan","tooltip","trigger","axisPointer","axis","formatter","val","tooltipFormatter","extraCssText","xAxis","floor","ceil","axisTick","show","axisLine","value","hideOverlap","alignMaxLabel","alignMinLabel","position","overflow","showMaxLabel","showMinLabel","toFixed","source","clip","encode","x","y","renderItem","params","api","yValue","xStart","coord","xEnd","bucketWidthHeight","size","rectShape","emphasis","visual","symbol","symbolOffset","symbolRotate","symbolSize","lineStyle","bottleGreenDark","distance","undefined","backgroundColor"],"sources":["../../../../../src/OrderBookWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n getGridLines,\n getZoomControls,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT_DESKTOP,\n CHART_HEIGHT_MOBILE,\n CHART_WIDTH,\n INITIAL_BARS,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n ZOOM_CONTROL_HEIGHT,\n} from './constants';\nimport { tooltipFormatter } from './formatters';\nimport type { GetOptionType, GetResponsiveOptionsProps } from './types';\n\nexport const getResponsiveOption = ({\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}: GetResponsiveOptionsProps) => {\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,\n xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: isDesktop,\n marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT,\n });\n\n return {\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n yAxis: {\n axisLabel: {\n margin: isDesktop ? 10 : 0,\n },\n },\n series: [\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n label: {\n padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5],\n },\n },\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n type: 'group',\n left: '8px',\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n left: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n left: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'sell' : 'short'),\n },\n },\n ],\n },\n {\n type: 'group',\n right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'buy' : 'long'),\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const getOption: GetOptionType = ({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}) => {\n const buckets = data.orderPositionBooks[0]?.buckets || [];\n const bucketWidth = data.orderPositionBooks[0]?.bucketWidth!;\n const price = data.orderPositionBooks[0]?.price!;\n const bucketPrecision = bucketWidth.toString().split('.')[1].length || 0;\n\n const dataset = buckets.map((item) => [\n item!.price,\n Number(item!.longCountPercent),\n Number(item!.shortCountPercent) * -1,\n ]);\n\n const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;\n const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;\n\n const max = Math.max(...dataset.map((item) => item[1]));\n const min = Math.abs(Math.min(...dataset.map((item) => item[2])));\n\n const range = max > min ? max : min;\n\n return {\n animation: false,\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n title: {\n text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),\n padding: 20,\n textStyle: {\n fontSize: 14,\n },\n },\n toolbox: {\n feature: getZoomControls({\n resetStartValue: zoomInitialStartValue,\n resetEndValue: zoomInitialEndValue,\n }),\n },\n dataZoom: [\n {\n type: 'inside',\n realtime: true,\n startValue: zoomInitialStartValue,\n endValue: zoomInitialEndValue,\n\n yAxisIndex: 0,\n minValueSpan: 10 * bucketWidth,\n },\n ],\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'y',\n },\n formatter: (val) =>\n tooltipFormatter({\n data: (val as { data: number[] }[])[0].data,\n precision: bucketPrecision,\n isOrderBook,\n lang,\n }),\n extraCssText: 'z-index: 1',\n },\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n xAxis: {\n type: 'value',\n min: Math.floor(range * -1.1),\n max: Math.ceil(range * 1.1),\n axisTick: { show: false },\n axisLine: { show: false },\n axisLabel: {\n padding: [7, 12, 0, 12],\n formatter: (value) => (value === 0 ? '%' : `${Math.abs(value)}%`),\n hideOverlap: true,\n alignMaxLabel: 'right',\n alignMinLabel: 'left',\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n overflow: 'truncate',\n width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,\n margin: isDesktop ? 10 : 0,\n showMaxLabel: false,\n showMinLabel: false,\n padding: [0, 0, 0, 10],\n formatter: (value) => value.toFixed(bucketPrecision),\n },\n },\n dataset: {\n source: dataset,\n },\n series: [\n {\n type: 'custom',\n name: 'sell-short',\n id: 'sell-short',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 1,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(1), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] + 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: colorPalette.bottleGreenLight,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'buy-long',\n id: 'buy-long',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 2,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(2), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] - 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: isDark ? colorPalette.orange : colorPalette.raspberryDark,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n animation: false,\n silent: true,\n precision,\n symbol: ['none', 'triangle'],\n symbolOffset: [0, [0, isDesktop ? 0 : -10]] as unknown as number,\n symbolRotate: 90,\n symbolSize: [20, 10],\n lineStyle: {\n color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,\n width: 1,\n },\n label: {\n distance: isDesktop ? 5 : -5,\n overflow: 'truncate',\n width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,\n color: isDark ? colorPalette.black : colorPalette.white,\n backgroundColor: isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenDark,\n },\n data: [\n {\n yAxis: price,\n },\n ],\n },\n renderItem: () => null,\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_formatters","getOption","_ref","data","precision","isDark","isOrderBook","isDesktop","lang","buckets","orderPositionBooks","bucketWidth","price","bucketPrecision","toString","split","length","dataset","map","item","Number","longCountPercent","shortCountPercent","zoomInitialStartValue","INITIAL_BARS","zoomInitialEndValue","max","Math","min","abs","range","gridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT_DESKTOP","CHART_HEIGHT_MOBILE","xLabelsSize","X_LABEL_SIZE","ZOOM_CONTROL_HEIGHT","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","bottomLeftBox","marginBottom","animation","color","colorPalette","bottleGreenLight","orange","raspberryDark","title","text","toUpperCase","padding","top","left","textStyle","fontSize","toolbox","bottom","right","feature","getZoomControls","resetStartValue","resetEndValue","dataZoom","type","realtime","startValue","endValue","yAxisIndex","minValueSpan","tooltip","trigger","axisPointer","axis","formatter","val","tooltipFormatter","extraCssText","grid","name","xAxis","floor","ceil","axisTick","show","axisLine","axisLabel","value","hideOverlap","alignMaxLabel","alignMinLabel","yAxis","position","overflow","width","margin","showMaxLabel","showMinLabel","toFixed","source","series","id","clip","encode","x","y","renderItem","params","api","yValue","xStart","coord","xEnd","bucketWidthHeight","size","height","rectShape","shape","emphasis","style","fill","visual","markLine","silent","symbol","symbolOffset","symbolRotate","symbolSize","lineStyle","bottleGreenDark","label","distance","undefined","black","white","backgroundColor","graphic","children","z","darkGray","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n getGridLines,\n getZoomControls,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT_DESKTOP,\n CHART_HEIGHT_MOBILE,\n CHART_WIDTH,\n INITIAL_BARS,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n ZOOM_CONTROL_HEIGHT,\n} from './constants';\nimport { tooltipFormatter } from './formatters';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = ({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}) => {\n const buckets = data.orderPositionBooks[0]?.buckets || [];\n const bucketWidth = data.orderPositionBooks[0]?.bucketWidth!;\n const price = data.orderPositionBooks[0]?.price!;\n const bucketPrecision = bucketWidth.toString().split('.')[1].length || 0;\n\n const dataset = buckets.map((item) => [\n item!.price,\n Number(item!.longCountPercent),\n Number(item!.shortCountPercent) * -1,\n ]);\n\n const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;\n const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;\n\n const max = Math.max(...dataset.map((item) => item[1]));\n const min = Math.abs(Math.min(...dataset.map((item) => item[2])));\n\n const range = max > min ? max : min;\n\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,\n xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: isDesktop,\n marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT,\n });\n\n return {\n animation: false,\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n title: {\n text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),\n padding: 20,\n top: 0,\n left: 0,\n textStyle: {\n fontSize: 14,\n },\n },\n toolbox: {\n bottom: -4,\n right: -4,\n feature: getZoomControls({\n resetStartValue: zoomInitialStartValue,\n resetEndValue: zoomInitialEndValue,\n }),\n },\n dataZoom: [\n {\n type: 'inside',\n realtime: true,\n startValue: zoomInitialStartValue,\n endValue: zoomInitialEndValue,\n\n yAxisIndex: 0,\n minValueSpan: 10 * bucketWidth,\n },\n ],\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'y',\n },\n formatter: (val) =>\n tooltipFormatter({\n data: (val as { data: number[] }[])[0].data,\n precision: bucketPrecision,\n isOrderBook,\n lang,\n }),\n extraCssText: 'z-index: 1',\n },\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n xAxis: {\n type: 'value',\n min: Math.floor(range * -1.1),\n max: Math.ceil(range * 1.1),\n axisTick: { show: false },\n axisLine: { show: false },\n axisLabel: {\n padding: [7, 12, 0, 12],\n formatter: (value) => (value === 0 ? '%' : `${Math.abs(value)}%`),\n hideOverlap: true,\n alignMaxLabel: 'right',\n alignMinLabel: 'left',\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n overflow: 'truncate',\n width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,\n margin: isDesktop ? 10 : 0,\n showMaxLabel: false,\n showMinLabel: false,\n padding: [0, 0, 0, 10],\n formatter: (value) => value.toFixed(bucketPrecision),\n },\n },\n dataset: {\n source: dataset,\n },\n series: [\n {\n type: 'custom',\n name: 'sell-short',\n id: 'sell-short',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 1,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(1), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] + 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: colorPalette.bottleGreenLight,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'buy-long',\n id: 'buy-long',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 2,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(2), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] - 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: isDark ? colorPalette.orange : colorPalette.raspberryDark,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n animation: false,\n silent: true,\n precision,\n symbol: ['none', 'triangle'],\n symbolOffset: [0, [0, isDesktop ? 0 : -10]] as unknown as number,\n symbolRotate: 90,\n symbolSize: [20, 10],\n lineStyle: {\n color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,\n width: 1,\n },\n label: {\n distance: isDesktop ? 5 : -5,\n overflow: 'truncate',\n width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,\n color: isDark ? colorPalette.black : colorPalette.white,\n backgroundColor: isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenDark,\n padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5],\n },\n data: [\n {\n yAxis: price,\n },\n ],\n },\n renderItem: () => null,\n },\n ],\n graphic: [\n ...gridLines,\n {\n type: 'group',\n left: '8px',\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n left: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n left: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'sell' : 'short'),\n },\n },\n ],\n },\n {\n type: 'group',\n right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'buy' : 'long'),\n },\n },\n ],\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/OrderBookWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { GetOrderPositionBooksQuery } from '../../../gql/types/graphql';\n\nexport interface ChartProps {\n data: GetOrderPositionBooksQuery;\n isOrderBook: boolean;\n precision: number;\n}\n\nexport interface GetResponsiveOptionsProps {\n isDesktop: boolean;\n isDark: boolean;\n isOrderBook: boolean;\n lang: (label: string) => string;\n}\n\nexport interface GetOptionProps {\n data: GetOrderPositionBooksQuery;\n precision: number;\n isDark: boolean;\n isOrderBook: boolean;\n isDesktop: boolean;\n lang: (label: string) => string;\n}\n\nexport type GetOptionType = (props: GetOptionProps) => EChartsOption;\n\nexport type TooltipFormatterType = (props: {\n data: number[];\n precision: number;\n isOrderBook: boolean;\n lang: (label: string) => string;\n}) => string;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/OrderBookWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { GetOrderPositionBooksQuery } from '../../../gql/types/graphql';\n\nexport interface ChartProps {\n data: GetOrderPositionBooksQuery;\n isOrderBook: boolean;\n precision: number;\n}\n\nexport interface GetOptionProps {\n data: GetOrderPositionBooksQuery;\n precision: number;\n isDark: boolean;\n isOrderBook: boolean;\n isDesktop: boolean;\n lang: (label: string) => string;\n}\n\nexport type GetOptionType = (props: GetOptionProps) => EChartsOption;\n\nexport type TooltipFormatterType = (props: {\n data: number[];\n precision: number;\n isOrderBook: boolean;\n lang: (label: string) => string;\n}) => string;\n"],"mappings":"","ignoreList":[]}
@@ -4,8 +4,8 @@ import { CustomChart } from 'echarts/charts';
4
4
  import { DatasetComponent, DataZoomInsideComponent, GraphicComponent, GridSimpleComponent, MarkLineComponent, TitleComponent, ToolboxComponent, TooltipComponent } from 'echarts/components';
5
5
  import * as echarts from 'echarts/core';
6
6
  import { CanvasRenderer } from 'echarts/renderers';
7
- import React, { useEffect, useRef } from 'react';
8
- import { getOption, getResponsiveOption } from './getOption';
7
+ import React from 'react';
8
+ import { getOption } from './getOption';
9
9
  echarts.use([GridSimpleComponent, GraphicComponent, TooltipComponent, TitleComponent, CanvasRenderer, CustomChart, MarkLineComponent, ToolboxComponent, DataZoomInsideComponent, DatasetComponent]);
10
10
  echarts.registerTheme('dark_theme', getChartTheme(Theme.Dark));
11
11
  echarts.registerTheme('light_theme', getChartTheme(Theme.Light));
@@ -23,40 +23,10 @@ export const Chart = _ref => {
23
23
  size
24
24
  } = useLayoutProvider();
25
25
  const isDesktop = size === Size.DESKTOP;
26
- const echartRef = useRef(null);
27
- useEffect(() => {
28
- if (echartRef.current) {
29
- const echartInstance = echartRef.current.getEchartsInstance();
30
- echartInstance.on('highlight', () => {
31
- if (echartInstance.getOption().color[0] === colorPalette.bottleGreenLight) {
32
- echartInstance.setOption({
33
- color: [colorPalette.bottleGreenLight70, isDark ? colorPalette.orange70 : colorPalette.raspberryDark70]
34
- });
35
- }
36
- });
37
- echartInstance.on('globalout', () => {
38
- echartInstance.setOption({
39
- color: [colorPalette.bottleGreenLight, isDark ? colorPalette.orange : colorPalette.raspberryDark]
40
- });
41
- });
42
- }
43
- }, [echartRef, isDark]);
44
- useEffect(() => {
45
- if (echartRef.current) {
46
- const echartInstance = echartRef.current.getEchartsInstance();
47
- echartInstance.setOption(getResponsiveOption({
48
- isDark,
49
- isOrderBook,
50
- isDesktop,
51
- lang
52
- }));
53
- }
54
- }, [echartRef, isDesktop, isDark, isOrderBook, lang]);
55
26
  return React.createElement("div", {
56
27
  className: "lw-relative lw-w-full",
57
28
  "data-testid": "order-book-chart"
58
29
  }, React.createElement("div", null, data && React.createElement(BaseChart, {
59
- ref: echartRef,
60
30
  chartHeight: isDesktop ? 450 : 390,
61
31
  echarts: echarts,
62
32
  isDark: isDark,
@@ -67,7 +37,19 @@ export const Chart = _ref => {
67
37
  isOrderBook,
68
38
  isDesktop,
69
39
  lang
70
- })
40
+ }),
41
+ onEvents: {
42
+ highlight: (_params, instance) => {
43
+ instance.setOption({
44
+ color: [colorPalette.bottleGreenLight70, isDark ? colorPalette.orange70 : colorPalette.raspberryDark70]
45
+ });
46
+ },
47
+ globalout: (_params, instance) => {
48
+ instance.setOption({
49
+ color: [colorPalette.bottleGreenLight, isDark ? colorPalette.orange : colorPalette.raspberryDark]
50
+ });
51
+ }
52
+ }
71
53
  })));
72
54
  };
73
55
  //# sourceMappingURL=Chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["BaseChart","colorPalette","getChartTheme","Size","Theme","useLayoutProvider","useLocale","CustomChart","DatasetComponent","DataZoomInsideComponent","GraphicComponent","GridSimpleComponent","MarkLineComponent","TitleComponent","ToolboxComponent","TooltipComponent","echarts","CanvasRenderer","React","useEffect","useRef","getOption","getResponsiveOption","use","registerTheme","Dark","Light","Chart","_ref","data","isOrderBook","precision","lang","isDark","size","isDesktop","DESKTOP","echartRef","current","echartInstance","getEchartsInstance","on","color","bottleGreenLight","setOption","bottleGreenLight70","orange70","raspberryDark70","orange","raspberryDark","createElement","className","ref","chartHeight","option"],"sources":["../../../../../src/OrderBookWidget/components/Chart/Chart.tsx"],"sourcesContent":["import type { BaseChartRef } from '@oanda/labs-widget-common';\nimport {\n BaseChart,\n colorPalette,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { CustomChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TitleComponent,\n ToolboxComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useEffect, useRef } from 'react';\n\nimport { getOption, getResponsiveOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n CanvasRenderer,\n CustomChart,\n MarkLineComponent,\n ToolboxComponent,\n DataZoomInsideComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nexport const Chart = ({ data, isOrderBook, precision }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const echartRef = useRef<BaseChartRef | null>(null);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.on('highlight', () => {\n if (\n (echartInstance.getOption().color as echarts.Color[])[0] ===\n colorPalette.bottleGreenLight\n ) {\n echartInstance.setOption({\n color: [\n colorPalette.bottleGreenLight70,\n isDark ? colorPalette.orange70 : colorPalette.raspberryDark70,\n ],\n });\n }\n });\n\n echartInstance.on('globalout', () => {\n echartInstance.setOption({\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n });\n });\n }\n }, [echartRef, isDark]);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.setOption(\n getResponsiveOption({\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })\n );\n }\n }, [echartRef, isDesktop, isDark, isOrderBook, lang]);\n\n return (\n <div className=\"lw-relative lw-w-full\" data-testid=\"order-book-chart\">\n <div>\n {data && (\n <BaseChart\n ref={echartRef}\n chartHeight={isDesktop ? 450 : 390}\n echarts={echarts}\n isDark={isDark}\n option={getOption({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["BaseChart","colorPalette","getChartTheme","Size","Theme","useLayoutProvider","useLocale","CustomChart","DatasetComponent","DataZoomInsideComponent","GraphicComponent","GridSimpleComponent","MarkLineComponent","TitleComponent","ToolboxComponent","TooltipComponent","echarts","CanvasRenderer","React","getOption","use","registerTheme","Dark","Light","Chart","_ref","data","isOrderBook","precision","lang","isDark","size","isDesktop","DESKTOP","createElement","className","chartHeight","option","onEvents","highlight","_params","instance","setOption","color","bottleGreenLight70","orange70","raspberryDark70","globalout","bottleGreenLight","orange","raspberryDark"],"sources":["../../../../../src/OrderBookWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n colorPalette,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CustomChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TitleComponent,\n ToolboxComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n CanvasRenderer,\n CustomChart,\n MarkLineComponent,\n ToolboxComponent,\n DataZoomInsideComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nexport const Chart = ({ data, isOrderBook, precision }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div className=\"lw-relative lw-w-full\" data-testid=\"order-book-chart\">\n <div>\n {data && (\n <BaseChart\n chartHeight={isDesktop ? 450 : 390}\n echarts={echarts}\n isDark={isDark}\n option={getOption({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n color: [\n colorPalette.bottleGreenLight70,\n isDark\n ? colorPalette.orange70\n : colorPalette.raspberryDark70,\n ],\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n });\n },\n }}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,SACEA,SAAS,EACTC,YAAY,EACZC,aAAa,EACbC,IAAI,EACJC,KAAK,EACLC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SACEC,gBAAgB,EAChBC,uBAAuB,EACvBC,gBAAgB,EAChBC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,QACX,oBAAoB;AAC3B,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,aAAa;AAGvCH,OAAO,CAACI,GAAG,CAAC,CACVT,mBAAmB,EACnBD,gBAAgB,EAChBK,gBAAgB,EAChBF,cAAc,EACdI,cAAc,EACdV,WAAW,EACXK,iBAAiB,EACjBE,gBAAgB,EAChBL,uBAAuB,EACvBD,gBAAgB,CACjB,CAAC;AAEFQ,OAAO,CAACK,aAAa,CAAC,YAAY,EAAEnB,aAAa,CAACE,KAAK,CAACkB,IAAI,CAAC,CAAC;AAC9DN,OAAO,CAACK,aAAa,CAAC,aAAa,EAAEnB,aAAa,CAACE,KAAK,CAACmB,KAAK,CAAC,CAAC;AAEhE,OAAO,MAAMC,KAAK,GAAGC,IAAA,IAAkD;EAAA,IAAjD;IAAEC,IAAI;IAAEC,WAAW;IAAEC;EAAsB,CAAC,GAAAH,IAAA;EAChE,MAAM;IAAEI;EAAK,CAAC,GAAGvB,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEwB,MAAM;IAAEC;EAAK,CAAC,GAAG1B,iBAAiB,CAAC,CAAC;EAC5C,MAAM2B,SAAS,GAAGD,IAAI,KAAK5B,IAAI,CAAC8B,OAAO;EAEvC,OACEf,KAAA,CAAAgB,aAAA;IAAKC,SAAS,EAAC,uBAAuB;IAAC,eAAY;EAAkB,GACnEjB,KAAA,CAAAgB,aAAA,cACGR,IAAI,IACHR,KAAA,CAAAgB,aAAA,CAAClC,SAAS;IACRoC,WAAW,EAAEJ,SAAS,GAAG,GAAG,GAAG,GAAI;IACnChB,OAAO,EAAEA,OAAQ;IACjBc,MAAM,EAAEA,MAAO;IACfO,MAAM,EAAElB,SAAS,CAAC;MAChBO,IAAI;MACJE,SAAS;MACTE,MAAM;MACNH,WAAW;MACXK,SAAS;MACTH;IACF,CAAC,CAAE;IACHS,QAAQ,EAAE;MACRC,SAAS,EAAEA,CAACC,OAAgB,EAAEC,QAAqB,KAAK;QACtDA,QAAQ,CAACC,SAAS,CAAC;UACjBC,KAAK,EAAE,CACL1C,YAAY,CAAC2C,kBAAkB,EAC/Bd,MAAM,GACF7B,YAAY,CAAC4C,QAAQ,GACrB5C,YAAY,CAAC6C,eAAe;QAEpC,CAAC,CAAC;MACJ,CAAC;MACDC,SAAS,EAAEA,CAACP,OAAgB,EAAEC,QAAqB,KAAK;QACtDA,QAAQ,CAACC,SAAS,CAAC;UACjBC,KAAK,EAAE,CACL1C,YAAY,CAAC+C,gBAAgB,EAC7BlB,MAAM,GAAG7B,YAAY,CAACgD,MAAM,GAAGhD,YAAY,CAACiD,aAAa;QAE7D,CAAC,CAAC;MACJ;IACF;EAAE,CACH,CAEA,CACF,CAAC;AAEV,CAAC","ignoreList":[]}