@oanda/labs-crowd-view-widget 1.0.48 → 1.0.50
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 +404 -0
- package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +3 -2
- package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
- package/dist/main/CrowdViewWidget/selectConfig.js +6 -6
- package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +3 -2
- package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
- package/dist/module/CrowdViewWidget/selectConfig.js +6 -6
- package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -1
- package/package.json +3 -3
- package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +6 -2
- package/src/CrowdViewWidget/selectConfig.ts +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,410 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 1.0.50 (2025-11-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## 1.0.231 (2025-11-07)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## 1.0.230 (2025-11-05)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## 1.0.229 (2025-11-05)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## 1.0.228 (2025-11-05)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## 1.0.227 (2025-10-31)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## 1.0.226 (2025-10-29)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## 1.0.225 (2025-10-09)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## 1.0.224 (2025-09-29)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## 1.0.223 (2025-09-29)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## 1.0.222 (2025-09-17)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## 1.0.221 (2025-09-11)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## 1.0.220 (2025-09-09)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## 1.0.219 (2025-09-02)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## 1.0.218 (2025-09-01)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## 1.0.217 (2025-08-25)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## 1.0.216 (2025-08-18)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## 1.0.215 (2025-08-18)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## 1.0.214 (2025-08-14)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## 1.0.213 (2025-08-12)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## 1.0.212 (2025-08-05)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## 1.0.211 (2025-08-05)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## 1.0.210 (2025-07-31)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## 1.0.209 (2025-07-31)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## 1.0.208 (2025-07-24)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
## 1.0.207 (2025-07-18)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
## 1.0.206 (2025-07-18)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
## 1.0.205 (2025-07-17)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## 1.0.204 (2025-07-09)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
## 1.0.203 (2025-06-16)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
## 1.0.202 (2025-06-04)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## 1.0.201 (2025-06-02)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
## 1.0.200 (2025-05-30)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## 1.0.199 (2025-05-29)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
## 1.0.198 (2025-05-26)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
## 1.0.197 (2025-05-23)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
## 1.0.196 (2025-05-22)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
## 1.0.195 (2025-05-21)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## 1.0.194 (2025-05-21)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
## 1.0.193 (2025-05-15)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
## 1.0.192 (2025-05-14)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
## 1.0.191 (2025-04-30)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
## 1.0.190 (2025-04-28)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
## 1.0.189 (2025-04-23)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
## 1.0.188 (2025-04-22)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
## 1.0.187 (2025-04-18)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
## 1.0.186 (2025-04-10)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
## 1.0.185 (2025-04-09)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
## 1.0.184 (2025-04-08)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
## 1.0.183 (2025-04-04)
|
|
203
|
+
|
|
204
|
+
**Note:** Version bump only for package @oanda/labs-crowd-view-widget
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
## 1.0.49 (2025-11-07)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
## 1.0.230 (2025-11-05)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
## 1.0.229 (2025-11-05)
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
## 1.0.228 (2025-11-05)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
## 1.0.227 (2025-10-31)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
## 1.0.226 (2025-10-29)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
## 1.0.225 (2025-10-09)
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
## 1.0.224 (2025-09-29)
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
## 1.0.223 (2025-09-29)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
## 1.0.222 (2025-09-17)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
## 1.0.221 (2025-09-11)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
## 1.0.220 (2025-09-09)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
## 1.0.219 (2025-09-02)
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
## 1.0.218 (2025-09-01)
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
## 1.0.217 (2025-08-25)
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
## 1.0.216 (2025-08-18)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
## 1.0.215 (2025-08-18)
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
## 1.0.214 (2025-08-14)
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
## 1.0.213 (2025-08-12)
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
## 1.0.212 (2025-08-05)
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
## 1.0.211 (2025-08-05)
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
## 1.0.210 (2025-07-31)
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
## 1.0.209 (2025-07-31)
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
## 1.0.208 (2025-07-24)
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
## 1.0.207 (2025-07-18)
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
## 1.0.206 (2025-07-18)
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
## 1.0.205 (2025-07-17)
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
## 1.0.204 (2025-07-09)
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
## 1.0.203 (2025-06-16)
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
## 1.0.202 (2025-06-04)
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
## 1.0.201 (2025-06-02)
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
## 1.0.200 (2025-05-30)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
## 1.0.199 (2025-05-29)
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
## 1.0.198 (2025-05-26)
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
## 1.0.197 (2025-05-23)
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
## 1.0.196 (2025-05-22)
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
## 1.0.195 (2025-05-21)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
## 1.0.194 (2025-05-21)
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
## 1.0.193 (2025-05-15)
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
## 1.0.192 (2025-05-14)
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
## 1.0.191 (2025-04-30)
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
## 1.0.190 (2025-04-28)
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
## 1.0.189 (2025-04-23)
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
## 1.0.188 (2025-04-22)
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
## 1.0.187 (2025-04-18)
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
## 1.0.186 (2025-04-10)
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
## 1.0.185 (2025-04-09)
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
## 1.0.184 (2025-04-08)
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
## 1.0.183 (2025-04-04)
|
|
403
|
+
|
|
404
|
+
**Note:** Version bump only for package @oanda/labs-crowd-view-widget
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
6
410
|
## 1.0.48 (2025-11-05)
|
|
7
411
|
|
|
8
412
|
|
|
@@ -18,15 +18,16 @@ const useCrowdViewData = _ref => {
|
|
|
18
18
|
division,
|
|
19
19
|
granularity
|
|
20
20
|
} = _ref;
|
|
21
|
+
const dataSource = division === _graphql.Division.Ogm || division === _graphql.Division.Oj ? _graphql.DataSource.Mt5 : _graphql.DataSource.V20;
|
|
21
22
|
const {
|
|
22
23
|
loading: priceCandlesLoading,
|
|
23
24
|
data: priceCandlesData,
|
|
24
25
|
error: priceCandlesError
|
|
25
26
|
} = (0, _client.useQuery)(_getPriceCandles.getPriceCandles, {
|
|
26
27
|
variables: {
|
|
27
|
-
dataSource
|
|
28
|
+
dataSource,
|
|
28
29
|
division,
|
|
29
|
-
instrument:
|
|
30
|
+
instrument: dataSource === _graphql.DataSource.Mt5 ? _constants.INSTRUMENTS_CONFIG[instrument].mt5name : _constants.INSTRUMENTS_CONFIG[instrument].v20name,
|
|
30
31
|
granularity,
|
|
31
32
|
timeSpan: (0, _utils.getTimeSpanForGranularity)(granularity)
|
|
32
33
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCrowdViewData.js","names":["_client","require","_react","_getOrderPositionBooks","_getPriceCandles","_graphql","_constants","_utils","useCrowdViewData","_ref","instrument","bookType","division","granularity","
|
|
1
|
+
{"version":3,"file":"useCrowdViewData.js","names":["_client","require","_react","_getOrderPositionBooks","_getPriceCandles","_graphql","_constants","_utils","useCrowdViewData","_ref","instrument","bookType","division","granularity","dataSource","Division","Ogm","Oj","DataSource","Mt5","V20","loading","priceCandlesLoading","data","priceCandlesData","error","priceCandlesError","useQuery","getPriceCandles","variables","INSTRUMENTS_CONFIG","mt5name","v20name","timeSpan","getTimeSpanForGranularity","fetchPolicy","priceCandlesProcessed","useMemo","processPriceCandles","minPrice","maxPrice","hasValidCandles","candleMap","candles","targetBucketWidth","getTargetBucketWidth","maxBookPrice","BUCKET_CONFIG","PRICE_PADDING_MULTIPLIER","minBookPrice","orderPositionLoading","orderPositionData","orderPositionError","getOrderPositionBooks","BookType","Order","skip","orderPositionBooks","processOrderPositionBooks","buckets","processBuckets","Error","concat","message","validateData","xAxisData","map","candle","point","candlesSeriesData","open","close","low","high","bucketWidth","precision","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useCrowdViewData.ts"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useMemo } from 'react';\n\nimport { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';\nimport { getPriceCandles } from '../../../gql/getPriceCandles';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables,\n} from '../../../gql/types/graphql';\nimport { BookType, DataSource, Division } from '../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';\nimport type { UseCrowdViewDataProps, UseCrowdViewDataReturn } from './types';\nimport {\n getTargetBucketWidth,\n getTimeSpanForGranularity,\n processBuckets,\n processOrderPositionBooks,\n processPriceCandles,\n validateData,\n} from './utils';\n\nexport const useCrowdViewData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {\n const dataSource =\n division === Division.Ogm || division === Division.Oj\n ? DataSource.Mt5\n : DataSource.V20;\n const {\n loading: priceCandlesLoading,\n data: priceCandlesData,\n error: priceCandlesError,\n } = useQuery<GetPriceCandlesQuery, GetPriceCandlesQueryVariables>(\n getPriceCandles,\n {\n variables: {\n dataSource,\n division,\n instrument:\n dataSource === DataSource.Mt5\n ? INSTRUMENTS_CONFIG[instrument].mt5name\n : INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n }\n );\n\n const priceCandlesProcessed = useMemo(\n () => processPriceCandles(priceCandlesData),\n [priceCandlesData]\n );\n\n const { minPrice, maxPrice, hasValidCandles, candleMap, candles } =\n priceCandlesProcessed;\n\n const targetBucketWidth = getTargetBucketWidth(granularity, instrument);\n\n const maxBookPrice = useMemo(\n () => maxPrice + targetBucketWidth * BUCKET_CONFIG.PRICE_PADDING_MULTIPLIER,\n [maxPrice, targetBucketWidth]\n );\n\n const minBookPrice = useMemo(\n () => minPrice - targetBucketWidth * BUCKET_CONFIG.PRICE_PADDING_MULTIPLIER,\n [minPrice, targetBucketWidth]\n );\n\n const {\n loading: orderPositionLoading,\n data: orderPositionData,\n error: orderPositionError,\n } = useQuery<GetOrderPositionBooksQuery, GetOrderPositionBooksQueryVariables>(\n getOrderPositionBooks,\n {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n bookType: bookType || BookType.Order,\n timeSpan: getTimeSpanForGranularity(granularity),\n granularity,\n maxBookPrice,\n minBookPrice,\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n }\n );\n\n const loading = priceCandlesLoading || orderPositionLoading;\n\n const orderPositionBooks = useMemo(\n () => processOrderPositionBooks(orderPositionData, candleMap),\n [orderPositionData, candleMap]\n );\n\n const buckets = useMemo(\n () => processBuckets(orderPositionData, targetBucketWidth),\n [orderPositionData, targetBucketWidth]\n );\n\n const error = useMemo((): Error | null => {\n if (priceCandlesError) {\n return new Error(`Price candles error: ${priceCandlesError.message}`);\n }\n if (orderPositionError) {\n return new Error(`Order position error: ${orderPositionError.message}`);\n }\n if (loading) {\n return null;\n }\n return validateData(priceCandlesData, orderPositionData, hasValidCandles);\n }, [\n priceCandlesError,\n orderPositionError,\n loading,\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n ]);\n\n const data = useMemo(() => {\n if (!priceCandlesData || !orderPositionData || error) {\n return null;\n }\n\n const xAxisData = candles.map((candle) => candle?.point || '');\n const candlesSeriesData: [number, number, number, number][] = candles.map(\n (candle) => [\n candle?.open || 0,\n candle?.close || 0,\n candle?.low || 0,\n candle?.high || 0,\n ]\n );\n\n return {\n buckets,\n xAxisData,\n candlesSeriesData,\n orderPositionBooks,\n bucketWidth: targetBucketWidth,\n precision: INSTRUMENTS_CONFIG[instrument].precision,\n bookType,\n };\n }, [\n priceCandlesData,\n orderPositionData,\n error,\n candles,\n buckets,\n orderPositionBooks,\n targetBucketWidth,\n instrument,\n bookType,\n ]);\n\n return {\n data,\n loading,\n error: !!error,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,16 +64,16 @@ const instrumentSelectConfig = exports.instrumentSelectConfig = [...instrumentSe
|
|
|
64
64
|
label: 'XAG/USD'
|
|
65
65
|
}];
|
|
66
66
|
const granularitySelectConfig = exports.granularitySelectConfig = [{
|
|
67
|
-
id: _graphql.Granularity.M5,
|
|
68
|
-
label: '5_minutes'
|
|
69
|
-
}, {
|
|
70
|
-
id: _graphql.Granularity.M15,
|
|
71
|
-
label: '15_minutes'
|
|
72
|
-
}, {
|
|
73
67
|
id: _graphql.Granularity.H1,
|
|
74
68
|
label: '1_hour'
|
|
75
69
|
}, {
|
|
76
70
|
id: _graphql.Granularity.H4,
|
|
77
71
|
label: '4_hours'
|
|
72
|
+
}, {
|
|
73
|
+
id: _graphql.Granularity.M5,
|
|
74
|
+
label: '5_minutes'
|
|
75
|
+
}, {
|
|
76
|
+
id: _graphql.Granularity.M15,
|
|
77
|
+
label: '15_minutes'
|
|
78
78
|
}];
|
|
79
79
|
//# sourceMappingURL=selectConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectConfig.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","granularitySelectConfig","Granularity","
|
|
1
|
+
{"version":3,"file":"selectConfig.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","granularitySelectConfig","Granularity","H1","H4","M5","M15"],"sources":["../../../src/CrowdViewWidget/selectConfig.ts"],"sourcesContent":["import { BookType, Granularity } 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 granularitySelectConfig = [\n {\n id: Granularity.H1,\n label: '1_hour',\n },\n {\n id: Granularity.H4,\n label: '4_hours',\n },\n {\n id: Granularity.M5,\n label: '5_minutes',\n },\n {\n id: Granularity.M15,\n label: '15_minutes',\n },\n];\n\nexport {\n granularitySelectConfig,\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n navigationConfig,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,CACvB;EACEE,EAAE,EAAEC,iBAAQ,CAACC,KAAK;EAClBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,iBAAQ,CAACG,QAAQ;EACrBD,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAME,wBAAwB,GAAAN,OAAA,CAAAM,wBAAA,GAAG,CAC/B;EACEL,EAAE,EAAEM,mBAAY,CAACC,OAAO;EACxBJ,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACE,OAAO;EACxBL,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACG,OAAO;EACxBN,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACI,OAAO;EACxBP,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACK,OAAO;EACxBR,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACM,OAAO;EACxBT,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACO,OAAO;EACxBV,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACQ,OAAO;EACxBX,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACS,OAAO;EACxBZ,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACU,OAAO;EACxBb,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACW,OAAO;EACxBd,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACY,OAAO;EACxBf,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACa,OAAO;EACxBhB,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACc,OAAO;EACxBjB,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMkB,sBAAsB,GAAAtB,OAAA,CAAAsB,sBAAA,GAAG,CAC7B,GAAGhB,wBAAwB,EAC3B;EACEL,EAAE,EAAEM,mBAAY,CAACgB,OAAO;EACxBnB,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEM,mBAAY,CAACiB,OAAO;EACxBpB,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMqB,uBAAuB,GAAAzB,OAAA,CAAAyB,uBAAA,GAAG,CAC9B;EACExB,EAAE,EAAEyB,oBAAW,CAACC,EAAE;EAClBvB,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEyB,oBAAW,CAACE,EAAE;EAClBxB,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEyB,oBAAW,CAACG,EAAE;EAClBzB,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEyB,oBAAW,CAACI,GAAG;EACnB1B,KAAK,EAAE;AACT,CAAC,CACF","ignoreList":[]}
|
|
@@ -12,15 +12,16 @@ export const useCrowdViewData = _ref => {
|
|
|
12
12
|
division,
|
|
13
13
|
granularity
|
|
14
14
|
} = _ref;
|
|
15
|
+
const dataSource = division === Division.Ogm || division === Division.Oj ? DataSource.Mt5 : DataSource.V20;
|
|
15
16
|
const {
|
|
16
17
|
loading: priceCandlesLoading,
|
|
17
18
|
data: priceCandlesData,
|
|
18
19
|
error: priceCandlesError
|
|
19
20
|
} = useQuery(getPriceCandles, {
|
|
20
21
|
variables: {
|
|
21
|
-
dataSource
|
|
22
|
+
dataSource,
|
|
22
23
|
division,
|
|
23
|
-
instrument:
|
|
24
|
+
instrument: dataSource === DataSource.Mt5 ? INSTRUMENTS_CONFIG[instrument].mt5name : INSTRUMENTS_CONFIG[instrument].v20name,
|
|
24
25
|
granularity,
|
|
25
26
|
timeSpan: getTimeSpanForGranularity(granularity)
|
|
26
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCrowdViewData.js","names":["useQuery","useMemo","getOrderPositionBooks","getPriceCandles","BookType","DataSource","Division","BUCKET_CONFIG","INSTRUMENTS_CONFIG","getTargetBucketWidth","getTimeSpanForGranularity","processBuckets","processOrderPositionBooks","processPriceCandles","validateData","useCrowdViewData","_ref","instrument","bookType","division","granularity","
|
|
1
|
+
{"version":3,"file":"useCrowdViewData.js","names":["useQuery","useMemo","getOrderPositionBooks","getPriceCandles","BookType","DataSource","Division","BUCKET_CONFIG","INSTRUMENTS_CONFIG","getTargetBucketWidth","getTimeSpanForGranularity","processBuckets","processOrderPositionBooks","processPriceCandles","validateData","useCrowdViewData","_ref","instrument","bookType","division","granularity","dataSource","Ogm","Oj","Mt5","V20","loading","priceCandlesLoading","data","priceCandlesData","error","priceCandlesError","variables","mt5name","v20name","timeSpan","fetchPolicy","priceCandlesProcessed","minPrice","maxPrice","hasValidCandles","candleMap","candles","targetBucketWidth","maxBookPrice","PRICE_PADDING_MULTIPLIER","minBookPrice","orderPositionLoading","orderPositionData","orderPositionError","Order","skip","orderPositionBooks","buckets","Error","concat","message","xAxisData","map","candle","point","candlesSeriesData","open","close","low","high","bucketWidth","precision"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useCrowdViewData.ts"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useMemo } from 'react';\n\nimport { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';\nimport { getPriceCandles } from '../../../gql/getPriceCandles';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables,\n} from '../../../gql/types/graphql';\nimport { BookType, DataSource, Division } from '../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';\nimport type { UseCrowdViewDataProps, UseCrowdViewDataReturn } from './types';\nimport {\n getTargetBucketWidth,\n getTimeSpanForGranularity,\n processBuckets,\n processOrderPositionBooks,\n processPriceCandles,\n validateData,\n} from './utils';\n\nexport const useCrowdViewData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {\n const dataSource =\n division === Division.Ogm || division === Division.Oj\n ? DataSource.Mt5\n : DataSource.V20;\n const {\n loading: priceCandlesLoading,\n data: priceCandlesData,\n error: priceCandlesError,\n } = useQuery<GetPriceCandlesQuery, GetPriceCandlesQueryVariables>(\n getPriceCandles,\n {\n variables: {\n dataSource,\n division,\n instrument:\n dataSource === DataSource.Mt5\n ? INSTRUMENTS_CONFIG[instrument].mt5name\n : INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n }\n );\n\n const priceCandlesProcessed = useMemo(\n () => processPriceCandles(priceCandlesData),\n [priceCandlesData]\n );\n\n const { minPrice, maxPrice, hasValidCandles, candleMap, candles } =\n priceCandlesProcessed;\n\n const targetBucketWidth = getTargetBucketWidth(granularity, instrument);\n\n const maxBookPrice = useMemo(\n () => maxPrice + targetBucketWidth * BUCKET_CONFIG.PRICE_PADDING_MULTIPLIER,\n [maxPrice, targetBucketWidth]\n );\n\n const minBookPrice = useMemo(\n () => minPrice - targetBucketWidth * BUCKET_CONFIG.PRICE_PADDING_MULTIPLIER,\n [minPrice, targetBucketWidth]\n );\n\n const {\n loading: orderPositionLoading,\n data: orderPositionData,\n error: orderPositionError,\n } = useQuery<GetOrderPositionBooksQuery, GetOrderPositionBooksQueryVariables>(\n getOrderPositionBooks,\n {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n bookType: bookType || BookType.Order,\n timeSpan: getTimeSpanForGranularity(granularity),\n granularity,\n maxBookPrice,\n minBookPrice,\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n }\n );\n\n const loading = priceCandlesLoading || orderPositionLoading;\n\n const orderPositionBooks = useMemo(\n () => processOrderPositionBooks(orderPositionData, candleMap),\n [orderPositionData, candleMap]\n );\n\n const buckets = useMemo(\n () => processBuckets(orderPositionData, targetBucketWidth),\n [orderPositionData, targetBucketWidth]\n );\n\n const error = useMemo((): Error | null => {\n if (priceCandlesError) {\n return new Error(`Price candles error: ${priceCandlesError.message}`);\n }\n if (orderPositionError) {\n return new Error(`Order position error: ${orderPositionError.message}`);\n }\n if (loading) {\n return null;\n }\n return validateData(priceCandlesData, orderPositionData, hasValidCandles);\n }, [\n priceCandlesError,\n orderPositionError,\n loading,\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n ]);\n\n const data = useMemo(() => {\n if (!priceCandlesData || !orderPositionData || error) {\n return null;\n }\n\n const xAxisData = candles.map((candle) => candle?.point || '');\n const candlesSeriesData: [number, number, number, number][] = candles.map(\n (candle) => [\n candle?.open || 0,\n candle?.close || 0,\n candle?.low || 0,\n candle?.high || 0,\n ]\n );\n\n return {\n buckets,\n xAxisData,\n candlesSeriesData,\n orderPositionBooks,\n bucketWidth: targetBucketWidth,\n precision: INSTRUMENTS_CONFIG[instrument].precision,\n bookType,\n };\n }, [\n priceCandlesData,\n orderPositionData,\n error,\n candles,\n buckets,\n orderPositionBooks,\n targetBucketWidth,\n instrument,\n bookType,\n ]);\n\n return {\n data,\n loading,\n error: !!error,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,17 +58,17 @@ const instrumentSelectConfig = [...instrumentSelectConfigOC, {
|
|
|
58
58
|
label: 'XAG/USD'
|
|
59
59
|
}];
|
|
60
60
|
const granularitySelectConfig = [{
|
|
61
|
-
id: Granularity.M5,
|
|
62
|
-
label: '5_minutes'
|
|
63
|
-
}, {
|
|
64
|
-
id: Granularity.M15,
|
|
65
|
-
label: '15_minutes'
|
|
66
|
-
}, {
|
|
67
61
|
id: Granularity.H1,
|
|
68
62
|
label: '1_hour'
|
|
69
63
|
}, {
|
|
70
64
|
id: Granularity.H4,
|
|
71
65
|
label: '4_hours'
|
|
66
|
+
}, {
|
|
67
|
+
id: Granularity.M5,
|
|
68
|
+
label: '5_minutes'
|
|
69
|
+
}, {
|
|
70
|
+
id: Granularity.M15,
|
|
71
|
+
label: '15_minutes'
|
|
72
72
|
}];
|
|
73
73
|
export { granularitySelectConfig, instrumentSelectConfig, instrumentSelectConfigOC, navigationConfig };
|
|
74
74
|
//# sourceMappingURL=selectConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectConfig.js","names":["BookType","Granularity","InstrumentId","navigationConfig","id","Order","label","Position","instrumentSelectConfigOC","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","granularitySelectConfig","
|
|
1
|
+
{"version":3,"file":"selectConfig.js","names":["BookType","Granularity","InstrumentId","navigationConfig","id","Order","label","Position","instrumentSelectConfigOC","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","granularitySelectConfig","H1","H4","M5","M15"],"sources":["../../../src/CrowdViewWidget/selectConfig.ts"],"sourcesContent":["import { BookType, Granularity } 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 granularitySelectConfig = [\n {\n id: Granularity.H1,\n label: '1_hour',\n },\n {\n id: Granularity.H4,\n label: '4_hours',\n },\n {\n id: Granularity.M5,\n label: '5_minutes',\n },\n {\n id: Granularity.M15,\n label: '15_minutes',\n },\n];\n\nexport {\n granularitySelectConfig,\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n navigationConfig,\n};\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,sBAAsB;AAC5D,SAASC,YAAY,QAAQ,SAAS;AAEtC,MAAMC,gBAAgB,GAAG,CACvB;EACEC,EAAE,EAAEJ,QAAQ,CAACK,KAAK;EAClBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEJ,QAAQ,CAACO,QAAQ;EACrBD,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAME,wBAAwB,GAAG,CAC/B;EACEJ,EAAE,EAAEF,YAAY,CAACO,OAAO;EACxBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACQ,OAAO;EACxBJ,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACS,OAAO;EACxBL,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACU,OAAO;EACxBN,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACW,OAAO;EACxBP,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACY,OAAO;EACxBR,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACa,OAAO;EACxBT,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACc,OAAO;EACxBV,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACe,OAAO;EACxBX,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACgB,OAAO;EACxBZ,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACiB,OAAO;EACxBb,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACkB,OAAO;EACxBd,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACmB,OAAO;EACxBf,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACoB,OAAO;EACxBhB,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMiB,sBAAsB,GAAG,CAC7B,GAAGf,wBAAwB,EAC3B;EACEJ,EAAE,EAAEF,YAAY,CAACsB,OAAO;EACxBlB,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEF,YAAY,CAACuB,OAAO;EACxBnB,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMoB,uBAAuB,GAAG,CAC9B;EACEtB,EAAE,EAAEH,WAAW,CAAC0B,EAAE;EAClBrB,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEH,WAAW,CAAC2B,EAAE;EAClBtB,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEH,WAAW,CAAC4B,EAAE;EAClBvB,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEH,WAAW,CAAC6B,GAAG;EACnBxB,KAAK,EAAE;AACT,CAAC,CACF;AAED,SACEoB,uBAAuB,EACvBH,sBAAsB,EACtBf,wBAAwB,EACxBL,gBAAgB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oanda/labs-crowd-view-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.50",
|
|
4
4
|
"description": "Labs Crowd View Widget",
|
|
5
5
|
"main": "dist/main/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"author": "OANDA",
|
|
14
14
|
"license": "UNLICENSED",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@oanda/labs-widget-common": "^1.0.
|
|
16
|
+
"@oanda/labs-widget-common": "^1.0.232",
|
|
17
17
|
"@oanda/mono-i18n": "10.0.1",
|
|
18
18
|
"chroma-js": "^3.1.2",
|
|
19
19
|
"decimal.js": "^10.6.0",
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"@graphql-codegen/client-preset": "4.1.0",
|
|
25
25
|
"@types/chroma-js": "^3.1.2"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "ab6d30657a18deb5add1cc7a7a4eb2c8e28e81d2"
|
|
28
28
|
}
|
|
@@ -27,6 +27,10 @@ export const useCrowdViewData = ({
|
|
|
27
27
|
division,
|
|
28
28
|
granularity,
|
|
29
29
|
}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {
|
|
30
|
+
const dataSource =
|
|
31
|
+
division === Division.Ogm || division === Division.Oj
|
|
32
|
+
? DataSource.Mt5
|
|
33
|
+
: DataSource.V20;
|
|
30
34
|
const {
|
|
31
35
|
loading: priceCandlesLoading,
|
|
32
36
|
data: priceCandlesData,
|
|
@@ -35,10 +39,10 @@ export const useCrowdViewData = ({
|
|
|
35
39
|
getPriceCandles,
|
|
36
40
|
{
|
|
37
41
|
variables: {
|
|
38
|
-
dataSource
|
|
42
|
+
dataSource,
|
|
39
43
|
division,
|
|
40
44
|
instrument:
|
|
41
|
-
|
|
45
|
+
dataSource === DataSource.Mt5
|
|
42
46
|
? INSTRUMENTS_CONFIG[instrument].mt5name
|
|
43
47
|
: INSTRUMENTS_CONFIG[instrument].v20name,
|
|
44
48
|
granularity,
|
|
@@ -84,14 +84,6 @@ const instrumentSelectConfig = [
|
|
|
84
84
|
];
|
|
85
85
|
|
|
86
86
|
const granularitySelectConfig = [
|
|
87
|
-
{
|
|
88
|
-
id: Granularity.M5,
|
|
89
|
-
label: '5_minutes',
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
id: Granularity.M15,
|
|
93
|
-
label: '15_minutes',
|
|
94
|
-
},
|
|
95
87
|
{
|
|
96
88
|
id: Granularity.H1,
|
|
97
89
|
label: '1_hour',
|
|
@@ -100,6 +92,14 @@ const granularitySelectConfig = [
|
|
|
100
92
|
id: Granularity.H4,
|
|
101
93
|
label: '4_hours',
|
|
102
94
|
},
|
|
95
|
+
{
|
|
96
|
+
id: Granularity.M5,
|
|
97
|
+
label: '5_minutes',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: Granularity.M15,
|
|
101
|
+
label: '15_minutes',
|
|
102
|
+
},
|
|
103
103
|
];
|
|
104
104
|
|
|
105
105
|
export {
|