@oanda/labs-volatility-chart-widget 1.0.166 → 1.0.168
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.
- package/CHANGELOG.md +1348 -0
- package/dist/main/VolatilityChartWidget/components/Chart/Chart.js +16 -36
- package/dist/main/VolatilityChartWidget/components/Chart/Chart.js.map +1 -1
- package/dist/main/VolatilityChartWidget/components/Chart/getOption.js +26 -4
- package/dist/main/VolatilityChartWidget/components/Chart/getOption.js.map +1 -1
- package/dist/main/VolatilityChartWidget/components/Chart/types.js.map +1 -1
- package/dist/module/VolatilityChartWidget/components/Chart/Chart.js +17 -38
- package/dist/module/VolatilityChartWidget/components/Chart/Chart.js.map +1 -1
- package/dist/module/VolatilityChartWidget/components/Chart/getOption.js +27 -5
- package/dist/module/VolatilityChartWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/VolatilityChartWidget/components/Chart/types.js.map +1 -1
- package/dist/types/VolatilityChartWidget/components/Chart/getOption.d.ts +2 -2
- package/dist/types/VolatilityChartWidget/components/Chart/types.d.ts +1 -1
- package/package.json +5 -5
- package/src/VolatilityChartWidget/components/Chart/Chart.tsx +21 -43
- package/src/VolatilityChartWidget/components/Chart/getOption.ts +22 -4
- package/src/VolatilityChartWidget/components/Chart/types.ts +2 -1
|
@@ -10,9 +10,10 @@ 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 =
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
14
|
var _constants = require("./constants");
|
|
15
15
|
var _getOption = require("./getOption");
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
17
|
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); }
|
|
17
18
|
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; }
|
|
18
19
|
echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _components.TooltipComponent, _components.TitleComponent, _charts.BarChart, _renderers.CanvasRenderer]);
|
|
@@ -27,50 +28,29 @@ const Chart = _ref => {
|
|
|
27
28
|
lang
|
|
28
29
|
} = (0, _monoI18n.useLocale)();
|
|
29
30
|
const {
|
|
30
|
-
isDark
|
|
31
|
-
size
|
|
31
|
+
isDark
|
|
32
32
|
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
isDark
|
|
42
|
-
}) : (0, _getOption.getMobileOption)({
|
|
43
|
-
timeUnit,
|
|
44
|
-
lang,
|
|
45
|
-
isDark
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
}, [echartRef, timeUnit, isDesktop, lang, isDark]);
|
|
49
|
-
(0, _react.useEffect)(() => {
|
|
50
|
-
if (echartRef.current) {
|
|
51
|
-
const echartInstance = echartRef.current.getEchartsInstance();
|
|
52
|
-
echartInstance.on('highlight', () => {
|
|
53
|
-
echartInstance.setOption({
|
|
33
|
+
return _react.default.createElement(_labsWidgetCommon.BaseChart, {
|
|
34
|
+
chartHeight: _constants.CHART_HEIGHT,
|
|
35
|
+
echarts: echarts,
|
|
36
|
+
isDark: isDark,
|
|
37
|
+
option: (0, _getOption.getOption)(values, lang, timeUnit, isDark),
|
|
38
|
+
onEvents: {
|
|
39
|
+
highlight: (_params, instance) => {
|
|
40
|
+
instance.setOption({
|
|
54
41
|
title: {
|
|
55
42
|
show: false
|
|
56
43
|
}
|
|
57
44
|
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
45
|
+
},
|
|
46
|
+
globalout: (_params, instance) => {
|
|
47
|
+
instance.setOption({
|
|
61
48
|
title: {
|
|
62
|
-
show:
|
|
49
|
+
show: true
|
|
63
50
|
}
|
|
64
51
|
});
|
|
65
|
-
}
|
|
52
|
+
}
|
|
66
53
|
}
|
|
67
|
-
}, [echartRef]);
|
|
68
|
-
return _react.default.createElement(_labsWidgetCommon.BaseChart, {
|
|
69
|
-
ref: echartRef,
|
|
70
|
-
chartHeight: _constants.CHART_HEIGHT,
|
|
71
|
-
echarts: echarts,
|
|
72
|
-
isDark: isDark,
|
|
73
|
-
option: (0, _getOption.getOption)(values, lang, timeUnit)
|
|
74
54
|
});
|
|
75
55
|
};
|
|
76
56
|
exports.Chart = Chart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_constants","_getOption","
|
|
1
|
+
{"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_interopRequireDefault","_constants","_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","BarChart","CanvasRenderer","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","values","timeUnit","lang","useLocale","isDark","useLayoutProvider","createElement","BaseChart","chartHeight","CHART_HEIGHT","option","getOption","onEvents","highlight","_params","instance","setOption","title","show","globalout","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { BarChart } from 'echarts/charts';\nimport {\n GraphicComponent,\n GridSimpleComponent,\n TitleComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n BarChart,\n CanvasRenderer,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values, timeUnit }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark } = useLayoutProvider();\n\n return (\n <BaseChart\n chartHeight={CHART_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n option={getOption(values, lang, timeUnit, isDark)}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: false,\n },\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: true,\n },\n });\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,7 +33,7 @@ const getDesktopOption = _ref2 => {
|
|
|
33
33
|
});
|
|
34
34
|
return {
|
|
35
35
|
title: {
|
|
36
|
-
|
|
36
|
+
text: ''
|
|
37
37
|
},
|
|
38
38
|
tooltip: {
|
|
39
39
|
position: undefined,
|
|
@@ -94,7 +94,7 @@ const getMobileOption = _ref3 => {
|
|
|
94
94
|
});
|
|
95
95
|
return {
|
|
96
96
|
title: {
|
|
97
|
-
|
|
97
|
+
text: lang('mobile_tooltip_placeholder')
|
|
98
98
|
},
|
|
99
99
|
tooltip: {
|
|
100
100
|
backgroundColor: 'transparent',
|
|
@@ -155,7 +155,7 @@ const pointFormatter = _ref4 => {
|
|
|
155
155
|
return point;
|
|
156
156
|
};
|
|
157
157
|
exports.pointFormatter = pointFormatter;
|
|
158
|
-
const getOption = (values, lang, timeUnit) => {
|
|
158
|
+
const getOption = (values, lang, timeUnit, isDark) => {
|
|
159
159
|
const pipsValues = values.map(_ref5 => {
|
|
160
160
|
let {
|
|
161
161
|
pips
|
|
@@ -177,7 +177,6 @@ const getOption = (values, lang, timeUnit) => {
|
|
|
177
177
|
title: {
|
|
178
178
|
left: 10,
|
|
179
179
|
top: 20,
|
|
180
|
-
text: lang('mobile_tooltip_placeholder'),
|
|
181
180
|
textStyle: {
|
|
182
181
|
fontFamily: 'Sofia W03',
|
|
183
182
|
fontWeight: 500,
|
|
@@ -232,6 +231,29 @@ const getOption = (values, lang, timeUnit) => {
|
|
|
232
231
|
data: pipsValues,
|
|
233
232
|
name: 'main',
|
|
234
233
|
type: 'bar'
|
|
234
|
+
}],
|
|
235
|
+
media: [{
|
|
236
|
+
query: {
|
|
237
|
+
minWidth: _labsWidgetCommon.DESKTOP_MIN_WIDTH
|
|
238
|
+
},
|
|
239
|
+
option: {
|
|
240
|
+
...getDesktopOption({
|
|
241
|
+
timeUnit,
|
|
242
|
+
lang,
|
|
243
|
+
isDark
|
|
244
|
+
})
|
|
245
|
+
}
|
|
246
|
+
}, {
|
|
247
|
+
query: {
|
|
248
|
+
maxWidth: _labsWidgetCommon.DESKTOP_MIN_WIDTH - 1
|
|
249
|
+
},
|
|
250
|
+
option: {
|
|
251
|
+
...getMobileOption({
|
|
252
|
+
timeUnit,
|
|
253
|
+
lang,
|
|
254
|
+
isDark
|
|
255
|
+
})
|
|
256
|
+
}
|
|
235
257
|
}]
|
|
236
258
|
};
|
|
237
259
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","tooltipFormatter","_ref","value","timeUnit","lang","data","tooltipLabels","axisValue","exports","getDesktopOption","_ref2","isDark","notDate","VolatilityChartTimeUnit","D","desktopGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE","yLabelSize","Y_LABEL_SIZE_DESKTOP","bottomLeftBox","title","show","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","themeColors","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","getLineCommons","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","Y_LABEL_SIZE_MOBILE","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","weeklyDataLabels","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","text","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n show: true,\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n text: lang('mobile_tooltip_placeholder'),\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","tooltipFormatter","_ref","value","timeUnit","lang","data","tooltipLabels","axisValue","exports","getDesktopOption","_ref2","isDark","notDate","VolatilityChartTimeUnit","D","desktopGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE","yLabelSize","Y_LABEL_SIZE_DESKTOP","bottomLeftBox","title","text","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","themeColors","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","getLineCommons","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","Y_LABEL_SIZE_MOBILE","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","weeklyDataLabels","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","show","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series","media","query","minWidth","DESKTOP_MIN_WIDTH","option","maxWidth"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n DESKTOP_MIN_WIDTH,\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n text: '',\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n text: lang('mobile_tooltip_placeholder'),\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit, isDark) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n media: [\n {\n query: {\n minWidth: DESKTOP_MIN_WIDTH,\n },\n option: {\n ...getDesktopOption({ timeUnit, lang, isDark }),\n },\n },\n {\n query: {\n maxWidth: DESKTOP_MIN_WIDTH - 1,\n },\n option: {\n ...getMobileOption({ timeUnit, lang, isDark }),\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["DaysOfWeekKeys","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":";;;;;;IAIYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":["DaysOfWeekKeys","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit,\n isDark: boolean\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":";;;;;;IAIYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { BaseChart, getChartTheme,
|
|
1
|
+
import { BaseChart, getChartTheme, Theme, useLayoutProvider } from '@oanda/labs-widget-common';
|
|
2
2
|
import { useLocale } from '@oanda/mono-i18n';
|
|
3
3
|
import { BarChart } from 'echarts/charts';
|
|
4
4
|
import { GraphicComponent, GridSimpleComponent, TitleComponent, TooltipComponent } from 'echarts/components';
|
|
5
5
|
import * as echarts from 'echarts/core';
|
|
6
6
|
import { CanvasRenderer } from 'echarts/renderers';
|
|
7
|
-
import React
|
|
7
|
+
import React from 'react';
|
|
8
8
|
import { CHART_HEIGHT } from './constants';
|
|
9
|
-
import {
|
|
9
|
+
import { getOption } from './getOption';
|
|
10
10
|
echarts.use([GridSimpleComponent, GraphicComponent, TooltipComponent, TitleComponent, BarChart, CanvasRenderer]);
|
|
11
11
|
echarts.registerTheme('dark_theme', getChartTheme(Theme.Dark));
|
|
12
12
|
echarts.registerTheme('light_theme', getChartTheme(Theme.Light));
|
|
@@ -19,50 +19,29 @@ const Chart = _ref => {
|
|
|
19
19
|
lang
|
|
20
20
|
} = useLocale();
|
|
21
21
|
const {
|
|
22
|
-
isDark
|
|
23
|
-
size
|
|
22
|
+
isDark
|
|
24
23
|
} = useLayoutProvider();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
isDark
|
|
34
|
-
}) : getMobileOption({
|
|
35
|
-
timeUnit,
|
|
36
|
-
lang,
|
|
37
|
-
isDark
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
}, [echartRef, timeUnit, isDesktop, lang, isDark]);
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
if (echartRef.current) {
|
|
43
|
-
const echartInstance = echartRef.current.getEchartsInstance();
|
|
44
|
-
echartInstance.on('highlight', () => {
|
|
45
|
-
echartInstance.setOption({
|
|
24
|
+
return React.createElement(BaseChart, {
|
|
25
|
+
chartHeight: CHART_HEIGHT,
|
|
26
|
+
echarts: echarts,
|
|
27
|
+
isDark: isDark,
|
|
28
|
+
option: getOption(values, lang, timeUnit, isDark),
|
|
29
|
+
onEvents: {
|
|
30
|
+
highlight: (_params, instance) => {
|
|
31
|
+
instance.setOption({
|
|
46
32
|
title: {
|
|
47
33
|
show: false
|
|
48
34
|
}
|
|
49
35
|
});
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
},
|
|
37
|
+
globalout: (_params, instance) => {
|
|
38
|
+
instance.setOption({
|
|
53
39
|
title: {
|
|
54
|
-
show:
|
|
40
|
+
show: true
|
|
55
41
|
}
|
|
56
42
|
});
|
|
57
|
-
}
|
|
43
|
+
}
|
|
58
44
|
}
|
|
59
|
-
}, [echartRef]);
|
|
60
|
-
return React.createElement(BaseChart, {
|
|
61
|
-
ref: echartRef,
|
|
62
|
-
chartHeight: CHART_HEIGHT,
|
|
63
|
-
echarts: echarts,
|
|
64
|
-
isDark: isDark,
|
|
65
|
-
option: getOption(values, lang, timeUnit)
|
|
66
45
|
});
|
|
67
46
|
};
|
|
68
47
|
export { Chart };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","
|
|
1
|
+
{"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","Theme","useLayoutProvider","useLocale","BarChart","GraphicComponent","GridSimpleComponent","TitleComponent","TooltipComponent","echarts","CanvasRenderer","React","CHART_HEIGHT","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","timeUnit","lang","isDark","createElement","chartHeight","option","onEvents","highlight","_params","instance","setOption","title","show","globalout"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { BarChart } from 'echarts/charts';\nimport {\n GraphicComponent,\n GridSimpleComponent,\n TitleComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n BarChart,\n CanvasRenderer,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values, timeUnit }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark } = useLayoutProvider();\n\n return (\n <BaseChart\n chartHeight={CHART_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n option={getOption(values, lang, timeUnit, isDark)}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: false,\n },\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: true,\n },\n });\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,SACEA,SAAS,EACTC,aAAa,EACbC,KAAK,EACLC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,gBAAgB,EAChBC,mBAAmB,EACnBC,cAAc,EACdC,gBAAgB,QACX,oBAAoB;AAC3B,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,SAAS,QAAQ,aAAa;AAGvCJ,OAAO,CAACK,GAAG,CAAC,CACVR,mBAAmB,EACnBD,gBAAgB,EAChBG,gBAAgB,EAChBD,cAAc,EACdH,QAAQ,EACRM,cAAc,CACf,CAAC;AAEFD,OAAO,CAACM,aAAa,CAAC,YAAY,EAAEf,aAAa,CAACC,KAAK,CAACe,IAAI,CAAC,CAAC;AAC9DP,OAAO,CAACM,aAAa,CAAC,aAAa,EAAEf,aAAa,CAACC,KAAK,CAACgB,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,MAAM;IAAEC;EAAqB,CAAC,GAAAF,IAAA;EAC7C,MAAM;IAAEG;EAAK,CAAC,GAAGnB,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEoB;EAAO,CAAC,GAAGrB,iBAAiB,CAAC,CAAC;EAEtC,OACES,KAAA,CAAAa,aAAA,CAACzB,SAAS;IACR0B,WAAW,EAAEb,YAAa;IAC1BH,OAAO,EAAEA,OAAQ;IACjBc,MAAM,EAAEA,MAAO;IACfG,MAAM,EAAEb,SAAS,CAACO,MAAM,EAAEE,IAAI,EAAED,QAAQ,EAAEE,MAAM,CAAE;IAClDI,QAAQ,EAAE;MACRC,SAAS,EAAEA,CAACC,OAAgB,EAAEC,QAAqB,KAAK;QACtDA,QAAQ,CAACC,SAAS,CAAC;UACjBC,KAAK,EAAE;YACLC,IAAI,EAAE;UACR;QACF,CAAC,CAAC;MACJ,CAAC;MACDC,SAAS,EAAEA,CAACL,OAAgB,EAAEC,QAAqB,KAAK;QACtDA,QAAQ,CAACC,SAAS,CAAC;UACjBC,KAAK,EAAE;YACLC,IAAI,EAAE;UACR;QACF,CAAC,CAAC;MACJ;IACF;EAAE,CACH,CAAC;AAEN,CAAC;AAED,SAASf,KAAK","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getGridLines, getLineCommons, themeColors } from '@oanda/labs-widget-common';
|
|
1
|
+
import { DESKTOP_MIN_WIDTH, getGridLines, getLineCommons, themeColors } from '@oanda/labs-widget-common';
|
|
2
2
|
import { VolatilityChartTimeUnit } from '../../../gql/types/graphql';
|
|
3
3
|
import { CHART_HEIGHT, CHART_WIDTH, tooltipLabels, weeklyDataLabels, X_LABEL_SIZE, Y_LABEL_SIZE_DESKTOP, Y_LABEL_SIZE_MOBILE } from './constants';
|
|
4
4
|
export const tooltipFormatter = _ref => {
|
|
@@ -26,7 +26,7 @@ export const getDesktopOption = _ref2 => {
|
|
|
26
26
|
});
|
|
27
27
|
return {
|
|
28
28
|
title: {
|
|
29
|
-
|
|
29
|
+
text: ''
|
|
30
30
|
},
|
|
31
31
|
tooltip: {
|
|
32
32
|
position: undefined,
|
|
@@ -86,7 +86,7 @@ export const getMobileOption = _ref3 => {
|
|
|
86
86
|
});
|
|
87
87
|
return {
|
|
88
88
|
title: {
|
|
89
|
-
|
|
89
|
+
text: lang('mobile_tooltip_placeholder')
|
|
90
90
|
},
|
|
91
91
|
tooltip: {
|
|
92
92
|
backgroundColor: 'transparent',
|
|
@@ -145,7 +145,7 @@ export const pointFormatter = _ref4 => {
|
|
|
145
145
|
}
|
|
146
146
|
return point;
|
|
147
147
|
};
|
|
148
|
-
export const getOption = (values, lang, timeUnit) => {
|
|
148
|
+
export const getOption = (values, lang, timeUnit, isDark) => {
|
|
149
149
|
const pipsValues = values.map(_ref5 => {
|
|
150
150
|
let {
|
|
151
151
|
pips
|
|
@@ -167,7 +167,6 @@ export const getOption = (values, lang, timeUnit) => {
|
|
|
167
167
|
title: {
|
|
168
168
|
left: 10,
|
|
169
169
|
top: 20,
|
|
170
|
-
text: lang('mobile_tooltip_placeholder'),
|
|
171
170
|
textStyle: {
|
|
172
171
|
fontFamily: 'Sofia W03',
|
|
173
172
|
fontWeight: 500,
|
|
@@ -222,6 +221,29 @@ export const getOption = (values, lang, timeUnit) => {
|
|
|
222
221
|
data: pipsValues,
|
|
223
222
|
name: 'main',
|
|
224
223
|
type: 'bar'
|
|
224
|
+
}],
|
|
225
|
+
media: [{
|
|
226
|
+
query: {
|
|
227
|
+
minWidth: DESKTOP_MIN_WIDTH
|
|
228
|
+
},
|
|
229
|
+
option: {
|
|
230
|
+
...getDesktopOption({
|
|
231
|
+
timeUnit,
|
|
232
|
+
lang,
|
|
233
|
+
isDark
|
|
234
|
+
})
|
|
235
|
+
}
|
|
236
|
+
}, {
|
|
237
|
+
query: {
|
|
238
|
+
maxWidth: DESKTOP_MIN_WIDTH - 1
|
|
239
|
+
},
|
|
240
|
+
option: {
|
|
241
|
+
...getMobileOption({
|
|
242
|
+
timeUnit,
|
|
243
|
+
lang,
|
|
244
|
+
isDark
|
|
245
|
+
})
|
|
246
|
+
}
|
|
225
247
|
}]
|
|
226
248
|
};
|
|
227
249
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["getGridLines","getLineCommons","themeColors","VolatilityChartTimeUnit","CHART_HEIGHT","CHART_WIDTH","tooltipLabels","weeklyDataLabels","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","tooltipFormatter","_ref","value","timeUnit","lang","data","axisValue","getDesktopOption","_ref2","isDark","notDate","D","desktopGridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","title","show","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","text","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n show: true,\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n text: lang('mobile_tooltip_placeholder'),\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["DESKTOP_MIN_WIDTH","getGridLines","getLineCommons","themeColors","VolatilityChartTimeUnit","CHART_HEIGHT","CHART_WIDTH","tooltipLabels","weeklyDataLabels","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","tooltipFormatter","_ref","value","timeUnit","lang","data","axisValue","getDesktopOption","_ref2","isDark","notDate","D","desktopGridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","title","text","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","show","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series","media","query","minWidth","option","maxWidth"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n DESKTOP_MIN_WIDTH,\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n text: '',\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n text: lang('mobile_tooltip_placeholder'),\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit, isDark) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n media: [\n {\n query: {\n minWidth: DESKTOP_MIN_WIDTH,\n },\n option: {\n ...getDesktopOption({ timeUnit, lang, isDark }),\n },\n },\n {\n query: {\n maxWidth: DESKTOP_MIN_WIDTH - 1,\n },\n option: {\n ...getMobileOption({ timeUnit, lang, isDark }),\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["DaysOfWeekKeys"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":"AAIA,WAAYA,cAAc,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":["DaysOfWeekKeys"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit,\n isDark: boolean\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":"AAIA,WAAYA,cAAc,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import type { GetOptionType, GetResponsiveOptionsProps, PointFormatterProps, Too
|
|
|
2
2
|
export declare const tooltipFormatter: ({ value, timeUnit, lang, }: TooltipFormatterProps) => string;
|
|
3
3
|
export declare const getDesktopOption: ({ timeUnit, lang, isDark, }: GetResponsiveOptionsProps) => {
|
|
4
4
|
title: {
|
|
5
|
-
|
|
5
|
+
text: string;
|
|
6
6
|
};
|
|
7
7
|
tooltip: {
|
|
8
8
|
position: undefined;
|
|
@@ -127,7 +127,7 @@ export declare const getDesktopOption: ({ timeUnit, lang, isDark, }: GetResponsi
|
|
|
127
127
|
};
|
|
128
128
|
export declare const getMobileOption: ({ timeUnit, lang, isDark, }: GetResponsiveOptionsProps) => {
|
|
129
129
|
title: {
|
|
130
|
-
|
|
130
|
+
text: string;
|
|
131
131
|
};
|
|
132
132
|
tooltip: {
|
|
133
133
|
backgroundColor: string;
|
|
@@ -19,7 +19,7 @@ export interface TooltipData {
|
|
|
19
19
|
axisValue: string;
|
|
20
20
|
data: string;
|
|
21
21
|
}
|
|
22
|
-
export type GetOptionType = (values: VolatilityChartDataValues[], lang: (label: string) => string, timeUnit: VolatilityChartTimeUnit) => EChartsOption;
|
|
22
|
+
export type GetOptionType = (values: VolatilityChartDataValues[], lang: (label: string) => string, timeUnit: VolatilityChartTimeUnit, isDark: boolean) => EChartsOption;
|
|
23
23
|
export interface GetResponsiveOptionsProps {
|
|
24
24
|
timeUnit: VolatilityChartTimeUnit;
|
|
25
25
|
lang: (label: string) => string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oanda/labs-volatility-chart-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.168",
|
|
4
4
|
"description": "Labs Volatility Chart Widget",
|
|
5
5
|
"main": "dist/main/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
"author": "OANDA",
|
|
13
13
|
"license": "UNLICENSED",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@oanda/labs-widget-common": "^1.0.
|
|
15
|
+
"@oanda/labs-widget-common": "^1.0.219",
|
|
16
16
|
"@oanda/mono-i18n": "10.0.1",
|
|
17
|
-
"echarts": "
|
|
18
|
-
"echarts-for-react": "3.0.
|
|
17
|
+
"echarts": "6.0.0",
|
|
18
|
+
"echarts-for-react": "3.0.4",
|
|
19
19
|
"graphql": "16.8.1"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@graphql-codegen/cli": "5.0.0",
|
|
23
23
|
"@graphql-codegen/client-preset": "4.1.0"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "39a4ba7320ad2596a931ebc3b19cda09da14f9de"
|
|
26
26
|
}
|