@oanda/labs-crowd-view-widget 1.0.55 → 1.0.56
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 +228 -0
- package/dist/main/CrowdViewWidget/components/Chart/Chart.js +8 -5
- package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +15 -3
- package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +28 -14
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +19 -7
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +20 -8
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +44 -5
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +14 -6
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +11 -4
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +2 -2
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +6 -5
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +72 -14
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +3 -3
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js +11 -0
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +11 -0
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -0
- package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/getOption.js +9 -3
- package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/useResizeObserver.js +47 -0
- package/dist/main/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -0
- package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +1 -1
- package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
- package/dist/main/CrowdViewWidget/constants.js +20 -7
- package/dist/main/CrowdViewWidget/constants.js.map +1 -1
- package/dist/main/CrowdViewWidget/selectConfig.js +3 -3
- package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -1
- package/dist/main/translations/sources/en.json +10 -9
- package/dist/module/CrowdViewWidget/components/Chart/Chart.js +9 -6
- package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +15 -3
- package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +28 -14
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +19 -7
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +20 -8
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +43 -5
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +14 -6
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +12 -5
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +2 -2
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +6 -5
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +72 -14
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +3 -3
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +1 -0
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +4 -0
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -0
- package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/getOption.js +9 -3
- package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js +40 -0
- package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -0
- package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +1 -1
- package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
- package/dist/module/CrowdViewWidget/constants.js +20 -7
- package/dist/module/CrowdViewWidget/constants.js.map +1 -1
- package/dist/module/CrowdViewWidget/selectConfig.js +3 -3
- package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -1
- package/dist/module/translations/sources/en.json +10 -9
- package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.d.ts +4 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.d.ts +2 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.d.ts +2 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.d.ts +1 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.d.ts +1 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +4 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.d.ts +1 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/index.d.ts +1 -0
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.d.ts +1 -0
- package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +1 -0
- package/dist/types/CrowdViewWidget/components/Chart/useResizeObserver.d.ts +5 -0
- package/dist/types/CrowdViewWidget/constants.d.ts +24 -19
- package/package.json +3 -3
- package/src/CrowdViewWidget/components/Chart/Chart.tsx +12 -5
- package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +22 -3
- package/src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts +34 -19
- package/src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts +27 -6
- package/src/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.ts +26 -10
- package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +86 -43
- package/src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts +12 -5
- package/src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts +12 -6
- package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.ts +3 -2
- package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts +6 -4
- package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +119 -22
- package/src/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.ts +8 -3
- package/src/CrowdViewWidget/components/Chart/chartUtils/index.ts +1 -0
- package/src/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.ts +3 -0
- package/src/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.ts +1 -1
- package/src/CrowdViewWidget/components/Chart/getOption.ts +6 -0
- package/src/CrowdViewWidget/components/Chart/types.ts +1 -0
- package/src/CrowdViewWidget/components/Chart/useResizeObserver.ts +51 -0
- package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +3 -2
- package/src/CrowdViewWidget/constants.ts +24 -5
- package/src/CrowdViewWidget/selectConfig.ts +4 -4
- package/src/translations/sources/en.json +10 -9
- package/test/components/Chart/utils/chartUtils.test.ts +16 -4
- package/test/components/Chart/utils/handleLabelUpdate.test.ts +32 -16
- package/test/utils/processPriceCandles.test.ts +4 -4
|
@@ -95,7 +95,8 @@ describe('handleLabelUpdate', () => {
|
|
|
95
95
|
mockInstance,
|
|
96
96
|
mainData,
|
|
97
97
|
labelTimerRef,
|
|
98
|
-
isGreaterThanTwoWeeksRef
|
|
98
|
+
isGreaterThanTwoWeeksRef,
|
|
99
|
+
'en-US'
|
|
99
100
|
);
|
|
100
101
|
|
|
101
102
|
jest.advanceTimersByTime(50);
|
|
@@ -113,7 +114,8 @@ describe('handleLabelUpdate', () => {
|
|
|
113
114
|
mockInstance,
|
|
114
115
|
mainData,
|
|
115
116
|
labelTimerRef,
|
|
116
|
-
isGreaterThanTwoWeeksRef
|
|
117
|
+
isGreaterThanTwoWeeksRef,
|
|
118
|
+
'en-US'
|
|
117
119
|
);
|
|
118
120
|
|
|
119
121
|
jest.advanceTimersByTime(50);
|
|
@@ -131,7 +133,8 @@ describe('handleLabelUpdate', () => {
|
|
|
131
133
|
mockInstance,
|
|
132
134
|
mainData,
|
|
133
135
|
labelTimerRef,
|
|
134
|
-
isGreaterThanTwoWeeksRef
|
|
136
|
+
isGreaterThanTwoWeeksRef,
|
|
137
|
+
'en-US'
|
|
135
138
|
);
|
|
136
139
|
|
|
137
140
|
jest.advanceTimersByTime(50);
|
|
@@ -149,7 +152,8 @@ describe('handleLabelUpdate', () => {
|
|
|
149
152
|
mockInstance,
|
|
150
153
|
mainData,
|
|
151
154
|
labelTimerRef,
|
|
152
|
-
isGreaterThanTwoWeeksRef
|
|
155
|
+
isGreaterThanTwoWeeksRef,
|
|
156
|
+
'en-US'
|
|
153
157
|
);
|
|
154
158
|
|
|
155
159
|
jest.advanceTimersByTime(50);
|
|
@@ -167,7 +171,8 @@ describe('handleLabelUpdate', () => {
|
|
|
167
171
|
mockInstance,
|
|
168
172
|
mainData,
|
|
169
173
|
labelTimerRef,
|
|
170
|
-
isGreaterThanTwoWeeksRef
|
|
174
|
+
isGreaterThanTwoWeeksRef,
|
|
175
|
+
'en-US'
|
|
171
176
|
);
|
|
172
177
|
|
|
173
178
|
jest.advanceTimersByTime(50);
|
|
@@ -187,7 +192,8 @@ describe('handleLabelUpdate', () => {
|
|
|
187
192
|
mockInstance,
|
|
188
193
|
mainData,
|
|
189
194
|
labelTimerRef,
|
|
190
|
-
isGreaterThanTwoWeeksRef
|
|
195
|
+
isGreaterThanTwoWeeksRef,
|
|
196
|
+
'en-US'
|
|
191
197
|
);
|
|
192
198
|
|
|
193
199
|
jest.advanceTimersByTime(50);
|
|
@@ -205,7 +211,8 @@ describe('handleLabelUpdate', () => {
|
|
|
205
211
|
mockInstance,
|
|
206
212
|
mainData,
|
|
207
213
|
labelTimerRef,
|
|
208
|
-
isGreaterThanTwoWeeksRef
|
|
214
|
+
isGreaterThanTwoWeeksRef,
|
|
215
|
+
'en-US'
|
|
209
216
|
);
|
|
210
217
|
|
|
211
218
|
jest.advanceTimersByTime(50);
|
|
@@ -227,7 +234,8 @@ describe('handleLabelUpdate', () => {
|
|
|
227
234
|
mockInstance,
|
|
228
235
|
mainData,
|
|
229
236
|
labelTimerRef,
|
|
230
|
-
isGreaterThanTwoWeeksRef
|
|
237
|
+
isGreaterThanTwoWeeksRef,
|
|
238
|
+
'en-US'
|
|
231
239
|
);
|
|
232
240
|
|
|
233
241
|
jest.advanceTimersByTime(50);
|
|
@@ -264,7 +272,8 @@ describe('handleLabelUpdate', () => {
|
|
|
264
272
|
mockInstance,
|
|
265
273
|
mainData,
|
|
266
274
|
labelTimerRef,
|
|
267
|
-
isGreaterThanTwoWeeksRef
|
|
275
|
+
isGreaterThanTwoWeeksRef,
|
|
276
|
+
'en-US'
|
|
268
277
|
);
|
|
269
278
|
|
|
270
279
|
jest.advanceTimersByTime(50);
|
|
@@ -285,7 +294,8 @@ describe('handleLabelUpdate', () => {
|
|
|
285
294
|
mockInstance,
|
|
286
295
|
mainData,
|
|
287
296
|
labelTimerRef,
|
|
288
|
-
isGreaterThanTwoWeeksRef
|
|
297
|
+
isGreaterThanTwoWeeksRef,
|
|
298
|
+
'en-US'
|
|
289
299
|
);
|
|
290
300
|
|
|
291
301
|
jest.advanceTimersByTime(50);
|
|
@@ -310,7 +320,8 @@ describe('handleLabelUpdate', () => {
|
|
|
310
320
|
mockInstance,
|
|
311
321
|
mainData,
|
|
312
322
|
labelTimerRef,
|
|
313
|
-
isGreaterThanTwoWeeksRef
|
|
323
|
+
isGreaterThanTwoWeeksRef,
|
|
324
|
+
'en-US'
|
|
314
325
|
);
|
|
315
326
|
|
|
316
327
|
expect(clearTimeoutSpy).toHaveBeenCalledWith(existingTimeout);
|
|
@@ -329,7 +340,8 @@ describe('handleLabelUpdate', () => {
|
|
|
329
340
|
mockInstance,
|
|
330
341
|
mainData,
|
|
331
342
|
labelTimerRef,
|
|
332
|
-
isGreaterThanTwoWeeksRef
|
|
343
|
+
isGreaterThanTwoWeeksRef,
|
|
344
|
+
'en-US'
|
|
333
345
|
);
|
|
334
346
|
|
|
335
347
|
// Should not be called before timeout
|
|
@@ -358,7 +370,8 @@ describe('handleLabelUpdate', () => {
|
|
|
358
370
|
mockInstance,
|
|
359
371
|
mainData,
|
|
360
372
|
labelTimerRef,
|
|
361
|
-
isGreaterThanTwoWeeksRef
|
|
373
|
+
isGreaterThanTwoWeeksRef,
|
|
374
|
+
'en-US'
|
|
362
375
|
);
|
|
363
376
|
|
|
364
377
|
jest.advanceTimersByTime(50);
|
|
@@ -376,7 +389,8 @@ describe('handleLabelUpdate', () => {
|
|
|
376
389
|
|
|
377
390
|
expect(mockFormatXAxisLabel).toHaveBeenCalledWith(
|
|
378
391
|
'2025-01-01T00:00:00Z',
|
|
379
|
-
true
|
|
392
|
+
true,
|
|
393
|
+
'en-US'
|
|
380
394
|
);
|
|
381
395
|
});
|
|
382
396
|
|
|
@@ -392,7 +406,8 @@ describe('handleLabelUpdate', () => {
|
|
|
392
406
|
mockInstance,
|
|
393
407
|
mainData,
|
|
394
408
|
labelTimerRef,
|
|
395
|
-
isGreaterThanTwoWeeksRef
|
|
409
|
+
isGreaterThanTwoWeeksRef,
|
|
410
|
+
'en-US'
|
|
396
411
|
);
|
|
397
412
|
|
|
398
413
|
jest.advanceTimersByTime(50);
|
|
@@ -412,7 +427,8 @@ describe('handleLabelUpdate', () => {
|
|
|
412
427
|
|
|
413
428
|
expect(mockFormatXAxisAdditionalLabel).toHaveBeenCalledWith(
|
|
414
429
|
'2025-01-02T00:00:00Z',
|
|
415
|
-
true
|
|
430
|
+
true,
|
|
431
|
+
'en-US'
|
|
416
432
|
);
|
|
417
433
|
});
|
|
418
434
|
});
|
|
@@ -90,7 +90,7 @@ describe('processPriceCandles', () => {
|
|
|
90
90
|
expect(result.minPrice).toBe(0.9);
|
|
91
91
|
expect(result.maxPrice).toBe(1.8);
|
|
92
92
|
expect(result.pipsLocation).toBe(4);
|
|
93
|
-
expect(result.dates).toHaveLength(
|
|
93
|
+
expect(result.dates).toHaveLength(4);
|
|
94
94
|
expect(result.candlesOpen).toHaveLength(3);
|
|
95
95
|
expect(result.candlesClose).toHaveLength(3);
|
|
96
96
|
expect(result.candlesLow).toHaveLength(3);
|
|
@@ -131,7 +131,7 @@ describe('processPriceCandles', () => {
|
|
|
131
131
|
expect(result.minPrice).toBe(1.0);
|
|
132
132
|
expect(result.maxPrice).toBe(1.8);
|
|
133
133
|
expect(result.pipsLocation).toBe(4);
|
|
134
|
-
expect(result.dates).toHaveLength(
|
|
134
|
+
expect(result.dates).toHaveLength(3);
|
|
135
135
|
expect(result.candlesOpen).toHaveLength(2);
|
|
136
136
|
});
|
|
137
137
|
|
|
@@ -188,7 +188,7 @@ describe('processPriceCandles', () => {
|
|
|
188
188
|
expect(result.minPrice).toBe(1.0);
|
|
189
189
|
expect(result.maxPrice).toBe(1.5);
|
|
190
190
|
expect(result.pipsLocation).toBe(4);
|
|
191
|
-
expect(result.dates).toHaveLength(
|
|
191
|
+
expect(result.dates).toHaveLength(2);
|
|
192
192
|
expect(result.candlesOpen).toHaveLength(1);
|
|
193
193
|
});
|
|
194
194
|
|
|
@@ -263,7 +263,7 @@ describe('processPriceCandles', () => {
|
|
|
263
263
|
const result = processPriceCandles(mockData);
|
|
264
264
|
expect(result.hasValidCandles).toBe(true);
|
|
265
265
|
expect(result.pipsLocation).toBe(4);
|
|
266
|
-
expect(result.dates).toHaveLength(
|
|
266
|
+
expect(result.dates).toHaveLength(10001);
|
|
267
267
|
// Should calculate min/max without stack overflow
|
|
268
268
|
expect(result.minPrice).toBeGreaterThan(0);
|
|
269
269
|
expect(result.maxPrice).toBeGreaterThan(result.minPrice);
|