@oanda/labs-volatility-chart-widget 1.0.192 → 1.0.194
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 +1556 -0
- package/dist/main/VolatilityChartWidget/ChartWithData.js +3 -4
- package/dist/main/VolatilityChartWidget/ChartWithData.js.map +1 -1
- package/dist/main/VolatilityChartWidget/components/Chart/getOption.js +26 -25
- package/dist/main/VolatilityChartWidget/components/Chart/getOption.js.map +1 -1
- package/dist/main/VolatilityChartWidget/utils.js +1 -1
- package/dist/main/VolatilityChartWidget/utils.js.map +1 -1
- package/dist/main/gql/getVolatilityChartAssetClasses.js +11 -3
- package/dist/main/gql/getVolatilityChartAssetClasses.js.map +1 -1
- package/dist/main/gql/getVolatilityChartData.js +19 -3
- package/dist/main/gql/getVolatilityChartData.js.map +1 -1
- package/dist/main/gql/types/fragment-masking.js +2 -3
- package/dist/main/gql/types/fragment-masking.js.map +1 -1
- package/dist/main/gql/types/gql.js +1 -2
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/module/VolatilityChartWidget/ChartWithData.js +3 -4
- package/dist/module/VolatilityChartWidget/ChartWithData.js.map +1 -1
- package/dist/module/VolatilityChartWidget/components/Chart/getOption.js +26 -25
- package/dist/module/VolatilityChartWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/VolatilityChartWidget/utils.js +1 -1
- package/dist/module/VolatilityChartWidget/utils.js.map +1 -1
- package/dist/module/gql/getVolatilityChartAssetClasses.js +11 -3
- package/dist/module/gql/getVolatilityChartAssetClasses.js.map +1 -1
- package/dist/module/gql/getVolatilityChartData.js +19 -3
- package/dist/module/gql/getVolatilityChartData.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js +2 -3
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +1 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/package.json +3 -3
|
@@ -13,7 +13,6 @@ var _graphql = require("../gql/types/graphql");
|
|
|
13
13
|
var _Chart = require("./components/Chart");
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const ChartWithData = _ref => {
|
|
16
|
-
var _data$volatilityChart, _;
|
|
17
16
|
let {
|
|
18
17
|
division,
|
|
19
18
|
instrument,
|
|
@@ -37,8 +36,8 @@ const ChartWithData = _ref => {
|
|
|
37
36
|
fetchPolicy: 'cache-and-network',
|
|
38
37
|
skip: !instrument
|
|
39
38
|
});
|
|
40
|
-
const showChart = instrument && !loading &&
|
|
41
|
-
const showError = instrument && !loading && (!
|
|
39
|
+
const showChart = instrument && !loading && data?.volatilityChart && data?.volatilityChart?.length > 0;
|
|
40
|
+
const showError = instrument && !loading && (!data?.volatilityChart || data?.volatilityChart.length === 0 || error);
|
|
42
41
|
return _react.default.createElement(_react.default.Fragment, null, (loading || !instrument) && _react.default.createElement("div", {
|
|
43
42
|
className: "lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
|
|
44
43
|
}, _react.default.createElement(_labsWidgetCommon.Spinner, {
|
|
@@ -52,7 +51,7 @@ const ChartWithData = _ref => {
|
|
|
52
51
|
className: "lw-mt-2 lw-flex lw-h-10 lw-flex-col lw-stroke-text-primary lw-py-2 lw-text-text-primary sm:lw-flex-row md:lw-items-center"
|
|
53
52
|
}, !loading && !showError && _react.default.createElement(_labsWidgetCommon.LastUpdated, {
|
|
54
53
|
labelCallback: lang,
|
|
55
|
-
timestamp: data
|
|
54
|
+
timestamp: data?.volatilityChart[0]?.updatedAt
|
|
56
55
|
}), timeUnit === _graphql.VolatilityChartTimeUnit.H && !loading && !showError && _react.default.createElement(_labsWidgetCommon.InfoBox, {
|
|
57
56
|
text: lang('utc_info')
|
|
58
57
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWithData.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireDefault","_getVolatilityChartData","_graphql","_Chart","e","__esModule","default","ChartWithData","_ref","
|
|
1
|
+
{"version":3,"file":"ChartWithData.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireDefault","_getVolatilityChartData","_graphql","_Chart","e","__esModule","default","ChartWithData","_ref","division","instrument","timeUnit","timeSpan","lang","useLocale","loading","data","error","useQuery","getVolatilityChartData","variables","fetchPolicy","skip","showChart","volatilityChart","length","showError","createElement","Fragment","className","Spinner","size","SpinnerSize","lg","Chart","values","ChartError","LastUpdated","labelCallback","timestamp","updatedAt","VolatilityChartTimeUnit","H","InfoBox","text","exports"],"sources":["../../../src/VolatilityChartWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n InfoBox,\n LastUpdated,\n Spinner,\n SpinnerSize,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { getVolatilityChartData } from '../gql/getVolatilityChartData';\nimport type {\n GetVolatilityChartDataQuery,\n GetVolatilityChartDataQueryVariables,\n} from '../gql/types/graphql';\nimport { VolatilityChartTimeUnit } from '../gql/types/graphql';\nimport { Chart } from './components/Chart';\nimport type { VolatilityChartDataValues } from './components/Chart/types';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({\n division,\n instrument,\n timeUnit,\n timeSpan,\n}: ChartWithDataProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetVolatilityChartDataQuery,\n GetVolatilityChartDataQueryVariables\n >(getVolatilityChartData, {\n variables: {\n division,\n instrument: instrument!,\n timeUnit,\n timeSpan,\n },\n fetchPolicy: 'cache-and-network',\n skip: !instrument,\n });\n\n const showChart =\n instrument &&\n !loading &&\n data?.volatilityChart &&\n data?.volatilityChart?.length > 0;\n const showError =\n instrument &&\n !loading &&\n (!data?.volatilityChart || data?.volatilityChart.length === 0 || error);\n\n return (\n <>\n {(loading || !instrument) && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {showChart && (\n <Chart\n timeUnit={timeUnit}\n values={data.volatilityChart as VolatilityChartDataValues[]}\n />\n )}\n {showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n <div className=\"lw-mt-2 lw-flex lw-h-10 lw-flex-col lw-stroke-text-primary lw-py-2 lw-text-text-primary sm:lw-flex-row md:lw-items-center\">\n {!loading && !showError && (\n <LastUpdated\n labelCallback={lang}\n timestamp={data?.volatilityChart![0]?.updatedAt!}\n />\n )}\n {timeUnit === VolatilityChartTimeUnit.H && !loading && !showError && (\n <InfoBox text={lang('utc_info')} />\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAOA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,uBAAA,GAAAL,OAAA;AAKA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAA2C,SAAAI,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI3C,MAAMG,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,8CAAsB,EAAE;IACxBC,SAAS,EAAE;MACTX,QAAQ;MACRC,UAAU,EAAEA,UAAW;MACvBC,QAAQ;MACRC;IACF,CAAC;IACDS,WAAW,EAAE,mBAAmB;IAChCC,IAAI,EAAE,CAACZ;EACT,CAAC,CAAC;EAEF,MAAMa,SAAS,GACbb,UAAU,IACV,CAACK,OAAO,IACRC,IAAI,EAAEQ,eAAe,IACrBR,IAAI,EAAEQ,eAAe,EAAEC,MAAM,GAAG,CAAC;EACnC,MAAMC,SAAS,GACbhB,UAAU,IACV,CAACK,OAAO,KACP,CAACC,IAAI,EAAEQ,eAAe,IAAIR,IAAI,EAAEQ,eAAe,CAACC,MAAM,KAAK,CAAC,IAAIR,KAAK,CAAC;EAEzE,OACElB,MAAA,CAAAO,OAAA,CAAAqB,aAAA,CAAA5B,MAAA,CAAAO,OAAA,CAAAsB,QAAA,QACG,CAACb,OAAO,IAAI,CAACL,UAAU,KACtBX,MAAA,CAAAO,OAAA,CAAAqB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChH9B,MAAA,CAAAO,OAAA,CAAAqB,aAAA,CAAC9B,iBAAA,CAAAiC,OAAO;IAACC,IAAI,EAAEC,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACAV,SAAS,IACRxB,MAAA,CAAAO,OAAA,CAAAqB,aAAA,CAACxB,MAAA,CAAA+B,KAAK;IACJvB,QAAQ,EAAEA,QAAS;IACnBwB,MAAM,EAAEnB,IAAI,CAACQ;EAA+C,CAC7D,CACF,EACAE,SAAS,IACR3B,MAAA,CAAAO,OAAA,CAAAqB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChH9B,MAAA,CAAAO,OAAA,CAAAqB,aAAA,CAAC9B,iBAAA,CAAAuC,UAAU,MAAE,CACV,CACN,EACDrC,MAAA,CAAAO,OAAA,CAAAqB,aAAA;IAAKE,SAAS,EAAC;EAA2H,GACvI,CAACd,OAAO,IAAI,CAACW,SAAS,IACrB3B,MAAA,CAAAO,OAAA,CAAAqB,aAAA,CAAC9B,iBAAA,CAAAwC,WAAW;IACVC,aAAa,EAAEzB,IAAK;IACpB0B,SAAS,EAAEvB,IAAI,EAAEQ,eAAe,CAAE,CAAC,CAAC,EAAEgB;EAAW,CAClD,CACF,EACA7B,QAAQ,KAAK8B,gCAAuB,CAACC,CAAC,IAAI,CAAC3B,OAAO,IAAI,CAACW,SAAS,IAC/D3B,MAAA,CAAAO,OAAA,CAAAqB,aAAA,CAAC9B,iBAAA,CAAA8C,OAAO;IAACC,IAAI,EAAE/B,IAAI,CAAC,UAAU;EAAE,CAAE,CAEjC,CACL,CAAC;AAEP,CAAC;AAACgC,OAAA,CAAAtC,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -7,18 +7,13 @@ exports.tooltipFormatter = exports.pointFormatter = exports.getOption = exports.
|
|
|
7
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
8
|
var _graphql = require("../../../gql/types/graphql");
|
|
9
9
|
var _constants = require("./constants");
|
|
10
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
10
|
const tooltipFormatter = _ref => {
|
|
16
11
|
let {
|
|
17
12
|
value,
|
|
18
13
|
timeUnit,
|
|
19
14
|
lang
|
|
20
15
|
} = _ref;
|
|
21
|
-
return
|
|
16
|
+
return `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(_constants.tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;
|
|
22
17
|
};
|
|
23
18
|
exports.tooltipFormatter = tooltipFormatter;
|
|
24
19
|
const getDesktopOption = _ref2 => {
|
|
@@ -66,10 +61,11 @@ const getDesktopOption = _ref2 => {
|
|
|
66
61
|
name: 'main-grid',
|
|
67
62
|
top: '40px',
|
|
68
63
|
left: '0px',
|
|
69
|
-
right:
|
|
70
|
-
bottom:
|
|
64
|
+
right: `${_constants.Y_LABEL_SIZE_DESKTOP}px`,
|
|
65
|
+
bottom: `${_constants.X_LABEL_SIZE}px`
|
|
71
66
|
}],
|
|
72
|
-
graphic: [...desktopGridLines,
|
|
67
|
+
graphic: [...desktopGridLines, {
|
|
68
|
+
...(0, _labsWidgetCommon.getLineCommons)(isDark),
|
|
73
69
|
top: 0,
|
|
74
70
|
right: 0,
|
|
75
71
|
shape: {
|
|
@@ -78,7 +74,7 @@ const getDesktopOption = _ref2 => {
|
|
|
78
74
|
x2: 0,
|
|
79
75
|
y2: 0
|
|
80
76
|
}
|
|
81
|
-
}
|
|
77
|
+
}]
|
|
82
78
|
};
|
|
83
79
|
};
|
|
84
80
|
exports.getDesktopOption = getDesktopOption;
|
|
@@ -124,10 +120,11 @@ const getMobileOption = _ref3 => {
|
|
|
124
120
|
name: 'main-grid',
|
|
125
121
|
top: '60px',
|
|
126
122
|
left: '0px',
|
|
127
|
-
right:
|
|
128
|
-
bottom:
|
|
123
|
+
right: `${_constants.Y_LABEL_SIZE_MOBILE}px`,
|
|
124
|
+
bottom: `${_constants.X_LABEL_SIZE}px`
|
|
129
125
|
}],
|
|
130
|
-
graphic: [...mobileGridLines,
|
|
126
|
+
graphic: [...mobileGridLines, {
|
|
127
|
+
...(0, _labsWidgetCommon.getLineCommons)(isDark),
|
|
131
128
|
top: 58,
|
|
132
129
|
right: _constants.Y_LABEL_SIZE_MOBILE - 2,
|
|
133
130
|
shape: {
|
|
@@ -136,7 +133,7 @@ const getMobileOption = _ref3 => {
|
|
|
136
133
|
x2: 9999,
|
|
137
134
|
y2: 0
|
|
138
135
|
}
|
|
139
|
-
}
|
|
136
|
+
}]
|
|
140
137
|
};
|
|
141
138
|
};
|
|
142
139
|
exports.getMobileOption = getMobileOption;
|
|
@@ -227,7 +224,7 @@ const getOption = (values, lang, timeUnit, isDark) => {
|
|
|
227
224
|
padding: [0, 0, 20, 0]
|
|
228
225
|
}
|
|
229
226
|
},
|
|
230
|
-
formatter: (value, index) => index ?
|
|
227
|
+
formatter: (value, index) => index ? `${value}` : `{a|${value}}`
|
|
231
228
|
}
|
|
232
229
|
},
|
|
233
230
|
series: [{
|
|
@@ -239,20 +236,24 @@ const getOption = (values, lang, timeUnit, isDark) => {
|
|
|
239
236
|
query: {
|
|
240
237
|
minWidth: _labsWidgetCommon.DESKTOP_MIN_WIDTH
|
|
241
238
|
},
|
|
242
|
-
option:
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
239
|
+
option: {
|
|
240
|
+
...getDesktopOption({
|
|
241
|
+
timeUnit,
|
|
242
|
+
lang,
|
|
243
|
+
isDark
|
|
244
|
+
})
|
|
245
|
+
}
|
|
247
246
|
}, {
|
|
248
247
|
query: {
|
|
249
248
|
maxWidth: _labsWidgetCommon.DESKTOP_MIN_WIDTH - 1
|
|
250
249
|
},
|
|
251
|
-
option:
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
250
|
+
option: {
|
|
251
|
+
...getMobileOption({
|
|
252
|
+
timeUnit,
|
|
253
|
+
lang,
|
|
254
|
+
isDark
|
|
255
|
+
})
|
|
256
|
+
}
|
|
256
257
|
}]
|
|
257
258
|
};
|
|
258
259
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","tooltipFormatter","_ref","timeUnit","lang","concat","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
|
+
{"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":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getInstrumentsByAssetClassId = exports.getAssetClassesList = void 0;
|
|
7
7
|
exports.sortAlphabetically = sortAlphabetically;
|
|
8
|
-
const capitalize = name =>
|
|
8
|
+
const capitalize = name => `${name[0].toUpperCase()}${name.substring(1)}`;
|
|
9
9
|
function sortAlphabetically(paramName, items) {
|
|
10
10
|
return [...items].sort((itemA, itemB) => itemA[paramName].localeCompare(itemB[paramName], 'en', {
|
|
11
11
|
sensitivity: 'base'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["capitalize","name","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["capitalize","name","toUpperCase","substring","sortAlphabetically","paramName","items","sort","itemA","itemB","localeCompare","sensitivity","getAssetClassesList","data","list","map","_ref","id","toLowerCase","label","exports","mapInstrumentsList","_ref2","displayName","getInstrumentsByAssetClassId","instruments","filter","_ref3"],"sources":["../../../src/VolatilityChartWidget/utils.ts"],"sourcesContent":["import type { AssetClass, Instrument } from '../gql/types/graphql';\n\nconst capitalize = (name: string) =>\n `${name[0].toUpperCase()}${name.substring(1)}`;\n\nfunction sortAlphabetically<T extends Record<string, string>>(\n paramName: keyof T,\n items: T[]\n): T[] {\n return [...items].sort((itemA, itemB) =>\n itemA[paramName].localeCompare(itemB[paramName], 'en', {\n sensitivity: 'base',\n })\n );\n}\n\nconst getAssetClassesList = (data: AssetClass[]) => {\n const list = data.map(({ name }) => ({\n id: name.toLowerCase(),\n label: capitalize(name),\n }));\n\n return sortAlphabetically('label', list);\n};\n\nconst mapInstrumentsList = (data: Instrument[]) =>\n sortAlphabetically('displayName', data).map(\n ({ name: id, displayName: label }) => ({ id, label })\n );\n\nconst getInstrumentsByAssetClassId = (data: AssetClass[], id: string) => {\n const [{ instruments }] = data.filter(({ name }) => id === name);\n\n return mapInstrumentsList(instruments);\n};\n\nexport {\n getAssetClassesList,\n getInstrumentsByAssetClassId,\n sortAlphabetically,\n};\n"],"mappings":";;;;;;;AAEA,MAAMA,UAAU,GAAIC,IAAY,IAC9B,GAAGA,IAAI,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGD,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC,EAAE;AAEhD,SAASC,kBAAkBA,CACzBC,SAAkB,EAClBC,KAAU,EACL;EACL,OAAO,CAAC,GAAGA,KAAK,CAAC,CAACC,IAAI,CAAC,CAACC,KAAK,EAAEC,KAAK,KAClCD,KAAK,CAACH,SAAS,CAAC,CAACK,aAAa,CAACD,KAAK,CAACJ,SAAS,CAAC,EAAE,IAAI,EAAE;IACrDM,WAAW,EAAE;EACf,CAAC,CACH,CAAC;AACH;AAEA,MAAMC,mBAAmB,GAAIC,IAAkB,IAAK;EAClD,MAAMC,IAAI,GAAGD,IAAI,CAACE,GAAG,CAACC,IAAA;IAAA,IAAC;MAAEf;IAAK,CAAC,GAAAe,IAAA;IAAA,OAAM;MACnCC,EAAE,EAAEhB,IAAI,CAACiB,WAAW,CAAC,CAAC;MACtBC,KAAK,EAAEnB,UAAU,CAACC,IAAI;IACxB,CAAC;EAAA,CAAC,CAAC;EAEH,OAAOG,kBAAkB,CAAC,OAAO,EAAEU,IAAI,CAAC;AAC1C,CAAC;AAACM,OAAA,CAAAR,mBAAA,GAAAA,mBAAA;AAEF,MAAMS,kBAAkB,GAAIR,IAAkB,IAC5CT,kBAAkB,CAAC,aAAa,EAAES,IAAI,CAAC,CAACE,GAAG,CACzCO,KAAA;EAAA,IAAC;IAAErB,IAAI,EAAEgB,EAAE;IAAEM,WAAW,EAAEJ;EAAM,CAAC,GAAAG,KAAA;EAAA,OAAM;IAAEL,EAAE;IAAEE;EAAM,CAAC;AAAA,CACtD,CAAC;AAEH,MAAMK,4BAA4B,GAAGA,CAACX,IAAkB,EAAEI,EAAU,KAAK;EACvE,MAAM,CAAC;IAAEQ;EAAY,CAAC,CAAC,GAAGZ,IAAI,CAACa,MAAM,CAACC,KAAA;IAAA,IAAC;MAAE1B;IAAK,CAAC,GAAA0B,KAAA;IAAA,OAAKV,EAAE,KAAKhB,IAAI;EAAA,EAAC;EAEhE,OAAOoB,kBAAkB,CAACI,WAAW,CAAC;AACxC,CAAC;AAACL,OAAA,CAAAI,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -5,7 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getVolatilityChartAssetClasses = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const getVolatilityChartAssetClasses = exports.getVolatilityChartAssetClasses = (0, _client.gql)`
|
|
9
|
+
query GetVolatilityChartAssetClasses($division: Division) {
|
|
10
|
+
volatilityChartAssetClasses(division: $division) {
|
|
11
|
+
name
|
|
12
|
+
instruments {
|
|
13
|
+
name
|
|
14
|
+
displayName
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
11
19
|
//# sourceMappingURL=getVolatilityChartAssetClasses.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolatilityChartAssetClasses.js","names":["_client","require","
|
|
1
|
+
{"version":3,"file":"getVolatilityChartAssetClasses.js","names":["_client","require","getVolatilityChartAssetClasses","exports","gql"],"sources":["../../../src/gql/getVolatilityChartAssetClasses.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getVolatilityChartAssetClasses = gql`\n query GetVolatilityChartAssetClasses($division: Division) {\n volatilityChartAssetClasses(division: $division) {\n name\n instruments {\n name\n displayName\n }\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG,IAAAE,WAAG;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getVolatilityChartData = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const getVolatilityChartData = exports.getVolatilityChartData = (0, _client.gql)`
|
|
9
|
+
query GetVolatilityChartData(
|
|
10
|
+
$division: Division
|
|
11
|
+
$instrument: String!
|
|
12
|
+
$timeUnit: VolatilityChartTimeUnit!
|
|
13
|
+
$timeSpan: VolatilityChartTimeSpan!
|
|
14
|
+
) {
|
|
15
|
+
volatilityChart(
|
|
16
|
+
division: $division
|
|
17
|
+
instrument: $instrument
|
|
18
|
+
timeUnit: $timeUnit
|
|
19
|
+
timeSpan: $timeSpan
|
|
20
|
+
) {
|
|
21
|
+
pips
|
|
22
|
+
point
|
|
23
|
+
updatedAt
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
11
27
|
//# sourceMappingURL=getVolatilityChartData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolatilityChartData.js","names":["_client","require","
|
|
1
|
+
{"version":3,"file":"getVolatilityChartData.js","names":["_client","require","getVolatilityChartData","exports","gql"],"sources":["../../../src/gql/getVolatilityChartData.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getVolatilityChartData = gql`\n query GetVolatilityChartData(\n $division: Division\n $instrument: String!\n $timeUnit: VolatilityChartTimeUnit!\n $timeSpan: VolatilityChartTimeSpan!\n ) {\n volatilityChart(\n division: $division\n instrument: $instrument\n timeUnit: $timeUnit\n timeSpan: $timeSpan\n ) {\n pips\n point\n updatedAt\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,IAAAE,WAAG;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -13,11 +13,10 @@ function makeFragmentData(data, _fragment) {
|
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
15
|
function isFragmentReady(queryNode, fragmentNode, data) {
|
|
16
|
-
|
|
17
|
-
const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
|
|
16
|
+
const deferredFields = queryNode.__meta__?.deferredFields;
|
|
18
17
|
if (!deferredFields) return true;
|
|
19
18
|
const fragDef = fragmentNode.definitions[0];
|
|
20
|
-
const fragName = fragDef
|
|
19
|
+
const fragName = fragDef?.name?.value;
|
|
21
20
|
const fields = fragName && deferredFields[fragName] || [];
|
|
22
21
|
return fields.length > 0 && fields.every(field => data && field in data);
|
|
23
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","
|
|
1
|
+
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import {\n ResultOf,\n DocumentTypeDecoration,\n TypedDocumentNode,\n} from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n"],"mappings":";;;;;;;;AA6CO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAC3C,MAAMK,cAAc,GAClBF,SAAS,CAGTG,QAAQ,EAAED,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGH,YAAY,CAACI,WAAW,CAAC,CAAC,CAE7B;EACb,MAAMC,QAAQ,GAAGF,OAAO,EAAEG,IAAI,EAAEC,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,KAAK,IAAKf,IAAI,IAAIe,KAAK,IAAIf,IAAI,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -11,7 +11,6 @@ const documents = {
|
|
|
11
11
|
'\n query GetVolatilityChartData($division: Division, $instrument: String!, $timeUnit: VolatilityChartTimeUnit!, $timeSpan: VolatilityChartTimeSpan!) {\n volatilityChart(division: $division, instrument: $instrument, timeUnit: $timeUnit, timeSpan: $timeSpan) {\n pips\n point\n updatedAt\n }\n }\n': types.GetVolatilityChartDataDocument
|
|
12
12
|
};
|
|
13
13
|
function graphql(source) {
|
|
14
|
-
|
|
15
|
-
return (_source = documents[source]) !== null && _source !== void 0 ? _source : {};
|
|
14
|
+
return documents[source] ?? {};
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=gql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetVolatilityChartAssetClassesDocument","GetVolatilityChartDataDocument","graphql","source"
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetVolatilityChartAssetClassesDocument","GetVolatilityChartDataDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetVolatilityChartAssetClasses($division: Division) {\\n volatilityChartAssetClasses(division: $division) {\\n name\\n instruments {\\n name\\n displayName\\n }\\n }\\n }\\n':\n types.GetVolatilityChartAssetClassesDocument,\n '\\n query GetVolatilityChartData($division: Division, $instrument: String!, $timeUnit: VolatilityChartTimeUnit!, $timeSpan: VolatilityChartTimeSpan!) {\\n volatilityChart(division: $division, instrument: $instrument, timeUnit: $timeUnit, timeSpan: $timeSpan) {\\n pips\\n point\\n updatedAt\\n }\\n }\\n':\n types.GetVolatilityChartDataDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetVolatilityChartAssetClasses($division: Division) {\\n volatilityChartAssetClasses(division: $division) {\\n name\\n instruments {\\n name\\n displayName\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetVolatilityChartAssetClasses($division: Division) {\\n volatilityChartAssetClasses(division: $division) {\\n name\\n instruments {\\n name\\n displayName\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetVolatilityChartData($division: Division, $instrument: String!, $timeUnit: VolatilityChartTimeUnit!, $timeSpan: VolatilityChartTimeSpan!) {\\n volatilityChart(division: $division, instrument: $instrument, timeUnit: $timeUnit, timeSpan: $timeSpan) {\\n pips\\n point\\n updatedAt\\n }\\n }\\n'\n): (typeof documents)['\\n query GetVolatilityChartData($division: Division, $instrument: String!, $timeUnit: VolatilityChartTimeUnit!, $timeSpan: VolatilityChartTimeSpan!) {\\n volatilityChart(division: $division, instrument: $instrument, timeUnit: $timeUnit, timeSpan: $timeSpan) {\\n pips\\n point\\n updatedAt\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,oNAAoN,EAClNtB,KAAK,CAACuB,sCAAsC;EAC9C,gUAAgU,EAC9TvB,KAAK,CAACwB;AACV,CAAC;AA6BM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQJ,SAAS,CAASI,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@ import { getVolatilityChartData } from '../gql/getVolatilityChartData';
|
|
|
6
6
|
import { VolatilityChartTimeUnit } from '../gql/types/graphql';
|
|
7
7
|
import { Chart } from './components/Chart';
|
|
8
8
|
const ChartWithData = _ref => {
|
|
9
|
-
var _data$volatilityChart, _;
|
|
10
9
|
let {
|
|
11
10
|
division,
|
|
12
11
|
instrument,
|
|
@@ -30,8 +29,8 @@ const ChartWithData = _ref => {
|
|
|
30
29
|
fetchPolicy: 'cache-and-network',
|
|
31
30
|
skip: !instrument
|
|
32
31
|
});
|
|
33
|
-
const showChart = instrument && !loading &&
|
|
34
|
-
const showError = instrument && !loading && (!
|
|
32
|
+
const showChart = instrument && !loading && data?.volatilityChart && data?.volatilityChart?.length > 0;
|
|
33
|
+
const showError = instrument && !loading && (!data?.volatilityChart || data?.volatilityChart.length === 0 || error);
|
|
35
34
|
return React.createElement(React.Fragment, null, (loading || !instrument) && React.createElement("div", {
|
|
36
35
|
className: "lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
|
|
37
36
|
}, React.createElement(Spinner, {
|
|
@@ -45,7 +44,7 @@ const ChartWithData = _ref => {
|
|
|
45
44
|
className: "lw-mt-2 lw-flex lw-h-10 lw-flex-col lw-stroke-text-primary lw-py-2 lw-text-text-primary sm:lw-flex-row md:lw-items-center"
|
|
46
45
|
}, !loading && !showError && React.createElement(LastUpdated, {
|
|
47
46
|
labelCallback: lang,
|
|
48
|
-
timestamp: data
|
|
47
|
+
timestamp: data?.volatilityChart[0]?.updatedAt
|
|
49
48
|
}), timeUnit === VolatilityChartTimeUnit.H && !loading && !showError && React.createElement(InfoBox, {
|
|
50
49
|
text: lang('utc_info')
|
|
51
50
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWithData.js","names":["useQuery","ChartError","InfoBox","LastUpdated","Spinner","SpinnerSize","useLocale","React","getVolatilityChartData","VolatilityChartTimeUnit","Chart","ChartWithData","_ref","
|
|
1
|
+
{"version":3,"file":"ChartWithData.js","names":["useQuery","ChartError","InfoBox","LastUpdated","Spinner","SpinnerSize","useLocale","React","getVolatilityChartData","VolatilityChartTimeUnit","Chart","ChartWithData","_ref","division","instrument","timeUnit","timeSpan","lang","loading","data","error","variables","fetchPolicy","skip","showChart","volatilityChart","length","showError","createElement","Fragment","className","size","lg","values","labelCallback","timestamp","updatedAt","H","text"],"sources":["../../../src/VolatilityChartWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n InfoBox,\n LastUpdated,\n Spinner,\n SpinnerSize,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { getVolatilityChartData } from '../gql/getVolatilityChartData';\nimport type {\n GetVolatilityChartDataQuery,\n GetVolatilityChartDataQueryVariables,\n} from '../gql/types/graphql';\nimport { VolatilityChartTimeUnit } from '../gql/types/graphql';\nimport { Chart } from './components/Chart';\nimport type { VolatilityChartDataValues } from './components/Chart/types';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({\n division,\n instrument,\n timeUnit,\n timeSpan,\n}: ChartWithDataProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetVolatilityChartDataQuery,\n GetVolatilityChartDataQueryVariables\n >(getVolatilityChartData, {\n variables: {\n division,\n instrument: instrument!,\n timeUnit,\n timeSpan,\n },\n fetchPolicy: 'cache-and-network',\n skip: !instrument,\n });\n\n const showChart =\n instrument &&\n !loading &&\n data?.volatilityChart &&\n data?.volatilityChart?.length > 0;\n const showError =\n instrument &&\n !loading &&\n (!data?.volatilityChart || data?.volatilityChart.length === 0 || error);\n\n return (\n <>\n {(loading || !instrument) && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {showChart && (\n <Chart\n timeUnit={timeUnit}\n values={data.volatilityChart as VolatilityChartDataValues[]}\n />\n )}\n {showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n <div className=\"lw-mt-2 lw-flex lw-h-10 lw-flex-col lw-stroke-text-primary lw-py-2 lw-text-text-primary sm:lw-flex-row md:lw-items-center\">\n {!loading && !showError && (\n <LastUpdated\n labelCallback={lang}\n timestamp={data?.volatilityChart![0]?.updatedAt!}\n />\n )}\n {timeUnit === VolatilityChartTimeUnit.H && !loading && !showError && (\n <InfoBox text={lang('utc_info')} />\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,UAAU,EACVC,OAAO,EACPC,WAAW,EACXC,OAAO,EACPC,WAAW,QACN,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,sBAAsB,QAAQ,+BAA+B;AAKtE,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,KAAK,QAAQ,oBAAoB;AAI1C,MAAMC,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAGX,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEY,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGpB,QAAQ,CAGvCQ,sBAAsB,EAAE;IACxBa,SAAS,EAAE;MACTR,QAAQ;MACRC,UAAU,EAAEA,UAAW;MACvBC,QAAQ;MACRC;IACF,CAAC;IACDM,WAAW,EAAE,mBAAmB;IAChCC,IAAI,EAAE,CAACT;EACT,CAAC,CAAC;EAEF,MAAMU,SAAS,GACbV,UAAU,IACV,CAACI,OAAO,IACRC,IAAI,EAAEM,eAAe,IACrBN,IAAI,EAAEM,eAAe,EAAEC,MAAM,GAAG,CAAC;EACnC,MAAMC,SAAS,GACbb,UAAU,IACV,CAACI,OAAO,KACP,CAACC,IAAI,EAAEM,eAAe,IAAIN,IAAI,EAAEM,eAAe,CAACC,MAAM,KAAK,CAAC,IAAIN,KAAK,CAAC;EAEzE,OACEb,KAAA,CAAAqB,aAAA,CAAArB,KAAA,CAAAsB,QAAA,QACG,CAACX,OAAO,IAAI,CAACJ,UAAU,KACtBP,KAAA,CAAAqB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHvB,KAAA,CAAAqB,aAAA,CAACxB,OAAO;IAAC2B,IAAI,EAAE1B,WAAW,CAAC2B;EAAG,CAAE,CAC7B,CACN,EACAR,SAAS,IACRjB,KAAA,CAAAqB,aAAA,CAAClB,KAAK;IACJK,QAAQ,EAAEA,QAAS;IACnBkB,MAAM,EAAEd,IAAI,CAACM;EAA+C,CAC7D,CACF,EACAE,SAAS,IACRpB,KAAA,CAAAqB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHvB,KAAA,CAAAqB,aAAA,CAAC3B,UAAU,MAAE,CACV,CACN,EACDM,KAAA,CAAAqB,aAAA;IAAKE,SAAS,EAAC;EAA2H,GACvI,CAACZ,OAAO,IAAI,CAACS,SAAS,IACrBpB,KAAA,CAAAqB,aAAA,CAACzB,WAAW;IACV+B,aAAa,EAAEjB,IAAK;IACpBkB,SAAS,EAAEhB,IAAI,EAAEM,eAAe,CAAE,CAAC,CAAC,EAAEW;EAAW,CAClD,CACF,EACArB,QAAQ,KAAKN,uBAAuB,CAAC4B,CAAC,IAAI,CAACnB,OAAO,IAAI,CAACS,SAAS,IAC/DpB,KAAA,CAAAqB,aAAA,CAAC1B,OAAO;IAACoC,IAAI,EAAErB,IAAI,CAAC,UAAU;EAAE,CAAE,CAEjC,CACL,CAAC;AAEP,CAAC;AAED,SAASN,aAAa","ignoreList":[]}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
1
|
import { DESKTOP_MIN_WIDTH, getGridLines, getLineCommons, themeColors } from '@oanda/labs-widget-common';
|
|
7
2
|
import { VolatilityChartTimeUnit } from '../../../gql/types/graphql';
|
|
8
3
|
import { CHART_HEIGHT, CHART_WIDTH, tooltipLabels, weeklyDataLabels, X_LABEL_SIZE, Y_LABEL_SIZE_DESKTOP, Y_LABEL_SIZE_MOBILE } from './constants';
|
|
@@ -12,7 +7,7 @@ export const tooltipFormatter = _ref => {
|
|
|
12
7
|
timeUnit,
|
|
13
8
|
lang
|
|
14
9
|
} = _ref;
|
|
15
|
-
return
|
|
10
|
+
return `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;
|
|
16
11
|
};
|
|
17
12
|
export const getDesktopOption = _ref2 => {
|
|
18
13
|
let {
|
|
@@ -59,10 +54,11 @@ export const getDesktopOption = _ref2 => {
|
|
|
59
54
|
name: 'main-grid',
|
|
60
55
|
top: '40px',
|
|
61
56
|
left: '0px',
|
|
62
|
-
right:
|
|
63
|
-
bottom:
|
|
57
|
+
right: `${Y_LABEL_SIZE_DESKTOP}px`,
|
|
58
|
+
bottom: `${X_LABEL_SIZE}px`
|
|
64
59
|
}],
|
|
65
|
-
graphic: [...desktopGridLines,
|
|
60
|
+
graphic: [...desktopGridLines, {
|
|
61
|
+
...getLineCommons(isDark),
|
|
66
62
|
top: 0,
|
|
67
63
|
right: 0,
|
|
68
64
|
shape: {
|
|
@@ -71,7 +67,7 @@ export const getDesktopOption = _ref2 => {
|
|
|
71
67
|
x2: 0,
|
|
72
68
|
y2: 0
|
|
73
69
|
}
|
|
74
|
-
}
|
|
70
|
+
}]
|
|
75
71
|
};
|
|
76
72
|
};
|
|
77
73
|
export const getMobileOption = _ref3 => {
|
|
@@ -116,10 +112,11 @@ export const getMobileOption = _ref3 => {
|
|
|
116
112
|
name: 'main-grid',
|
|
117
113
|
top: '60px',
|
|
118
114
|
left: '0px',
|
|
119
|
-
right:
|
|
120
|
-
bottom:
|
|
115
|
+
right: `${Y_LABEL_SIZE_MOBILE}px`,
|
|
116
|
+
bottom: `${X_LABEL_SIZE}px`
|
|
121
117
|
}],
|
|
122
|
-
graphic: [...mobileGridLines,
|
|
118
|
+
graphic: [...mobileGridLines, {
|
|
119
|
+
...getLineCommons(isDark),
|
|
123
120
|
top: 58,
|
|
124
121
|
right: Y_LABEL_SIZE_MOBILE - 2,
|
|
125
122
|
shape: {
|
|
@@ -128,7 +125,7 @@ export const getMobileOption = _ref3 => {
|
|
|
128
125
|
x2: 9999,
|
|
129
126
|
y2: 0
|
|
130
127
|
}
|
|
131
|
-
}
|
|
128
|
+
}]
|
|
132
129
|
};
|
|
133
130
|
};
|
|
134
131
|
export const pointFormatter = _ref4 => {
|
|
@@ -217,7 +214,7 @@ export const getOption = (values, lang, timeUnit, isDark) => {
|
|
|
217
214
|
padding: [0, 0, 20, 0]
|
|
218
215
|
}
|
|
219
216
|
},
|
|
220
|
-
formatter: (value, index) => index ?
|
|
217
|
+
formatter: (value, index) => index ? `${value}` : `{a|${value}}`
|
|
221
218
|
}
|
|
222
219
|
},
|
|
223
220
|
series: [{
|
|
@@ -229,20 +226,24 @@ export const getOption = (values, lang, timeUnit, isDark) => {
|
|
|
229
226
|
query: {
|
|
230
227
|
minWidth: DESKTOP_MIN_WIDTH
|
|
231
228
|
},
|
|
232
|
-
option:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
229
|
+
option: {
|
|
230
|
+
...getDesktopOption({
|
|
231
|
+
timeUnit,
|
|
232
|
+
lang,
|
|
233
|
+
isDark
|
|
234
|
+
})
|
|
235
|
+
}
|
|
237
236
|
}, {
|
|
238
237
|
query: {
|
|
239
238
|
maxWidth: DESKTOP_MIN_WIDTH - 1
|
|
240
239
|
},
|
|
241
|
-
option:
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
240
|
+
option: {
|
|
241
|
+
...getMobileOption({
|
|
242
|
+
timeUnit,
|
|
243
|
+
lang,
|
|
244
|
+
isDark
|
|
245
|
+
})
|
|
246
|
+
}
|
|
246
247
|
}]
|
|
247
248
|
};
|
|
248
249
|
};
|