@oanda/labs-order-book-widget 1.0.252 → 1.0.253
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 +1245 -62993
- package/dist/module/OrderBookWidget/ChartWithData.js +35 -28
- package/dist/module/OrderBookWidget/ChartWithData.js.map +1 -1
- package/dist/module/OrderBookWidget/Main.js +29 -21
- package/dist/module/OrderBookWidget/Main.js.map +1 -1
- package/dist/module/OrderBookWidget/OrderBookWidget.js +19 -12
- package/dist/module/OrderBookWidget/OrderBookWidget.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/Chart.js +29 -20
- package/dist/module/OrderBookWidget/components/Chart/Chart.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/constants.js +14 -8
- package/dist/module/OrderBookWidget/components/Chart/constants.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/formatters.js +7 -1
- package/dist/module/OrderBookWidget/components/Chart/formatters.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/getOption.js +36 -29
- package/dist/module/OrderBookWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/types.js +5 -1
- package/dist/module/OrderBookWidget/config.js +46 -41
- package/dist/module/OrderBookWidget/config.js.map +1 -1
- package/dist/module/OrderBookWidget/constants.js +7 -2
- package/dist/module/OrderBookWidget/constants.js.map +1 -1
- package/dist/module/OrderBookWidget/render.js +20 -17
- package/dist/module/OrderBookWidget/render.js.map +1 -1
- package/dist/module/OrderBookWidget/types.js +7 -1
- package/dist/module/OrderBookWidget/types.js.map +1 -1
- package/dist/module/gql/getOrderPositionBook.js +8 -3
- package/dist/module/gql/getOrderPositionBook.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js +11 -3
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +9 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/module/gql/types/graphql.js +25 -19
- package/dist/module/gql/types/graphql.js.map +1 -1
- package/dist/module/gql/types/index.js +27 -2
- package/dist/module/gql/types/index.js.map +1 -1
- package/dist/module/index.js +27 -2
- package/dist/module/index.js.map +1 -1
- package/dist/module/translations/index.js +21 -14
- package/dist/module/translations/index.js.map +1 -1
- package/dist/module/translations/translations.js +7 -1
- package/dist/module/translations/translations.js.map +1 -1
- package/dist/types/gql/getOrderPositionBook.d.ts +1 -1
- package/package.json +8 -4
- package/tsconfig.types.json +2 -4
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getOption = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _constants = require("./constants");
|
|
9
|
+
var _formatters = require("./formatters");
|
|
10
|
+
const getOption = _ref => {
|
|
5
11
|
let {
|
|
6
12
|
data,
|
|
7
13
|
precision,
|
|
@@ -15,23 +21,23 @@ export const getOption = _ref => {
|
|
|
15
21
|
const price = data.orderPositionBook[0]?.price;
|
|
16
22
|
const bucketPrecision = bucketWidth?.toString().split('.')[1].length || 0;
|
|
17
23
|
const dataset = buckets.map(item => [item.price, Number(item.longCountPercent), Number(item.shortCountPercent) * -1]);
|
|
18
|
-
const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;
|
|
19
|
-
const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;
|
|
24
|
+
const zoomInitialStartValue = price - bucketWidth * _constants.INITIAL_BARS * 0.5;
|
|
25
|
+
const zoomInitialEndValue = price + bucketWidth * _constants.INITIAL_BARS * 0.5;
|
|
20
26
|
const max = Math.max(...dataset.map(item => item[1]));
|
|
21
27
|
const min = Math.abs(Math.min(...dataset.map(item => item[2])));
|
|
22
28
|
const range = max > min ? max : min;
|
|
23
|
-
const gridLines = getGridLines({
|
|
29
|
+
const gridLines = (0, _labsWidgetCommon.getGridLines)({
|
|
24
30
|
isDark,
|
|
25
|
-
chartWidth: CHART_WIDTH,
|
|
26
|
-
chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,
|
|
27
|
-
xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,
|
|
28
|
-
yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,
|
|
31
|
+
chartWidth: _constants.CHART_WIDTH,
|
|
32
|
+
chartHeight: isDesktop ? _constants.CHART_HEIGHT_DESKTOP : _constants.CHART_HEIGHT_MOBILE,
|
|
33
|
+
xLabelsSize: isDesktop ? _constants.X_LABEL_SIZE : _constants.X_LABEL_SIZE + _constants.ZOOM_CONTROL_HEIGHT,
|
|
34
|
+
yLabelSize: isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE,
|
|
29
35
|
bottomLeftBox: isDesktop,
|
|
30
|
-
marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT
|
|
36
|
+
marginBottom: isDesktop ? 0 : _constants.ZOOM_CONTROL_HEIGHT
|
|
31
37
|
});
|
|
32
38
|
return {
|
|
33
39
|
animation: false,
|
|
34
|
-
color: [colorPalette.bottleGreenLight, isDark ? colorPalette.orange : colorPalette.raspberryDark],
|
|
40
|
+
color: [_labsWidgetCommon.colorPalette.bottleGreenLight, isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.raspberryDark],
|
|
35
41
|
title: {
|
|
36
42
|
text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),
|
|
37
43
|
padding: 20,
|
|
@@ -44,7 +50,7 @@ export const getOption = _ref => {
|
|
|
44
50
|
toolbox: {
|
|
45
51
|
bottom: -4,
|
|
46
52
|
right: -4,
|
|
47
|
-
feature: getZoomControls({
|
|
53
|
+
feature: (0, _labsWidgetCommon.getZoomControls)({
|
|
48
54
|
resetStartValue: zoomInitialStartValue,
|
|
49
55
|
resetEndValue: zoomInitialEndValue
|
|
50
56
|
})
|
|
@@ -62,7 +68,7 @@ export const getOption = _ref => {
|
|
|
62
68
|
axisPointer: {
|
|
63
69
|
axis: 'y'
|
|
64
70
|
},
|
|
65
|
-
formatter: val => tooltipFormatter({
|
|
71
|
+
formatter: val => (0, _formatters.tooltipFormatter)({
|
|
66
72
|
data: val[0].data,
|
|
67
73
|
precision: bucketPrecision,
|
|
68
74
|
isOrderBook,
|
|
@@ -74,8 +80,8 @@ export const getOption = _ref => {
|
|
|
74
80
|
name: 'main-grid',
|
|
75
81
|
top: '48px',
|
|
76
82
|
left: '0px',
|
|
77
|
-
right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,
|
|
78
|
-
bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`
|
|
83
|
+
right: `${isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE}px`,
|
|
84
|
+
bottom: `${isDesktop ? _constants.X_LABEL_SIZE : _constants.X_LABEL_SIZE + _constants.ZOOM_CONTROL_HEIGHT}px`
|
|
79
85
|
}],
|
|
80
86
|
xAxis: {
|
|
81
87
|
type: 'value',
|
|
@@ -106,7 +112,7 @@ export const getOption = _ref => {
|
|
|
106
112
|
},
|
|
107
113
|
axisLabel: {
|
|
108
114
|
overflow: 'truncate',
|
|
109
|
-
width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,
|
|
115
|
+
width: (isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE) - 10,
|
|
110
116
|
margin: isDesktop ? 10 : 0,
|
|
111
117
|
showMaxLabel: false,
|
|
112
118
|
showMinLabel: false,
|
|
@@ -144,7 +150,7 @@ export const getOption = _ref => {
|
|
|
144
150
|
shape: rectShape,
|
|
145
151
|
emphasis: {
|
|
146
152
|
style: {
|
|
147
|
-
fill: colorPalette.bottleGreenLight
|
|
153
|
+
fill: _labsWidgetCommon.colorPalette.bottleGreenLight
|
|
148
154
|
}
|
|
149
155
|
},
|
|
150
156
|
style: {
|
|
@@ -179,7 +185,7 @@ export const getOption = _ref => {
|
|
|
179
185
|
shape: rectShape,
|
|
180
186
|
emphasis: {
|
|
181
187
|
style: {
|
|
182
|
-
fill: isDark ? colorPalette.orange : colorPalette.raspberryDark
|
|
188
|
+
fill: isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.raspberryDark
|
|
183
189
|
}
|
|
184
190
|
},
|
|
185
191
|
style: {
|
|
@@ -200,15 +206,15 @@ export const getOption = _ref => {
|
|
|
200
206
|
symbolRotate: 90,
|
|
201
207
|
symbolSize: [20, 10],
|
|
202
208
|
lineStyle: {
|
|
203
|
-
color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,
|
|
209
|
+
color: isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.bottleGreenDark,
|
|
204
210
|
width: 1
|
|
205
211
|
},
|
|
206
212
|
label: {
|
|
207
213
|
distance: isDesktop ? 5 : -5,
|
|
208
214
|
overflow: 'truncate',
|
|
209
|
-
width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,
|
|
210
|
-
color: isDark ? colorPalette.black : colorPalette.white,
|
|
211
|
-
backgroundColor: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,
|
|
215
|
+
width: isDesktop ? undefined : _constants.Y_LABEL_SIZE_MOBILE,
|
|
216
|
+
color: isDark ? _labsWidgetCommon.colorPalette.black : _labsWidgetCommon.colorPalette.white,
|
|
217
|
+
backgroundColor: isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.bottleGreenDark,
|
|
212
218
|
padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5]
|
|
213
219
|
},
|
|
214
220
|
data: [{
|
|
@@ -232,7 +238,7 @@ export const getOption = _ref => {
|
|
|
232
238
|
height: 30
|
|
233
239
|
},
|
|
234
240
|
style: {
|
|
235
|
-
fill: isDark ? colorPalette.darkGray : colorPalette.white,
|
|
241
|
+
fill: isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white,
|
|
236
242
|
shadowBlur: 8,
|
|
237
243
|
shadowOffsetX: 0,
|
|
238
244
|
shadowOffsetY: 1,
|
|
@@ -244,7 +250,7 @@ export const getOption = _ref => {
|
|
|
244
250
|
left: 'center',
|
|
245
251
|
top: 'middle',
|
|
246
252
|
style: {
|
|
247
|
-
fill: isDark ? colorPalette.white : colorPalette.black,
|
|
253
|
+
fill: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black,
|
|
248
254
|
width: 70,
|
|
249
255
|
height: 30,
|
|
250
256
|
text: lang(isOrderBook ? 'sell' : 'short')
|
|
@@ -252,7 +258,7 @@ export const getOption = _ref => {
|
|
|
252
258
|
}]
|
|
253
259
|
}, {
|
|
254
260
|
type: 'group',
|
|
255
|
-
right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,
|
|
261
|
+
right: `${(isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE) + 8}px'`,
|
|
256
262
|
top: '56px',
|
|
257
263
|
silent: true,
|
|
258
264
|
children: [{
|
|
@@ -265,7 +271,7 @@ export const getOption = _ref => {
|
|
|
265
271
|
height: 30
|
|
266
272
|
},
|
|
267
273
|
style: {
|
|
268
|
-
fill: isDark ? colorPalette.darkGray : colorPalette.white,
|
|
274
|
+
fill: isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white,
|
|
269
275
|
shadowBlur: 8,
|
|
270
276
|
shadowOffsetX: 0,
|
|
271
277
|
shadowOffsetY: 1,
|
|
@@ -277,7 +283,7 @@ export const getOption = _ref => {
|
|
|
277
283
|
right: 'center',
|
|
278
284
|
top: 'middle',
|
|
279
285
|
style: {
|
|
280
|
-
fill: isDark ? colorPalette.white : colorPalette.black,
|
|
286
|
+
fill: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black,
|
|
281
287
|
width: 70,
|
|
282
288
|
height: 30,
|
|
283
289
|
text: lang(isOrderBook ? 'buy' : 'long')
|
|
@@ -286,4 +292,5 @@ export const getOption = _ref => {
|
|
|
286
292
|
}]
|
|
287
293
|
};
|
|
288
294
|
};
|
|
295
|
+
exports.getOption = getOption;
|
|
289
296
|
//# sourceMappingURL=getOption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["colorPalette","getGridLines","getZoomControls","CHART_HEIGHT_DESKTOP","CHART_HEIGHT_MOBILE","CHART_WIDTH","INITIAL_BARS","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","ZOOM_CONTROL_HEIGHT","tooltipFormatter","getOption","_ref","data","precision","isDark","isOrderBook","isDesktop","lang","buckets","orderPositionBook","bucketWidth","price","bucketPrecision","toString","split","length","dataset","map","item","Number","longCountPercent","shortCountPercent","zoomInitialStartValue","zoomInitialEndValue","max","Math","min","abs","range","gridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","marginBottom","animation","color","bottleGreenLight","orange","raspberryDark","title","text","toUpperCase","padding","top","left","textStyle","fontSize","toolbox","bottom","right","feature","resetStartValue","resetEndValue","dataZoom","type","realtime","startValue","endValue","yAxisIndex","minValueSpan","tooltip","trigger","axisPointer","axis","formatter","val","extraCssText","grid","name","xAxis","floor","ceil","axisTick","show","axisLine","axisLabel","value","hideOverlap","alignMaxLabel","alignMinLabel","yAxis","position","overflow","width","margin","showMaxLabel","showMinLabel","toFixed","source","series","id","clip","encode","x","y","renderItem","params","api","yValue","xStart","coord","xEnd","bucketWidthHeight","size","height","rectShape","shape","emphasis","style","fill","visual","markLine","silent","symbol","symbolOffset","symbolRotate","symbolSize","lineStyle","bottleGreenDark","label","distance","undefined","black","white","backgroundColor","graphic","children","z","darkGray","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor"],"sources":["../../../../../src/OrderBookWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n getGridLines,\n getZoomControls,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT_DESKTOP,\n CHART_HEIGHT_MOBILE,\n CHART_WIDTH,\n INITIAL_BARS,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n ZOOM_CONTROL_HEIGHT,\n} from './constants';\nimport { tooltipFormatter } from './formatters';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = ({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}) => {\n const buckets = data.orderPositionBook[0]?.buckets || [];\n const bucketWidth = data.orderPositionBook[0]?.bucketWidth!;\n const price = data.orderPositionBook[0]?.price!;\n const bucketPrecision = bucketWidth?.toString().split('.')[1].length || 0;\n\n const dataset = buckets.map((item) => [\n item!.price,\n Number(item!.longCountPercent),\n Number(item!.shortCountPercent) * -1,\n ]);\n\n const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;\n const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;\n\n const max = Math.max(...dataset.map((item) => item[1]));\n const min = Math.abs(Math.min(...dataset.map((item) => item[2])));\n\n const range = max > min ? max : min;\n\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,\n xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: isDesktop,\n marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT,\n });\n\n return {\n animation: false,\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n title: {\n text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),\n padding: 20,\n top: 0,\n left: 0,\n textStyle: {\n fontSize: 14,\n },\n },\n toolbox: {\n bottom: -4,\n right: -4,\n feature: getZoomControls({\n resetStartValue: zoomInitialStartValue,\n resetEndValue: zoomInitialEndValue,\n }),\n },\n dataZoom: [\n {\n type: 'inside',\n realtime: true,\n startValue: zoomInitialStartValue,\n endValue: zoomInitialEndValue,\n\n yAxisIndex: 0,\n minValueSpan: 10 * bucketWidth,\n },\n ],\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'y',\n },\n formatter: (val) =>\n tooltipFormatter({\n data: (val as { data: number[] }[])[0].data,\n precision: bucketPrecision,\n isOrderBook,\n lang,\n }),\n extraCssText: 'z-index: 1',\n },\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n xAxis: {\n type: 'value',\n min: Math.floor(range * -1.1),\n max: Math.ceil(range * 1.1),\n axisTick: { show: false },\n axisLine: { show: false },\n axisLabel: {\n padding: [7, 12, 0, 12],\n formatter: (value) => (value === 0 ? '%' : `${Math.abs(value)}%`),\n hideOverlap: true,\n alignMaxLabel: 'right',\n alignMinLabel: 'left',\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n overflow: 'truncate',\n width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,\n margin: isDesktop ? 10 : 0,\n showMaxLabel: false,\n showMinLabel: false,\n padding: [0, 0, 0, 10],\n formatter: (value) => value.toFixed(bucketPrecision),\n },\n },\n dataset: {\n source: dataset,\n },\n series: [\n {\n type: 'custom',\n name: 'sell-short',\n id: 'sell-short',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 1,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(1), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] + 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: colorPalette.bottleGreenLight,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'buy-long',\n id: 'buy-long',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 2,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(2), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] - 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: isDark ? colorPalette.orange : colorPalette.raspberryDark,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n animation: false,\n silent: true,\n precision,\n symbol: ['none', 'triangle'],\n symbolOffset: [0, [0, isDesktop ? 0 : -10]] as unknown as number,\n symbolRotate: 90,\n symbolSize: [20, 10],\n lineStyle: {\n color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,\n width: 1,\n },\n label: {\n distance: isDesktop ? 5 : -5,\n overflow: 'truncate',\n width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,\n color: isDark ? colorPalette.black : colorPalette.white,\n backgroundColor: isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenDark,\n padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5],\n },\n data: [\n {\n yAxis: price,\n },\n ],\n },\n renderItem: () => null,\n },\n ],\n graphic: [\n ...gridLines,\n {\n type: 'group',\n left: '8px',\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n left: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n left: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'sell' : 'short'),\n },\n },\n ],\n },\n {\n type: 'group',\n right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'buy' : 'long'),\n },\n },\n ],\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_formatters","getOption","_ref","data","precision","isDark","isOrderBook","isDesktop","lang","buckets","orderPositionBook","bucketWidth","price","bucketPrecision","toString","split","length","dataset","map","item","Number","longCountPercent","shortCountPercent","zoomInitialStartValue","INITIAL_BARS","zoomInitialEndValue","max","Math","min","abs","range","gridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT_DESKTOP","CHART_HEIGHT_MOBILE","xLabelsSize","X_LABEL_SIZE","ZOOM_CONTROL_HEIGHT","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","bottomLeftBox","marginBottom","animation","color","colorPalette","bottleGreenLight","orange","raspberryDark","title","text","toUpperCase","padding","top","left","textStyle","fontSize","toolbox","bottom","right","feature","getZoomControls","resetStartValue","resetEndValue","dataZoom","type","realtime","startValue","endValue","yAxisIndex","minValueSpan","tooltip","trigger","axisPointer","axis","formatter","val","tooltipFormatter","extraCssText","grid","name","xAxis","floor","ceil","axisTick","show","axisLine","axisLabel","value","hideOverlap","alignMaxLabel","alignMinLabel","yAxis","position","overflow","width","margin","showMaxLabel","showMinLabel","toFixed","source","series","id","clip","encode","x","y","renderItem","params","api","yValue","xStart","coord","xEnd","bucketWidthHeight","size","height","rectShape","shape","emphasis","style","fill","visual","markLine","silent","symbol","symbolOffset","symbolRotate","symbolSize","lineStyle","bottleGreenDark","label","distance","undefined","black","white","backgroundColor","graphic","children","z","darkGray","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n getGridLines,\n getZoomControls,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT_DESKTOP,\n CHART_HEIGHT_MOBILE,\n CHART_WIDTH,\n INITIAL_BARS,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n ZOOM_CONTROL_HEIGHT,\n} from './constants';\nimport { tooltipFormatter } from './formatters';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = ({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}) => {\n const buckets = data.orderPositionBook[0]?.buckets || [];\n const bucketWidth = data.orderPositionBook[0]?.bucketWidth!;\n const price = data.orderPositionBook[0]?.price!;\n const bucketPrecision = bucketWidth?.toString().split('.')[1].length || 0;\n\n const dataset = buckets.map((item) => [\n item!.price,\n Number(item!.longCountPercent),\n Number(item!.shortCountPercent) * -1,\n ]);\n\n const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;\n const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;\n\n const max = Math.max(...dataset.map((item) => item[1]));\n const min = Math.abs(Math.min(...dataset.map((item) => item[2])));\n\n const range = max > min ? max : min;\n\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,\n xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: isDesktop,\n marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT,\n });\n\n return {\n animation: false,\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n title: {\n text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),\n padding: 20,\n top: 0,\n left: 0,\n textStyle: {\n fontSize: 14,\n },\n },\n toolbox: {\n bottom: -4,\n right: -4,\n feature: getZoomControls({\n resetStartValue: zoomInitialStartValue,\n resetEndValue: zoomInitialEndValue,\n }),\n },\n dataZoom: [\n {\n type: 'inside',\n realtime: true,\n startValue: zoomInitialStartValue,\n endValue: zoomInitialEndValue,\n\n yAxisIndex: 0,\n minValueSpan: 10 * bucketWidth,\n },\n ],\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'y',\n },\n formatter: (val) =>\n tooltipFormatter({\n data: (val as { data: number[] }[])[0].data,\n precision: bucketPrecision,\n isOrderBook,\n lang,\n }),\n extraCssText: 'z-index: 1',\n },\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n xAxis: {\n type: 'value',\n min: Math.floor(range * -1.1),\n max: Math.ceil(range * 1.1),\n axisTick: { show: false },\n axisLine: { show: false },\n axisLabel: {\n padding: [7, 12, 0, 12],\n formatter: (value) => (value === 0 ? '%' : `${Math.abs(value)}%`),\n hideOverlap: true,\n alignMaxLabel: 'right',\n alignMinLabel: 'left',\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n overflow: 'truncate',\n width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,\n margin: isDesktop ? 10 : 0,\n showMaxLabel: false,\n showMinLabel: false,\n padding: [0, 0, 0, 10],\n formatter: (value) => value.toFixed(bucketPrecision),\n },\n },\n dataset: {\n source: dataset,\n },\n series: [\n {\n type: 'custom',\n name: 'sell-short',\n id: 'sell-short',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 1,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(1), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] + 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: colorPalette.bottleGreenLight,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'buy-long',\n id: 'buy-long',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 2,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(2), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] - 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: isDark ? colorPalette.orange : colorPalette.raspberryDark,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n animation: false,\n silent: true,\n precision,\n symbol: ['none', 'triangle'],\n symbolOffset: [0, [0, isDesktop ? 0 : -10]] as unknown as number,\n symbolRotate: 90,\n symbolSize: [20, 10],\n lineStyle: {\n color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,\n width: 1,\n },\n label: {\n distance: isDesktop ? 5 : -5,\n overflow: 'truncate',\n width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,\n color: isDark ? colorPalette.black : colorPalette.white,\n backgroundColor: isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenDark,\n padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5],\n },\n data: [\n {\n yAxis: price,\n },\n ],\n },\n renderItem: () => null,\n },\n ],\n graphic: [\n ...gridLines,\n {\n type: 'group',\n left: '8px',\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n left: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n left: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'sell' : 'short'),\n },\n },\n ],\n },\n {\n type: 'group',\n right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'buy' : 'long'),\n },\n },\n ],\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,79 +1,84 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.navigationConfig = exports.instrumentSelectConfigOC = exports.instrumentSelectConfig = exports.instrumentPrecisionConfig = void 0;
|
|
7
|
+
var _graphql = require("../gql/types/graphql");
|
|
8
|
+
var _types = require("./types");
|
|
9
|
+
const navigationConfig = exports.navigationConfig = [{
|
|
10
|
+
id: _graphql.BookType.Order,
|
|
5
11
|
label: 'order_book'
|
|
6
12
|
}, {
|
|
7
|
-
id: BookType.Position,
|
|
13
|
+
id: _graphql.BookType.Position,
|
|
8
14
|
label: 'position_book'
|
|
9
15
|
}];
|
|
10
|
-
const instrumentSelectConfigOC = [{
|
|
11
|
-
id: InstrumentId.EUR_AUD,
|
|
16
|
+
const instrumentSelectConfigOC = exports.instrumentSelectConfigOC = [{
|
|
17
|
+
id: _types.InstrumentId.EUR_AUD,
|
|
12
18
|
label: 'EUR/AUD'
|
|
13
19
|
}, {
|
|
14
|
-
id: InstrumentId.EUR_GBP,
|
|
20
|
+
id: _types.InstrumentId.EUR_GBP,
|
|
15
21
|
label: 'EUR/GBP'
|
|
16
22
|
}, {
|
|
17
|
-
id: InstrumentId.EUR_JPY,
|
|
23
|
+
id: _types.InstrumentId.EUR_JPY,
|
|
18
24
|
label: 'EUR/JPY'
|
|
19
25
|
}, {
|
|
20
|
-
id: InstrumentId.EUR_USD,
|
|
26
|
+
id: _types.InstrumentId.EUR_USD,
|
|
21
27
|
label: 'EUR/USD'
|
|
22
28
|
}, {
|
|
23
|
-
id: InstrumentId.EUR_CHF,
|
|
29
|
+
id: _types.InstrumentId.EUR_CHF,
|
|
24
30
|
label: 'EUR/CHF'
|
|
25
31
|
}, {
|
|
26
|
-
id: InstrumentId.USD_CHF,
|
|
32
|
+
id: _types.InstrumentId.USD_CHF,
|
|
27
33
|
label: 'USD/CHF'
|
|
28
34
|
}, {
|
|
29
|
-
id: InstrumentId.USD_JPY,
|
|
35
|
+
id: _types.InstrumentId.USD_JPY,
|
|
30
36
|
label: 'USD/JPY'
|
|
31
37
|
}, {
|
|
32
|
-
id: InstrumentId.USD_CAD,
|
|
38
|
+
id: _types.InstrumentId.USD_CAD,
|
|
33
39
|
label: 'USD/CAD'
|
|
34
40
|
}, {
|
|
35
|
-
id: InstrumentId.GBP_USD,
|
|
41
|
+
id: _types.InstrumentId.GBP_USD,
|
|
36
42
|
label: 'GBP/USD'
|
|
37
43
|
}, {
|
|
38
|
-
id: InstrumentId.GBP_JPY,
|
|
44
|
+
id: _types.InstrumentId.GBP_JPY,
|
|
39
45
|
label: 'GBP/JPY'
|
|
40
46
|
}, {
|
|
41
|
-
id: InstrumentId.GBP_CHF,
|
|
47
|
+
id: _types.InstrumentId.GBP_CHF,
|
|
42
48
|
label: 'GBP/CHF'
|
|
43
49
|
}, {
|
|
44
|
-
id: InstrumentId.AUD_JPY,
|
|
50
|
+
id: _types.InstrumentId.AUD_JPY,
|
|
45
51
|
label: 'AUD/JPY'
|
|
46
52
|
}, {
|
|
47
|
-
id: InstrumentId.AUD_USD,
|
|
53
|
+
id: _types.InstrumentId.AUD_USD,
|
|
48
54
|
label: 'AUD/USD'
|
|
49
55
|
}, {
|
|
50
|
-
id: InstrumentId.NZD_USD,
|
|
56
|
+
id: _types.InstrumentId.NZD_USD,
|
|
51
57
|
label: 'NZD/USD'
|
|
52
58
|
}];
|
|
53
|
-
const instrumentSelectConfig = [...instrumentSelectConfigOC, {
|
|
54
|
-
id: InstrumentId.XAU_USD,
|
|
59
|
+
const instrumentSelectConfig = exports.instrumentSelectConfig = [...instrumentSelectConfigOC, {
|
|
60
|
+
id: _types.InstrumentId.XAU_USD,
|
|
55
61
|
label: 'XAU/USD'
|
|
56
62
|
}, {
|
|
57
|
-
id: InstrumentId.XAG_USD,
|
|
63
|
+
id: _types.InstrumentId.XAG_USD,
|
|
58
64
|
label: 'XAG/USD'
|
|
59
65
|
}];
|
|
60
|
-
const instrumentPrecisionConfig = {
|
|
61
|
-
[InstrumentId.EUR_AUD]: 5,
|
|
62
|
-
[InstrumentId.EUR_GBP]: 5,
|
|
63
|
-
[InstrumentId.EUR_JPY]: 3,
|
|
64
|
-
[InstrumentId.EUR_USD]: 5,
|
|
65
|
-
[InstrumentId.EUR_CHF]: 5,
|
|
66
|
-
[InstrumentId.USD_CHF]: 5,
|
|
67
|
-
[InstrumentId.USD_JPY]: 3,
|
|
68
|
-
[InstrumentId.USD_CAD]: 5,
|
|
69
|
-
[InstrumentId.GBP_USD]: 5,
|
|
70
|
-
[InstrumentId.GBP_JPY]: 3,
|
|
71
|
-
[InstrumentId.GBP_CHF]: 5,
|
|
72
|
-
[InstrumentId.AUD_JPY]: 3,
|
|
73
|
-
[InstrumentId.AUD_USD]: 5,
|
|
74
|
-
[InstrumentId.NZD_USD]: 5,
|
|
75
|
-
[InstrumentId.XAU_USD]: 3,
|
|
76
|
-
[InstrumentId.XAG_USD]: 5
|
|
66
|
+
const instrumentPrecisionConfig = exports.instrumentPrecisionConfig = {
|
|
67
|
+
[_types.InstrumentId.EUR_AUD]: 5,
|
|
68
|
+
[_types.InstrumentId.EUR_GBP]: 5,
|
|
69
|
+
[_types.InstrumentId.EUR_JPY]: 3,
|
|
70
|
+
[_types.InstrumentId.EUR_USD]: 5,
|
|
71
|
+
[_types.InstrumentId.EUR_CHF]: 5,
|
|
72
|
+
[_types.InstrumentId.USD_CHF]: 5,
|
|
73
|
+
[_types.InstrumentId.USD_JPY]: 3,
|
|
74
|
+
[_types.InstrumentId.USD_CAD]: 5,
|
|
75
|
+
[_types.InstrumentId.GBP_USD]: 5,
|
|
76
|
+
[_types.InstrumentId.GBP_JPY]: 3,
|
|
77
|
+
[_types.InstrumentId.GBP_CHF]: 5,
|
|
78
|
+
[_types.InstrumentId.AUD_JPY]: 3,
|
|
79
|
+
[_types.InstrumentId.AUD_USD]: 5,
|
|
80
|
+
[_types.InstrumentId.NZD_USD]: 5,
|
|
81
|
+
[_types.InstrumentId.XAU_USD]: 3,
|
|
82
|
+
[_types.InstrumentId.XAG_USD]: 5
|
|
77
83
|
};
|
|
78
|
-
export { instrumentPrecisionConfig, instrumentSelectConfig, instrumentSelectConfigOC, navigationConfig };
|
|
79
84
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["
|
|
1
|
+
{"version":3,"file":"config.js","names":["_graphql","require","_types","navigationConfig","exports","id","BookType","Order","label","Position","instrumentSelectConfigOC","InstrumentId","EUR_AUD","EUR_GBP","EUR_JPY","EUR_USD","EUR_CHF","USD_CHF","USD_JPY","USD_CAD","GBP_USD","GBP_JPY","GBP_CHF","AUD_JPY","AUD_USD","NZD_USD","instrumentSelectConfig","XAU_USD","XAG_USD","instrumentPrecisionConfig"],"sources":["../../../src/OrderBookWidget/config.ts"],"sourcesContent":["import { BookType } from '../gql/types/graphql';\nimport { InstrumentId } from './types';\n\nconst navigationConfig = [\n {\n id: BookType.Order,\n label: 'order_book',\n },\n {\n id: BookType.Position,\n label: 'position_book',\n },\n];\n\nconst instrumentSelectConfigOC = [\n {\n id: InstrumentId.EUR_AUD,\n label: 'EUR/AUD',\n },\n {\n id: InstrumentId.EUR_GBP,\n label: 'EUR/GBP',\n },\n {\n id: InstrumentId.EUR_JPY,\n label: 'EUR/JPY',\n },\n {\n id: InstrumentId.EUR_USD,\n label: 'EUR/USD',\n },\n {\n id: InstrumentId.EUR_CHF,\n label: 'EUR/CHF',\n },\n {\n id: InstrumentId.USD_CHF,\n label: 'USD/CHF',\n },\n {\n id: InstrumentId.USD_JPY,\n label: 'USD/JPY',\n },\n {\n id: InstrumentId.USD_CAD,\n label: 'USD/CAD',\n },\n {\n id: InstrumentId.GBP_USD,\n label: 'GBP/USD',\n },\n {\n id: InstrumentId.GBP_JPY,\n label: 'GBP/JPY',\n },\n {\n id: InstrumentId.GBP_CHF,\n label: 'GBP/CHF',\n },\n {\n id: InstrumentId.AUD_JPY,\n label: 'AUD/JPY',\n },\n {\n id: InstrumentId.AUD_USD,\n label: 'AUD/USD',\n },\n {\n id: InstrumentId.NZD_USD,\n label: 'NZD/USD',\n },\n];\n\nconst instrumentSelectConfig = [\n ...instrumentSelectConfigOC,\n {\n id: InstrumentId.XAU_USD,\n label: 'XAU/USD',\n },\n {\n id: InstrumentId.XAG_USD,\n label: 'XAG/USD',\n },\n];\n\nconst instrumentPrecisionConfig: Record<InstrumentId, number> = {\n [InstrumentId.EUR_AUD]: 5,\n [InstrumentId.EUR_GBP]: 5,\n [InstrumentId.EUR_JPY]: 3,\n [InstrumentId.EUR_USD]: 5,\n [InstrumentId.EUR_CHF]: 5,\n [InstrumentId.USD_CHF]: 5,\n [InstrumentId.USD_JPY]: 3,\n [InstrumentId.USD_CAD]: 5,\n [InstrumentId.GBP_USD]: 5,\n [InstrumentId.GBP_JPY]: 3,\n [InstrumentId.GBP_CHF]: 5,\n [InstrumentId.AUD_JPY]: 3,\n [InstrumentId.AUD_USD]: 5,\n [InstrumentId.NZD_USD]: 5,\n [InstrumentId.XAU_USD]: 3,\n [InstrumentId.XAG_USD]: 5,\n};\nexport {\n instrumentPrecisionConfig,\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n navigationConfig,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EMPTY_VALUE = void 0;
|
|
7
|
+
const EMPTY_VALUE = exports.EMPTY_VALUE = '\u2014';
|
|
3
8
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["EMPTY_VALUE"],"sources":["../../../src/OrderBookWidget/constants.ts"],"sourcesContent":["const EMPTY_VALUE = '\\u2014';\n\nexport { EMPTY_VALUE };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,QAAQ
|
|
1
|
+
{"version":3,"file":"constants.js","names":["EMPTY_VALUE","exports"],"sources":["../../../src/OrderBookWidget/constants.ts"],"sourcesContent":["const EMPTY_VALUE = '\\u2014';\n\nexport { EMPTY_VALUE };\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,QAAQ","ignoreList":[]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _client = require("react-dom/client");
|
|
6
|
+
var _graphql = require("../gql/types/graphql");
|
|
7
|
+
var _config = require("./config");
|
|
8
|
+
var _OrderBookWidget = require("./OrderBookWidget");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
10
|
const {
|
|
8
11
|
graphqlUrl: configGraphQl,
|
|
9
12
|
instrument: configInstrument,
|
|
@@ -17,7 +20,7 @@ const {
|
|
|
17
20
|
const orderBookElements = document.querySelectorAll('div[data-order-book-params]');
|
|
18
21
|
if (orderBookElements.length > 0) {
|
|
19
22
|
orderBookElements.forEach(element => {
|
|
20
|
-
const root = createRoot(element);
|
|
23
|
+
const root = (0, _client.createRoot)(element);
|
|
21
24
|
const params = element.getAttribute('data-order-book-params');
|
|
22
25
|
const mode = element.getAttribute('data-mode');
|
|
23
26
|
const {
|
|
@@ -26,40 +29,40 @@ if (orderBookElements.length > 0) {
|
|
|
26
29
|
division,
|
|
27
30
|
logoLink
|
|
28
31
|
} = JSON.parse(params);
|
|
29
|
-
const isParamError = instrument ? validateToolParams({
|
|
32
|
+
const isParamError = instrument ? (0, _labsWidgetCommon.validateToolParams)({
|
|
30
33
|
locale,
|
|
31
34
|
graphqlUrl,
|
|
32
35
|
division,
|
|
33
36
|
instrument
|
|
34
37
|
}, [{
|
|
35
38
|
name: 'locale',
|
|
36
|
-
valueCheck: value => validateLocale(value)
|
|
39
|
+
valueCheck: value => (0, _labsWidgetCommon.validateLocale)(value)
|
|
37
40
|
}, {
|
|
38
41
|
name: 'graphqlUrl'
|
|
39
42
|
}, {
|
|
40
43
|
name: 'division',
|
|
41
|
-
valueCheck: value => Object.values(Division).includes(value)
|
|
44
|
+
valueCheck: value => Object.values(_graphql.Division).includes(value)
|
|
42
45
|
}, {
|
|
43
46
|
name: 'instrument',
|
|
44
47
|
valueCheck: value => {
|
|
45
|
-
const acceptableInstruments = division === Division.Oc ? instrumentSelectConfigOC : instrumentSelectConfig;
|
|
48
|
+
const acceptableInstruments = division === _graphql.Division.Oc ? _config.instrumentSelectConfigOC : _config.instrumentSelectConfig;
|
|
46
49
|
return Object.values(acceptableInstruments.map(x => x.id)).includes(value.replace(/\/|_/g, ''));
|
|
47
50
|
}
|
|
48
|
-
}]) : validateToolParams({
|
|
51
|
+
}]) : (0, _labsWidgetCommon.validateToolParams)({
|
|
49
52
|
locale,
|
|
50
53
|
graphqlUrl,
|
|
51
54
|
division,
|
|
52
55
|
logoLink
|
|
53
56
|
}, [{
|
|
54
57
|
name: 'locale',
|
|
55
|
-
valueCheck: value => validateLocale(value)
|
|
58
|
+
valueCheck: value => (0, _labsWidgetCommon.validateLocale)(value)
|
|
56
59
|
}, {
|
|
57
60
|
name: 'graphqlUrl'
|
|
58
61
|
}, {
|
|
59
62
|
name: 'division',
|
|
60
|
-
valueCheck: value => Object.values(Division).includes(value)
|
|
63
|
+
valueCheck: value => Object.values(_graphql.Division).includes(value)
|
|
61
64
|
}]);
|
|
62
|
-
root.render(
|
|
65
|
+
root.render(_react.default.createElement(_OrderBookWidget.OrderBookWidget, {
|
|
63
66
|
division: division,
|
|
64
67
|
graphqlUrl: graphqlUrl,
|
|
65
68
|
instrument: instrument,
|
|
@@ -71,8 +74,8 @@ if (orderBookElements.length > 0) {
|
|
|
71
74
|
});
|
|
72
75
|
} else {
|
|
73
76
|
const container = document.querySelector(configRenderElementId);
|
|
74
|
-
const root = createRoot(container);
|
|
75
|
-
root.render(
|
|
77
|
+
const root = (0, _client.createRoot)(container);
|
|
78
|
+
root.render(_react.default.createElement(_OrderBookWidget.OrderBookWidget, {
|
|
76
79
|
division: configDivision,
|
|
77
80
|
graphqlUrl: configGraphQl,
|
|
78
81
|
instrument: configInstrument,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","names":["
|
|
1
|
+
{"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_config","_OrderBookWidget","e","__esModule","default","graphqlUrl","configGraphQl","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","division","configDivision","window","volatilityChartWidgetConfig","widgetsConfig","orderBookElements","document","querySelectorAll","length","forEach","element","root","createRoot","params","getAttribute","mode","logoLink","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","acceptableInstruments","Oc","instrumentSelectConfigOC","instrumentSelectConfig","map","x","id","replace","render","createElement","OrderBookWidget","theme","container","querySelector"],"sources":["../../../src/OrderBookWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { instrumentSelectConfig, instrumentSelectConfigOC } from './config';\nimport { OrderBookWidget } from './OrderBookWidget';\nimport type { InstrumentId } from './types';\n\nconst {\n graphqlUrl: configGraphQl,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n division: configDivision,\n} = window.volatilityChartWidgetConfig || {};\n\nconst { graphqlUrl } = window.widgetsConfig || {};\n\nconst orderBookElements = document.querySelectorAll(\n 'div[data-order-book-params]'\n);\n\nif (orderBookElements.length > 0) {\n orderBookElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-order-book-params');\n const mode = element.getAttribute('data-mode');\n const { instrument, locale, division, logoLink } = JSON.parse(\n params as string\n );\n\n const isParamError = instrument\n ? validateToolParams(\n {\n locale,\n graphqlUrl,\n division,\n instrument,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'graphqlUrl',\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n {\n name: 'instrument',\n valueCheck: (value) => {\n const acceptableInstruments =\n division === Division.Oc\n ? instrumentSelectConfigOC\n : instrumentSelectConfig;\n\n return Object.values(\n acceptableInstruments.map((x) => x.id)\n ).includes(value.replace(/\\/|_/g, '') as InstrumentId);\n },\n },\n ]\n )\n : validateToolParams(\n {\n locale,\n graphqlUrl,\n division,\n logoLink,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'graphqlUrl',\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n ]\n );\n\n root.render(\n <OrderBookWidget\n division={division}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n isParamError={isParamError}\n locale={locale}\n logoLink={logoLink}\n theme={mode as Theme}\n />\n );\n });\n} else {\n const container: HTMLElement | null = document.querySelector(\n configRenderElementId\n );\n\n const root = createRoot(container!);\n\n root.render(\n <OrderBookWidget\n division={configDivision}\n graphqlUrl={configGraphQl}\n instrument={configInstrument}\n locale={configLocale}\n />\n );\n}\n"],"mappings":";;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAAoD,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGpD,MAAM;EACJG,UAAU,EAAEC,aAAa;EACzBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC,YAAY;EACpBC,QAAQ,EAAEC;AACZ,CAAC,GAAGC,MAAM,CAACC,2BAA2B,IAAI,CAAC,CAAC;AAE5C,MAAM;EAAEX;AAAW,CAAC,GAAGU,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAMC,iBAAiB,GAAGC,QAAQ,CAACC,gBAAgB,CACjD,6BACF,CAAC;AAED,IAAIF,iBAAiB,CAACG,MAAM,GAAG,CAAC,EAAE;EAChCH,iBAAiB,CAACI,OAAO,CAAEC,OAAO,IAAK;IACrC,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;IAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,wBAAwB,CAAC;IAC7D,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MAAEpB,UAAU;MAAEI,MAAM;MAAEE,QAAQ;MAAEgB;IAAS,CAAC,GAAGC,IAAI,CAACC,KAAK,CAC3DL,MACF,CAAC;IAED,MAAMM,YAAY,GAAGzB,UAAU,GAC3B,IAAA0B,oCAAkB,EAChB;MACEtB,MAAM;MACNN,UAAU;MACVQ,QAAQ;MACRN;IACF,CAAC,EACD,CACE;MACE2B,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;IACjE,CAAC,EACD;MACEF,IAAI,EAAE;IACR,CAAC,EACD;MACEA,IAAI,EAAE,UAAU;MAChBC,UAAU,EAAGC,KAAe,IAC1BE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;IAC1C,CAAC,EACD;MACEF,IAAI,EAAE,YAAY;MAClBC,UAAU,EAAGC,KAAK,IAAK;QACrB,MAAMM,qBAAqB,GACzB7B,QAAQ,KAAK2B,iBAAQ,CAACG,EAAE,GACpBC,gCAAwB,GACxBC,8BAAsB;QAE5B,OAAOP,MAAM,CAACC,MAAM,CAClBG,qBAAqB,CAACI,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CACvC,CAAC,CAACP,QAAQ,CAACL,KAAK,CAACa,OAAO,CAAC,OAAO,EAAE,EAAE,CAAiB,CAAC;MACxD;IACF,CAAC,CAEL,CAAC,GACD,IAAAhB,oCAAkB,EAChB;MACEtB,MAAM;MACNN,UAAU;MACVQ,QAAQ;MACRgB;IACF,CAAC,EACD,CACE;MACEK,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;IACjE,CAAC,EACD;MACEF,IAAI,EAAE;IACR,CAAC,EACD;MACEA,IAAI,EAAE,UAAU;MAChBC,UAAU,EAAGC,KAAe,IAC1BE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;IAC1C,CAAC,CAEL,CAAC;IAELZ,IAAI,CAAC0B,MAAM,CACTtD,MAAA,CAAAQ,OAAA,CAAA+C,aAAA,CAAClD,gBAAA,CAAAmD,eAAe;MACdvC,QAAQ,EAAEA,QAAS;MACnBR,UAAU,EAAEA,UAAW;MACvBE,UAAU,EAAEA,UAAW;MACvByB,YAAY,EAAEA,YAAa;MAC3BrB,MAAM,EAAEA,MAAO;MACfkB,QAAQ,EAAEA,QAAS;MACnBwB,KAAK,EAAEzB;IAAc,CACtB,CACH,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACL,MAAM0B,SAA6B,GAAGnC,QAAQ,CAACoC,aAAa,CAC1D7C,qBACF,CAAC;EAED,MAAMc,IAAI,GAAG,IAAAC,kBAAU,EAAC6B,SAAU,CAAC;EAEnC9B,IAAI,CAAC0B,MAAM,CACTtD,MAAA,CAAAQ,OAAA,CAAA+C,aAAA,CAAClD,gBAAA,CAAAmD,eAAe;IACdvC,QAAQ,EAAEC,cAAe;IACzBT,UAAU,EAAEC,aAAc;IAC1BC,UAAU,EAAEC,gBAAiB;IAC7BG,MAAM,EAAEC;EAAa,CACtB,CACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.InstrumentId = void 0;
|
|
7
|
+
let InstrumentId = exports.InstrumentId = function (InstrumentId) {
|
|
2
8
|
InstrumentId["EUR_AUD"] = "EURAUD";
|
|
3
9
|
InstrumentId["EUR_GBP"] = "EURGBP";
|
|
4
10
|
InstrumentId["EUR_JPY"] = "EURJPY";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["InstrumentId"],"sources":["../../../src/OrderBookWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { BookType, Division } from '../gql/types/graphql';\n\nexport interface OrderBookWidgetConfig extends WidgetConfig {\n instrument: InstrumentId;\n division: Division;\n}\n\nexport interface OrderBookWrapperConfig extends OrderBookWidgetConfig {\n renderElementId: string;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n division: Division;\n}\n\nexport interface ChartWithDataProps {\n instrument: InstrumentId;\n bookType: BookType;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EURAUD',\n EUR_GBP = 'EURGBP',\n EUR_JPY = 'EURJPY',\n EUR_USD = 'EURUSD',\n EUR_CHF = 'EURCHF',\n USD_CHF = 'USDCHF',\n USD_JPY = 'USDJPY',\n USD_CAD = 'USDCAD',\n GBP_USD = 'GBPUSD',\n GBP_JPY = 'GBPJPY',\n GBP_CHF = 'GBPCHF',\n AUD_JPY = 'AUDJPY',\n AUD_USD = 'AUDUSD',\n NZD_USD = 'NZDUSD',\n XAU_USD = 'XAUUSD',\n XAG_USD = 'XAGUSD',\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","names":["InstrumentId","exports"],"sources":["../../../src/OrderBookWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { BookType, Division } from '../gql/types/graphql';\n\nexport interface OrderBookWidgetConfig extends WidgetConfig {\n instrument: InstrumentId;\n division: Division;\n}\n\nexport interface OrderBookWrapperConfig extends OrderBookWidgetConfig {\n renderElementId: string;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n division: Division;\n}\n\nexport interface ChartWithDataProps {\n instrument: InstrumentId;\n bookType: BookType;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EURAUD',\n EUR_GBP = 'EURGBP',\n EUR_JPY = 'EURJPY',\n EUR_USD = 'EURUSD',\n EUR_CHF = 'EURCHF',\n USD_CHF = 'USDCHF',\n USD_JPY = 'USDJPY',\n USD_CAD = 'USDCAD',\n GBP_USD = 'GBPUSD',\n GBP_JPY = 'GBPJPY',\n GBP_CHF = 'GBPCHF',\n AUD_JPY = 'AUDJPY',\n AUD_USD = 'AUDUSD',\n NZD_USD = 'NZDUSD',\n XAU_USD = 'XAUUSD',\n XAG_USD = 'XAGUSD',\n}\n"],"mappings":";;;;;;IAuBYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|