@oanda/labs-order-book-widget 1.0.79 → 1.0.81

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 CHANGED
@@ -3,6 +3,626 @@
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.81 (2024-02-05)
7
+
8
+
9
+
10
+ ## 1.0.80 (2024-02-05)
11
+
12
+
13
+
14
+ ## 1.0.79 (2024-02-05)
15
+
16
+
17
+
18
+ ## 1.0.78 (2024-01-30)
19
+
20
+
21
+
22
+ ## 1.0.77 (2024-01-25)
23
+
24
+
25
+
26
+ ## 1.0.76 (2024-01-25)
27
+
28
+
29
+
30
+ ## 1.0.75 (2024-01-22)
31
+
32
+
33
+
34
+ ## 1.0.74 (2024-01-22)
35
+
36
+
37
+
38
+ ## 1.0.73 (2024-01-22)
39
+
40
+
41
+
42
+ ## 1.0.72 (2024-01-19)
43
+
44
+
45
+
46
+ ## 1.0.71 (2024-01-18)
47
+
48
+
49
+
50
+ ## 1.0.70 (2024-01-17)
51
+
52
+
53
+
54
+ ## 1.0.69 (2024-01-17)
55
+
56
+
57
+
58
+ ## 1.0.68 (2024-01-15)
59
+
60
+
61
+
62
+ ## 1.0.67 (2024-01-15)
63
+
64
+
65
+
66
+ ## 1.0.66 (2024-01-12)
67
+
68
+
69
+
70
+ ## 1.0.65 (2024-01-11)
71
+
72
+
73
+
74
+ ## 1.0.64 (2024-01-11)
75
+
76
+
77
+
78
+ ## 1.0.63 (2024-01-11)
79
+
80
+
81
+
82
+ ## 1.0.62 (2024-01-10)
83
+
84
+
85
+
86
+ ## 1.0.61 (2024-01-09)
87
+
88
+
89
+
90
+ ## 1.0.60 (2024-01-05)
91
+
92
+
93
+
94
+ ## 1.0.59 (2023-12-27)
95
+
96
+
97
+
98
+ ## 1.0.58 (2023-12-22)
99
+
100
+
101
+
102
+ ## 1.0.57 (2023-12-22)
103
+
104
+
105
+
106
+ ## 1.0.56 (2023-12-21)
107
+
108
+
109
+
110
+ ## 1.0.55 (2023-12-19)
111
+
112
+
113
+
114
+ ## 1.0.54 (2023-12-15)
115
+
116
+
117
+
118
+ ## 1.0.53 (2023-12-13)
119
+
120
+
121
+
122
+ ## 1.0.52 (2023-12-13)
123
+
124
+
125
+
126
+ ## 1.0.51 (2023-12-07)
127
+
128
+
129
+
130
+ ## 1.0.50 (2023-12-04)
131
+
132
+
133
+
134
+ ## 1.0.49 (2023-12-01)
135
+
136
+
137
+
138
+ ## 1.0.48 (2023-12-01)
139
+
140
+
141
+
142
+ ## 1.0.47 (2023-11-29)
143
+
144
+
145
+
146
+ ## 1.0.46 (2023-11-28)
147
+
148
+
149
+
150
+ ## 1.0.45 (2023-11-23)
151
+
152
+
153
+
154
+ ## 1.0.44 (2023-11-22)
155
+
156
+
157
+
158
+ ## 1.0.43 (2023-11-15)
159
+
160
+
161
+
162
+ ## 1.0.42 (2023-11-10)
163
+
164
+
165
+
166
+ ## 1.0.41 (2023-11-03)
167
+
168
+
169
+
170
+ ## 1.0.40 (2023-11-02)
171
+
172
+
173
+
174
+ ## 1.0.39 (2023-11-02)
175
+
176
+
177
+
178
+ ## 1.0.38 (2023-10-26)
179
+
180
+
181
+
182
+ ## 1.0.37 (2023-10-26)
183
+
184
+
185
+
186
+ ## 1.0.36 (2023-10-25)
187
+
188
+
189
+
190
+ ## 1.0.35 (2023-10-24)
191
+
192
+
193
+
194
+ ## 1.0.34 (2023-10-23)
195
+
196
+
197
+
198
+ ## 1.0.33 (2023-10-23)
199
+
200
+
201
+
202
+ ## 1.0.32 (2023-10-23)
203
+
204
+
205
+
206
+ ## 1.0.31 (2023-10-20)
207
+
208
+
209
+
210
+ ## 1.0.30 (2023-10-19)
211
+
212
+
213
+
214
+ ## 1.0.29 (2023-10-19)
215
+
216
+
217
+
218
+ ## 1.0.28 (2023-10-19)
219
+
220
+
221
+
222
+ ## 1.0.27 (2023-10-18)
223
+
224
+
225
+
226
+ ## 1.0.26 (2023-10-18)
227
+
228
+
229
+
230
+ ## 1.0.25 (2023-10-17)
231
+
232
+
233
+
234
+ ## 1.0.24 (2023-10-13)
235
+
236
+
237
+
238
+ ## 1.0.23 (2023-10-13)
239
+
240
+
241
+
242
+ ## 1.0.22 (2023-10-11)
243
+
244
+
245
+
246
+ ## 1.0.21 (2023-10-10)
247
+
248
+
249
+
250
+ ## 1.0.20 (2023-10-06)
251
+
252
+
253
+
254
+ ## 1.0.19 (2023-10-06)
255
+
256
+
257
+
258
+ ## 1.0.18 (2023-10-05)
259
+
260
+
261
+
262
+ ## 1.0.17 (2023-10-04)
263
+
264
+
265
+
266
+ ## 1.0.16 (2023-10-04)
267
+
268
+
269
+
270
+ ## 1.0.15 (2023-10-04)
271
+
272
+
273
+
274
+ ## 1.0.14 (2023-10-03)
275
+
276
+
277
+
278
+ ## 1.0.13 (2023-10-03)
279
+
280
+
281
+
282
+ ## 1.0.12 (2023-10-03)
283
+
284
+
285
+
286
+ ## 1.0.11 (2023-10-02)
287
+
288
+
289
+
290
+ ## 1.0.10 (2023-09-29)
291
+
292
+
293
+
294
+ ## 1.0.9 (2023-09-28)
295
+
296
+
297
+
298
+ ## 1.0.8 (2023-09-27)
299
+
300
+
301
+
302
+ ## 1.0.7 (2023-09-26)
303
+
304
+
305
+
306
+ ## 1.0.6 (2023-09-21)
307
+
308
+
309
+
310
+ ## 1.0.5 (2023-09-13)
311
+
312
+ **Note:** Version bump only for package @oanda/labs-order-book-widget
313
+
314
+
315
+
316
+
317
+
318
+ ## 1.0.80 (2024-02-05)
319
+
320
+
321
+
322
+ ## 1.0.79 (2024-02-05)
323
+
324
+
325
+
326
+ ## 1.0.78 (2024-01-30)
327
+
328
+
329
+
330
+ ## 1.0.77 (2024-01-25)
331
+
332
+
333
+
334
+ ## 1.0.76 (2024-01-25)
335
+
336
+
337
+
338
+ ## 1.0.75 (2024-01-22)
339
+
340
+
341
+
342
+ ## 1.0.74 (2024-01-22)
343
+
344
+
345
+
346
+ ## 1.0.73 (2024-01-22)
347
+
348
+
349
+
350
+ ## 1.0.72 (2024-01-19)
351
+
352
+
353
+
354
+ ## 1.0.71 (2024-01-18)
355
+
356
+
357
+
358
+ ## 1.0.70 (2024-01-17)
359
+
360
+
361
+
362
+ ## 1.0.69 (2024-01-17)
363
+
364
+
365
+
366
+ ## 1.0.68 (2024-01-15)
367
+
368
+
369
+
370
+ ## 1.0.67 (2024-01-15)
371
+
372
+
373
+
374
+ ## 1.0.66 (2024-01-12)
375
+
376
+
377
+
378
+ ## 1.0.65 (2024-01-11)
379
+
380
+
381
+
382
+ ## 1.0.64 (2024-01-11)
383
+
384
+
385
+
386
+ ## 1.0.63 (2024-01-11)
387
+
388
+
389
+
390
+ ## 1.0.62 (2024-01-10)
391
+
392
+
393
+
394
+ ## 1.0.61 (2024-01-09)
395
+
396
+
397
+
398
+ ## 1.0.60 (2024-01-05)
399
+
400
+
401
+
402
+ ## 1.0.59 (2023-12-27)
403
+
404
+
405
+
406
+ ## 1.0.58 (2023-12-22)
407
+
408
+
409
+
410
+ ## 1.0.57 (2023-12-22)
411
+
412
+
413
+
414
+ ## 1.0.56 (2023-12-21)
415
+
416
+
417
+
418
+ ## 1.0.55 (2023-12-19)
419
+
420
+
421
+
422
+ ## 1.0.54 (2023-12-15)
423
+
424
+
425
+
426
+ ## 1.0.53 (2023-12-13)
427
+
428
+
429
+
430
+ ## 1.0.52 (2023-12-13)
431
+
432
+
433
+
434
+ ## 1.0.51 (2023-12-07)
435
+
436
+
437
+
438
+ ## 1.0.50 (2023-12-04)
439
+
440
+
441
+
442
+ ## 1.0.49 (2023-12-01)
443
+
444
+
445
+
446
+ ## 1.0.48 (2023-12-01)
447
+
448
+
449
+
450
+ ## 1.0.47 (2023-11-29)
451
+
452
+
453
+
454
+ ## 1.0.46 (2023-11-28)
455
+
456
+
457
+
458
+ ## 1.0.45 (2023-11-23)
459
+
460
+
461
+
462
+ ## 1.0.44 (2023-11-22)
463
+
464
+
465
+
466
+ ## 1.0.43 (2023-11-15)
467
+
468
+
469
+
470
+ ## 1.0.42 (2023-11-10)
471
+
472
+
473
+
474
+ ## 1.0.41 (2023-11-03)
475
+
476
+
477
+
478
+ ## 1.0.40 (2023-11-02)
479
+
480
+
481
+
482
+ ## 1.0.39 (2023-11-02)
483
+
484
+
485
+
486
+ ## 1.0.38 (2023-10-26)
487
+
488
+
489
+
490
+ ## 1.0.37 (2023-10-26)
491
+
492
+
493
+
494
+ ## 1.0.36 (2023-10-25)
495
+
496
+
497
+
498
+ ## 1.0.35 (2023-10-24)
499
+
500
+
501
+
502
+ ## 1.0.34 (2023-10-23)
503
+
504
+
505
+
506
+ ## 1.0.33 (2023-10-23)
507
+
508
+
509
+
510
+ ## 1.0.32 (2023-10-23)
511
+
512
+
513
+
514
+ ## 1.0.31 (2023-10-20)
515
+
516
+
517
+
518
+ ## 1.0.30 (2023-10-19)
519
+
520
+
521
+
522
+ ## 1.0.29 (2023-10-19)
523
+
524
+
525
+
526
+ ## 1.0.28 (2023-10-19)
527
+
528
+
529
+
530
+ ## 1.0.27 (2023-10-18)
531
+
532
+
533
+
534
+ ## 1.0.26 (2023-10-18)
535
+
536
+
537
+
538
+ ## 1.0.25 (2023-10-17)
539
+
540
+
541
+
542
+ ## 1.0.24 (2023-10-13)
543
+
544
+
545
+
546
+ ## 1.0.23 (2023-10-13)
547
+
548
+
549
+
550
+ ## 1.0.22 (2023-10-11)
551
+
552
+
553
+
554
+ ## 1.0.21 (2023-10-10)
555
+
556
+
557
+
558
+ ## 1.0.20 (2023-10-06)
559
+
560
+
561
+
562
+ ## 1.0.19 (2023-10-06)
563
+
564
+
565
+
566
+ ## 1.0.18 (2023-10-05)
567
+
568
+
569
+
570
+ ## 1.0.17 (2023-10-04)
571
+
572
+
573
+
574
+ ## 1.0.16 (2023-10-04)
575
+
576
+
577
+
578
+ ## 1.0.15 (2023-10-04)
579
+
580
+
581
+
582
+ ## 1.0.14 (2023-10-03)
583
+
584
+
585
+
586
+ ## 1.0.13 (2023-10-03)
587
+
588
+
589
+
590
+ ## 1.0.12 (2023-10-03)
591
+
592
+
593
+
594
+ ## 1.0.11 (2023-10-02)
595
+
596
+
597
+
598
+ ## 1.0.10 (2023-09-29)
599
+
600
+
601
+
602
+ ## 1.0.9 (2023-09-28)
603
+
604
+
605
+
606
+ ## 1.0.8 (2023-09-27)
607
+
608
+
609
+
610
+ ## 1.0.7 (2023-09-26)
611
+
612
+
613
+
614
+ ## 1.0.6 (2023-09-21)
615
+
616
+
617
+
618
+ ## 1.0.5 (2023-09-13)
619
+
620
+ **Note:** Version bump only for package @oanda/labs-order-book-widget
621
+
622
+
623
+
624
+
625
+
6
626
  ## 1.0.79 (2024-02-05)
7
627
 
8
628
 
@@ -16,7 +16,8 @@ const OrderBookWidget = _ref => {
16
16
  graphqlUrl,
17
17
  instrument,
18
18
  locale,
19
- theme
19
+ theme,
20
+ isParamError
20
21
  } = _ref;
21
22
  const client = new _client.ApolloClient({
22
23
  uri: graphqlUrl,
@@ -29,7 +30,9 @@ const OrderBookWidget = _ref => {
29
30
  translations: _translations.translations
30
31
  }, _react.default.createElement(_client.ApolloProvider, {
31
32
  client: client
32
- }, _react.default.createElement(_Main.Main, {
33
+ }, isParamError ? _react.default.createElement("div", {
34
+ className: "lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
35
+ }, _react.default.createElement(_labsWidgetCommon.ChartError, null)) : _react.default.createElement(_Main.Main, {
33
36
  instrument: instrument
34
37
  }))));
35
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OrderBookWidget.js","names":["_react","_interopRequireDefault","require","_client","_monoI18n","_labsWidgetCommon","_Main","_translations","obj","__esModule","default","OrderBookWidget","_ref","graphqlUrl","instrument","locale","theme","client","ApolloClient","uri","cache","InMemoryCache","createElement","ThemeProvider","LocaleProvider","getLocale","translations","ApolloProvider","Main","exports"],"sources":["../../../src/OrderBookWidget/OrderBookWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport { ThemeProvider, getLocale } from '@oanda/labs-widget-common';\nimport { Main } from './Main';\nimport { OrderBookWidgetConfig } from './types';\nimport { translations } from '../translations';\n\nconst OrderBookWidget = ({\n graphqlUrl,\n instrument,\n locale,\n theme,\n}: OrderBookWidgetConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <ThemeProvider theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <ApolloProvider client={client}>\n <Main instrument={instrument} />\n </ApolloProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { OrderBookWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AAA+C,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/C,MAAMG,eAAe,GAAGC,IAAA,IAKK;EAAA,IALJ;IACvBC,UAAU;IACVC,UAAU;IACVC,MAAM;IACNC;EACqB,CAAC,GAAAJ,IAAA;EACtB,MAAMK,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEN,UAAU;IACfO,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACErB,MAAA,CAAAU,OAAA,CAAAY,aAAA,CAACjB,iBAAA,CAAAkB,aAAa;IAACP,KAAK,EAAEA;EAAM,GAC1BhB,MAAA,CAAAU,OAAA,CAAAY,aAAA,CAAClB,SAAA,CAAAoB,cAAc;IAACT,MAAM,EAAE,IAAAU,2BAAS,EAACV,MAAM,CAAE;IAACW,YAAY,EAAEA;EAAa,GACpE1B,MAAA,CAAAU,OAAA,CAAAY,aAAA,CAACnB,OAAA,CAAAwB,cAAc;IAACV,MAAM,EAAEA;EAAO,GAC7BjB,MAAA,CAAAU,OAAA,CAAAY,aAAA,CAAChB,KAAA,CAAAsB,IAAI;IAACd,UAAU,EAAEA;EAAW,CAAE,CACjB,CACF,CACH,CAAC;AAEpB,CAAC;AAACe,OAAA,CAAAlB,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"file":"OrderBookWidget.js","names":["_react","_interopRequireDefault","require","_client","_monoI18n","_labsWidgetCommon","_Main","_translations","obj","__esModule","default","OrderBookWidget","_ref","graphqlUrl","instrument","locale","theme","isParamError","client","ApolloClient","uri","cache","InMemoryCache","createElement","ThemeProvider","LocaleProvider","getLocale","translations","ApolloProvider","className","ChartError","Main","exports"],"sources":["../../../src/OrderBookWidget/OrderBookWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport { ChartError, ThemeProvider, getLocale } from '@oanda/labs-widget-common';\nimport { Main } from './Main';\nimport { OrderBookWidgetConfig } from './types';\nimport { translations } from '../translations';\n\nconst OrderBookWidget = ({\n graphqlUrl,\n instrument,\n locale,\n theme,\n isParamError,\n}: OrderBookWidgetConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <ThemeProvider theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n ) : <Main instrument={instrument} />}\n </ApolloProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { OrderBookWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AAA+C,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/C,MAAMG,eAAe,GAAGC,IAAA,IAMK;EAAA,IANJ;IACvBC,UAAU;IACVC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC;EACqB,CAAC,GAAAL,IAAA;EACtB,MAAMM,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEP,UAAU;IACfQ,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEtB,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAAClB,iBAAA,CAAAmB,aAAa;IAACR,KAAK,EAAEA;EAAM,GAC1BhB,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAACnB,SAAA,CAAAqB,cAAc;IAACV,MAAM,EAAE,IAAAW,2BAAS,EAACX,MAAM,CAAE;IAACY,YAAY,EAAEA;EAAa,GACpE3B,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAACpB,OAAA,CAAAyB,cAAc;IAACV,MAAM,EAAEA;EAAO,GAC5BD,YAAY,GACXjB,MAAA,CAAAU,OAAA,CAAAa,aAAA;IAAKM,SAAS,EAAC;EAAmG,GAChH7B,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAAClB,iBAAA,CAAAyB,UAAU,MAAE,CACV,CAAC,GACJ9B,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAACjB,KAAA,CAAAyB,IAAI;IAACjB,UAAU,EAAEA;EAAW,CAAE,CACrB,CACF,CACH,CAAC;AAEpB,CAAC;AAACkB,OAAA,CAAArB,eAAA,GAAAA,eAAA"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _react = _interopRequireDefault(require("react"));
4
4
  var _reactDom = require("react-dom");
5
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
5
6
  var _OrderBookWidget = require("./OrderBookWidget");
6
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
8
  const {
@@ -22,11 +23,21 @@ if (orderBookElements.length > 0) {
22
23
  instrument,
23
24
  locale
24
25
  } = JSON.parse(params);
26
+ const isParamError = (0, _labsWidgetCommon.validateToolParams)({
27
+ locale
28
+ }, [{
29
+ name: 'locale',
30
+ valueCheck: value => value.split('-')[0] === 'en' || value.split('-')[0] === 'zh'
31
+ }, {
32
+ name: 'graphqlUrl',
33
+ valueCheck: value => !!value
34
+ }]);
25
35
  (0, _reactDom.render)(_react.default.createElement(_OrderBookWidget.OrderBookWidget, {
26
36
  locale: locale,
27
37
  graphqlUrl: graphqlUrl,
28
38
  instrument: instrument,
29
- theme: mode
39
+ theme: mode,
40
+ isParamError: isParamError
30
41
  }), element);
31
42
  });
32
43
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["_react","_interopRequireDefault","require","_reactDom","_OrderBookWidget","obj","__esModule","default","graphqlUrl","configGraphQl","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","window","volatilityChartWidgetConfig","widgetsConfig","orderBookElements","document","querySelectorAll","length","forEach","element","params","getAttribute","mode","JSON","parse","render","createElement","OrderBookWidget","theme","getElementById"],"sources":["../../../src/OrderBookWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { render } from 'react-dom';\nimport { Theme } from '@oanda/labs-widget-common';\nimport { OrderBookWidget } from './OrderBookWidget';\n\nconst {\n graphqlUrl: configGraphQl,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.volatilityChartWidgetConfig || {};\n\nconst {\n graphqlUrl,\n} = window.widgetsConfig || {};\n\nconst orderBookElements = document.querySelectorAll('div[data-order-book-params]');\n\nif (orderBookElements.length > 0) {\n orderBookElements.forEach((element) => {\n const params = element.getAttribute('data-order-book-params');\n const mode = element.getAttribute('data-mode');\n const { instrument, locale } = JSON.parse(params as string);\n\n render(\n <OrderBookWidget\n locale={locale}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n theme={mode as Theme}\n />,\n element,\n );\n });\n} else {\n render(\n <OrderBookWidget\n locale={configLocale}\n graphqlUrl={configGraphQl}\n instrument={configInstrument}\n />,\n document.getElementById(configRenderElementId),\n );\n}\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AAAoD,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpD,MAAM;EACJG,UAAU,EAAEC,aAAa;EACzBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC;AACV,CAAC,GAAGC,MAAM,CAACC,2BAA2B,IAAI,CAAC,CAAC;AAE5C,MAAM;EACJT;AACF,CAAC,GAAGQ,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,iBAAiB,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,6BAA6B,CAAC;AAElF,IAAIF,iBAAiB,CAACG,MAAM,GAAG,CAAC,EAAE;EAChCH,iBAAiB,CAACI,OAAO,CAAEC,OAAO,IAAK;IACrC,MAAMC,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC,wBAAwB,CAAC;IAC7D,MAAMC,IAAI,GAAGH,OAAO,CAACE,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MAAEhB,UAAU;MAAEI;IAAO,CAAC,GAAGc,IAAI,CAACC,KAAK,CAACJ,MAAgB,CAAC;IAE3D,IAAAK,gBAAM,EACJ9B,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAC3B,gBAAA,CAAA4B,eAAe;MACdlB,MAAM,EAAEA,MAAO;MACfN,UAAU,EAAEA,UAAW;MACvBE,UAAU,EAAEA,UAAW;MACvBuB,KAAK,EAAEN;IAAc,CACtB,CAAC,EACFH,OACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACL,IAAAM,gBAAM,EACJ9B,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAC3B,gBAAA,CAAA4B,eAAe;IACdlB,MAAM,EAAEC,YAAa;IACrBP,UAAU,EAAEC,aAAc;IAC1BC,UAAU,EAAEC;EAAiB,CAC9B,CAAC,EACFS,QAAQ,CAACc,cAAc,CAACrB,qBAAqB,CAC/C,CAAC;AACH"}
1
+ {"version":3,"file":"render.js","names":["_react","_interopRequireDefault","require","_reactDom","_labsWidgetCommon","_OrderBookWidget","obj","__esModule","default","graphqlUrl","configGraphQl","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","window","volatilityChartWidgetConfig","widgetsConfig","orderBookElements","document","querySelectorAll","length","forEach","element","params","getAttribute","mode","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","split","render","createElement","OrderBookWidget","theme","getElementById"],"sources":["../../../src/OrderBookWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { render } from 'react-dom';\nimport { Theme, validateToolParams } from '@oanda/labs-widget-common';\nimport { OrderBookWidget } from './OrderBookWidget';\n\nconst {\n graphqlUrl: configGraphQl,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.volatilityChartWidgetConfig || {};\n\nconst {\n graphqlUrl,\n} = window.widgetsConfig || {};\n\nconst orderBookElements = document.querySelectorAll('div[data-order-book-params]');\n\nif (orderBookElements.length > 0) {\n orderBookElements.forEach((element) => {\n const params = element.getAttribute('data-order-book-params');\n const mode = element.getAttribute('data-mode');\n const { instrument, locale } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({ locale }, [\n {\n name: 'locale',\n valueCheck: (value) => value.split('-')[0] === 'en' || value.split('-')[0] === 'zh',\n }, {\n name: 'graphqlUrl',\n valueCheck: (value) => !!value,\n }]);\n render(\n <OrderBookWidget\n locale={locale}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n theme={mode as Theme}\n isParamError={isParamError}\n />,\n element,\n );\n });\n} else {\n render(\n <OrderBookWidget\n locale={configLocale}\n graphqlUrl={configGraphQl}\n instrument={configInstrument}\n />,\n document.getElementById(configRenderElementId),\n );\n}\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAAoD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpD,MAAM;EACJG,UAAU,EAAEC,aAAa;EACzBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC;AACV,CAAC,GAAGC,MAAM,CAACC,2BAA2B,IAAI,CAAC,CAAC;AAE5C,MAAM;EACJT;AACF,CAAC,GAAGQ,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,iBAAiB,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,6BAA6B,CAAC;AAElF,IAAIF,iBAAiB,CAACG,MAAM,GAAG,CAAC,EAAE;EAChCH,iBAAiB,CAACI,OAAO,CAAEC,OAAO,IAAK;IACrC,MAAMC,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC,wBAAwB,CAAC;IAC7D,MAAMC,IAAI,GAAGH,OAAO,CAACE,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MAAEhB,UAAU;MAAEI;IAAO,CAAC,GAAGc,IAAI,CAACC,KAAK,CAACJ,MAAgB,CAAC;IAE3D,MAAMK,YAAY,GAAG,IAAAC,oCAAkB,EAAC;MAAEjB;IAAO,CAAC,EAAE,CAClD;MACEkB,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAGC,KAAK,IAAKA,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAID,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;IACjF,CAAC,EAAE;MACDH,IAAI,EAAE,YAAY;MAClBC,UAAU,EAAGC,KAAK,IAAK,CAAC,CAACA;IAC3B,CAAC,CAAC,CAAC;IACL,IAAAE,gBAAM,EACJrC,MAAA,CAAAQ,OAAA,CAAA8B,aAAA,CAACjC,gBAAA,CAAAkC,eAAe;MACdxB,MAAM,EAAEA,MAAO;MACfN,UAAU,EAAEA,UAAW;MACvBE,UAAU,EAAEA,UAAW;MACvB6B,KAAK,EAAEZ,IAAc;MACrBG,YAAY,EAAEA;IAAa,CAC5B,CAAC,EACFN,OACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACL,IAAAY,gBAAM,EACJrC,MAAA,CAAAQ,OAAA,CAAA8B,aAAA,CAACjC,gBAAA,CAAAkC,eAAe;IACdxB,MAAM,EAAEC,YAAa;IACrBP,UAAU,EAAEC,aAAc;IAC1BC,UAAU,EAAEC;EAAiB,CAC9B,CAAC,EACFS,QAAQ,CAACoB,cAAc,CAAC3B,qBAAqB,CAC/C,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["InstrumentId","exports"],"sources":["../../../src/OrderBookWidget/types.ts"],"sourcesContent":["import { Theme } from '@oanda/labs-widget-common';\nimport { Locale } from '@oanda/mono-i18n';\nimport { BookType } from '../gql/types/graphql';\n\nexport interface OrderBookWidgetConfig {\n graphqlUrl: string;\n instrument: InstrumentId;\n locale: Locale;\n theme?: Theme;\n}\n\nexport interface OrderBookWrapperConfig extends OrderBookWidgetConfig {\n renderElementId: string;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n}\n\nexport interface ChartWithDataProps {\n instrument: InstrumentId;\n bookType: BookType;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EUR_AUD',\n EUR_GBP = 'EUR_GBP',\n EUR_JPY = 'EUR_JPY',\n EUR_USD = 'EUR_USD',\n EUR_CHF = 'EUR_CHF',\n USD_CHF = 'USD_CHF',\n USD_JPY = 'USD_JPY',\n USD_CAD = 'USD_CAD',\n GBP_USD = 'GBP_USD',\n GBP_JPY = 'GBP_JPY',\n GBP_CHF = 'GBP_CHF',\n AUD_JPY = 'AUD_JPY',\n AUD_USD = 'AUD_USD',\n NZD_USD = 'NZD_USD',\n XAU_USD = 'XAU_USD',\n XAG_USD = 'XAG_USD',\n}\n"],"mappings":";;;;;;IAwBYA,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"}
1
+ {"version":3,"file":"types.js","names":["InstrumentId","exports"],"sources":["../../../src/OrderBookWidget/types.ts"],"sourcesContent":["import { Theme } from '@oanda/labs-widget-common';\nimport { Locale } from '@oanda/mono-i18n';\nimport { BookType } from '../gql/types/graphql';\n\nexport interface OrderBookWidgetConfig {\n graphqlUrl: string;\n instrument: InstrumentId;\n locale: Locale;\n theme?: Theme;\n isParamError?: boolean;\n}\n\nexport interface OrderBookWrapperConfig extends OrderBookWidgetConfig {\n renderElementId: string;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n}\n\nexport interface ChartWithDataProps {\n instrument: InstrumentId;\n bookType: BookType;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EUR_AUD',\n EUR_GBP = 'EUR_GBP',\n EUR_JPY = 'EUR_JPY',\n EUR_USD = 'EUR_USD',\n EUR_CHF = 'EUR_CHF',\n USD_CHF = 'USD_CHF',\n USD_JPY = 'USD_JPY',\n USD_CAD = 'USD_CAD',\n GBP_USD = 'GBP_USD',\n GBP_JPY = 'GBP_JPY',\n GBP_CHF = 'GBP_CHF',\n AUD_JPY = 'AUD_JPY',\n AUD_USD = 'AUD_USD',\n NZD_USD = 'NZD_USD',\n XAU_USD = 'XAU_USD',\n XAG_USD = 'XAG_USD',\n}\n"],"mappings":";;;;;;IAyBYA,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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
3
3
  import { LocaleProvider } from '@oanda/mono-i18n';
4
- import { ThemeProvider, getLocale } from '@oanda/labs-widget-common';
4
+ import { ChartError, ThemeProvider, getLocale } from '@oanda/labs-widget-common';
5
5
  import { Main } from './Main';
6
6
  import { translations } from '../translations';
7
7
  const OrderBookWidget = _ref => {
@@ -9,7 +9,8 @@ const OrderBookWidget = _ref => {
9
9
  graphqlUrl,
10
10
  instrument,
11
11
  locale,
12
- theme
12
+ theme,
13
+ isParamError
13
14
  } = _ref;
14
15
  const client = new ApolloClient({
15
16
  uri: graphqlUrl,
@@ -22,7 +23,9 @@ const OrderBookWidget = _ref => {
22
23
  translations: translations
23
24
  }, React.createElement(ApolloProvider, {
24
25
  client: client
25
- }, React.createElement(Main, {
26
+ }, isParamError ? React.createElement("div", {
27
+ className: "lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
28
+ }, React.createElement(ChartError, null)) : React.createElement(Main, {
26
29
  instrument: instrument
27
30
  }))));
28
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OrderBookWidget.js","names":["React","ApolloClient","InMemoryCache","ApolloProvider","LocaleProvider","ThemeProvider","getLocale","Main","translations","OrderBookWidget","_ref","graphqlUrl","instrument","locale","theme","client","uri","cache","createElement"],"sources":["../../../src/OrderBookWidget/OrderBookWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport { ThemeProvider, getLocale } from '@oanda/labs-widget-common';\nimport { Main } from './Main';\nimport { OrderBookWidgetConfig } from './types';\nimport { translations } from '../translations';\n\nconst OrderBookWidget = ({\n graphqlUrl,\n instrument,\n locale,\n theme,\n}: OrderBookWidgetConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <ThemeProvider theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <ApolloProvider client={client}>\n <Main instrument={instrument} />\n </ApolloProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { OrderBookWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,gBAAgB;AAC5E,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,aAAa,EAAEC,SAAS,QAAQ,2BAA2B;AACpE,SAASC,IAAI,QAAQ,QAAQ;AAE7B,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,eAAe,GAAGC,IAAA,IAKK;EAAA,IALJ;IACvBC,UAAU;IACVC,UAAU;IACVC,MAAM;IACNC;EACqB,CAAC,GAAAJ,IAAA;EACtB,MAAMK,MAAM,GAAG,IAAId,YAAY,CAAC;IAC9Be,GAAG,EAAEL,UAAU;IACfM,KAAK,EAAE,IAAIf,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEF,KAAA,CAAAkB,aAAA,CAACb,aAAa;IAACS,KAAK,EAAEA;EAAM,GAC1Bd,KAAA,CAAAkB,aAAA,CAACd,cAAc;IAACS,MAAM,EAAEP,SAAS,CAACO,MAAM,CAAE;IAACL,YAAY,EAAEA;EAAa,GACpER,KAAA,CAAAkB,aAAA,CAACf,cAAc;IAACY,MAAM,EAAEA;EAAO,GAC7Bf,KAAA,CAAAkB,aAAA,CAACX,IAAI;IAACK,UAAU,EAAEA;EAAW,CAAE,CACjB,CACF,CACH,CAAC;AAEpB,CAAC;AAED,SAASH,eAAe"}
1
+ {"version":3,"file":"OrderBookWidget.js","names":["React","ApolloClient","InMemoryCache","ApolloProvider","LocaleProvider","ChartError","ThemeProvider","getLocale","Main","translations","OrderBookWidget","_ref","graphqlUrl","instrument","locale","theme","isParamError","client","uri","cache","createElement","className"],"sources":["../../../src/OrderBookWidget/OrderBookWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport { ChartError, ThemeProvider, getLocale } from '@oanda/labs-widget-common';\nimport { Main } from './Main';\nimport { OrderBookWidgetConfig } from './types';\nimport { translations } from '../translations';\n\nconst OrderBookWidget = ({\n graphqlUrl,\n instrument,\n locale,\n theme,\n isParamError,\n}: OrderBookWidgetConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <ThemeProvider theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n ) : <Main instrument={instrument} />}\n </ApolloProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { OrderBookWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,gBAAgB;AAC5E,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,UAAU,EAAEC,aAAa,EAAEC,SAAS,QAAQ,2BAA2B;AAChF,SAASC,IAAI,QAAQ,QAAQ;AAE7B,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,eAAe,GAAGC,IAAA,IAMK;EAAA,IANJ;IACvBC,UAAU;IACVC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC;EACqB,CAAC,GAAAL,IAAA;EACtB,MAAMM,MAAM,GAAG,IAAIhB,YAAY,CAAC;IAC9BiB,GAAG,EAAEN,UAAU;IACfO,KAAK,EAAE,IAAIjB,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEF,KAAA,CAAAoB,aAAA,CAACd,aAAa;IAACS,KAAK,EAAEA;EAAM,GAC1Bf,KAAA,CAAAoB,aAAA,CAAChB,cAAc;IAACU,MAAM,EAAEP,SAAS,CAACO,MAAM,CAAE;IAACL,YAAY,EAAEA;EAAa,GACpET,KAAA,CAAAoB,aAAA,CAACjB,cAAc;IAACc,MAAM,EAAEA;EAAO,GAC5BD,YAAY,GACXhB,KAAA,CAAAoB,aAAA;IAAKC,SAAS,EAAC;EAAmG,GAChHrB,KAAA,CAAAoB,aAAA,CAACf,UAAU,MAAE,CACV,CAAC,GACJL,KAAA,CAAAoB,aAAA,CAACZ,IAAI;IAACK,UAAU,EAAEA;EAAW,CAAE,CACrB,CACF,CACH,CAAC;AAEpB,CAAC;AAED,SAASH,eAAe"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from 'react-dom';
3
+ import { validateToolParams } from '@oanda/labs-widget-common';
3
4
  import { OrderBookWidget } from './OrderBookWidget';
4
5
  const {
5
6
  graphqlUrl: configGraphQl,
@@ -19,11 +20,21 @@ if (orderBookElements.length > 0) {
19
20
  instrument,
20
21
  locale
21
22
  } = JSON.parse(params);
23
+ const isParamError = validateToolParams({
24
+ locale
25
+ }, [{
26
+ name: 'locale',
27
+ valueCheck: value => value.split('-')[0] === 'en' || value.split('-')[0] === 'zh'
28
+ }, {
29
+ name: 'graphqlUrl',
30
+ valueCheck: value => !!value
31
+ }]);
22
32
  render(React.createElement(OrderBookWidget, {
23
33
  locale: locale,
24
34
  graphqlUrl: graphqlUrl,
25
35
  instrument: instrument,
26
- theme: mode
36
+ theme: mode,
37
+ isParamError: isParamError
27
38
  }), element);
28
39
  });
29
40
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["React","render","OrderBookWidget","graphqlUrl","configGraphQl","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","window","volatilityChartWidgetConfig","widgetsConfig","orderBookElements","document","querySelectorAll","length","forEach","element","params","getAttribute","mode","JSON","parse","createElement","theme","getElementById"],"sources":["../../../src/OrderBookWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { render } from 'react-dom';\nimport { Theme } from '@oanda/labs-widget-common';\nimport { OrderBookWidget } from './OrderBookWidget';\n\nconst {\n graphqlUrl: configGraphQl,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.volatilityChartWidgetConfig || {};\n\nconst {\n graphqlUrl,\n} = window.widgetsConfig || {};\n\nconst orderBookElements = document.querySelectorAll('div[data-order-book-params]');\n\nif (orderBookElements.length > 0) {\n orderBookElements.forEach((element) => {\n const params = element.getAttribute('data-order-book-params');\n const mode = element.getAttribute('data-mode');\n const { instrument, locale } = JSON.parse(params as string);\n\n render(\n <OrderBookWidget\n locale={locale}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n theme={mode as Theme}\n />,\n element,\n );\n });\n} else {\n render(\n <OrderBookWidget\n locale={configLocale}\n graphqlUrl={configGraphQl}\n instrument={configInstrument}\n />,\n document.getElementById(configRenderElementId),\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,MAAM;EACJC,UAAU,EAAEC,aAAa;EACzBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC;AACV,CAAC,GAAGC,MAAM,CAACC,2BAA2B,IAAI,CAAC,CAAC;AAE5C,MAAM;EACJT;AACF,CAAC,GAAGQ,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,iBAAiB,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,6BAA6B,CAAC;AAElF,IAAIF,iBAAiB,CAACG,MAAM,GAAG,CAAC,EAAE;EAChCH,iBAAiB,CAACI,OAAO,CAAEC,OAAO,IAAK;IACrC,MAAMC,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC,wBAAwB,CAAC;IAC7D,MAAMC,IAAI,GAAGH,OAAO,CAACE,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MAAEhB,UAAU;MAAEI;IAAO,CAAC,GAAGc,IAAI,CAACC,KAAK,CAACJ,MAAgB,CAAC;IAE3DnB,MAAM,CACJD,KAAA,CAAAyB,aAAA,CAACvB,eAAe;MACdO,MAAM,EAAEA,MAAO;MACfN,UAAU,EAAEA,UAAW;MACvBE,UAAU,EAAEA,UAAW;MACvBqB,KAAK,EAAEJ;IAAc,CACtB,CAAC,EACFH,OACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACLlB,MAAM,CACJD,KAAA,CAAAyB,aAAA,CAACvB,eAAe;IACdO,MAAM,EAAEC,YAAa;IACrBP,UAAU,EAAEC,aAAc;IAC1BC,UAAU,EAAEC;EAAiB,CAC9B,CAAC,EACFS,QAAQ,CAACY,cAAc,CAACnB,qBAAqB,CAC/C,CAAC;AACH"}
1
+ {"version":3,"file":"render.js","names":["React","render","validateToolParams","OrderBookWidget","graphqlUrl","configGraphQl","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","window","volatilityChartWidgetConfig","widgetsConfig","orderBookElements","document","querySelectorAll","length","forEach","element","params","getAttribute","mode","JSON","parse","isParamError","name","valueCheck","value","split","createElement","theme","getElementById"],"sources":["../../../src/OrderBookWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { render } from 'react-dom';\nimport { Theme, validateToolParams } from '@oanda/labs-widget-common';\nimport { OrderBookWidget } from './OrderBookWidget';\n\nconst {\n graphqlUrl: configGraphQl,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.volatilityChartWidgetConfig || {};\n\nconst {\n graphqlUrl,\n} = window.widgetsConfig || {};\n\nconst orderBookElements = document.querySelectorAll('div[data-order-book-params]');\n\nif (orderBookElements.length > 0) {\n orderBookElements.forEach((element) => {\n const params = element.getAttribute('data-order-book-params');\n const mode = element.getAttribute('data-mode');\n const { instrument, locale } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({ locale }, [\n {\n name: 'locale',\n valueCheck: (value) => value.split('-')[0] === 'en' || value.split('-')[0] === 'zh',\n }, {\n name: 'graphqlUrl',\n valueCheck: (value) => !!value,\n }]);\n render(\n <OrderBookWidget\n locale={locale}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n theme={mode as Theme}\n isParamError={isParamError}\n />,\n element,\n );\n });\n} else {\n render(\n <OrderBookWidget\n locale={configLocale}\n graphqlUrl={configGraphQl}\n instrument={configInstrument}\n />,\n document.getElementById(configRenderElementId),\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,WAAW;AAClC,SAAgBC,kBAAkB,QAAQ,2BAA2B;AACrE,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,MAAM;EACJC,UAAU,EAAEC,aAAa;EACzBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC;AACV,CAAC,GAAGC,MAAM,CAACC,2BAA2B,IAAI,CAAC,CAAC;AAE5C,MAAM;EACJT;AACF,CAAC,GAAGQ,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,iBAAiB,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,6BAA6B,CAAC;AAElF,IAAIF,iBAAiB,CAACG,MAAM,GAAG,CAAC,EAAE;EAChCH,iBAAiB,CAACI,OAAO,CAAEC,OAAO,IAAK;IACrC,MAAMC,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC,wBAAwB,CAAC;IAC7D,MAAMC,IAAI,GAAGH,OAAO,CAACE,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MAAEhB,UAAU;MAAEI;IAAO,CAAC,GAAGc,IAAI,CAACC,KAAK,CAACJ,MAAgB,CAAC;IAE3D,MAAMK,YAAY,GAAGxB,kBAAkB,CAAC;MAAEQ;IAAO,CAAC,EAAE,CAClD;MACEiB,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAGC,KAAK,IAAKA,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAID,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;IACjF,CAAC,EAAE;MACDH,IAAI,EAAE,YAAY;MAClBC,UAAU,EAAGC,KAAK,IAAK,CAAC,CAACA;IAC3B,CAAC,CAAC,CAAC;IACL5B,MAAM,CACJD,KAAA,CAAA+B,aAAA,CAAC5B,eAAe;MACdO,MAAM,EAAEA,MAAO;MACfN,UAAU,EAAEA,UAAW;MACvBE,UAAU,EAAEA,UAAW;MACvB0B,KAAK,EAAET,IAAc;MACrBG,YAAY,EAAEA;IAAa,CAC5B,CAAC,EACFN,OACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACLnB,MAAM,CACJD,KAAA,CAAA+B,aAAA,CAAC5B,eAAe;IACdO,MAAM,EAAEC,YAAa;IACrBP,UAAU,EAAEC,aAAc;IAC1BC,UAAU,EAAEC;EAAiB,CAC9B,CAAC,EACFS,QAAQ,CAACiB,cAAc,CAACxB,qBAAqB,CAC/C,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["InstrumentId"],"sources":["../../../src/OrderBookWidget/types.ts"],"sourcesContent":["import { Theme } from '@oanda/labs-widget-common';\nimport { Locale } from '@oanda/mono-i18n';\nimport { BookType } from '../gql/types/graphql';\n\nexport interface OrderBookWidgetConfig {\n graphqlUrl: string;\n instrument: InstrumentId;\n locale: Locale;\n theme?: Theme;\n}\n\nexport interface OrderBookWrapperConfig extends OrderBookWidgetConfig {\n renderElementId: string;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n}\n\nexport interface ChartWithDataProps {\n instrument: InstrumentId;\n bookType: BookType;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EUR_AUD',\n EUR_GBP = 'EUR_GBP',\n EUR_JPY = 'EUR_JPY',\n EUR_USD = 'EUR_USD',\n EUR_CHF = 'EUR_CHF',\n USD_CHF = 'USD_CHF',\n USD_JPY = 'USD_JPY',\n USD_CAD = 'USD_CAD',\n GBP_USD = 'GBP_USD',\n GBP_JPY = 'GBP_JPY',\n GBP_CHF = 'GBP_CHF',\n AUD_JPY = 'AUD_JPY',\n AUD_USD = 'AUD_USD',\n NZD_USD = 'NZD_USD',\n XAU_USD = 'XAU_USD',\n XAG_USD = 'XAG_USD',\n}\n"],"mappings":"AAwBA,WAAYA,YAAY,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"}
1
+ {"version":3,"file":"types.js","names":["InstrumentId"],"sources":["../../../src/OrderBookWidget/types.ts"],"sourcesContent":["import { Theme } from '@oanda/labs-widget-common';\nimport { Locale } from '@oanda/mono-i18n';\nimport { BookType } from '../gql/types/graphql';\n\nexport interface OrderBookWidgetConfig {\n graphqlUrl: string;\n instrument: InstrumentId;\n locale: Locale;\n theme?: Theme;\n isParamError?: boolean;\n}\n\nexport interface OrderBookWrapperConfig extends OrderBookWidgetConfig {\n renderElementId: string;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n}\n\nexport interface ChartWithDataProps {\n instrument: InstrumentId;\n bookType: BookType;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EUR_AUD',\n EUR_GBP = 'EUR_GBP',\n EUR_JPY = 'EUR_JPY',\n EUR_USD = 'EUR_USD',\n EUR_CHF = 'EUR_CHF',\n USD_CHF = 'USD_CHF',\n USD_JPY = 'USD_JPY',\n USD_CAD = 'USD_CAD',\n GBP_USD = 'GBP_USD',\n GBP_JPY = 'GBP_JPY',\n GBP_CHF = 'GBP_CHF',\n AUD_JPY = 'AUD_JPY',\n AUD_USD = 'AUD_USD',\n NZD_USD = 'NZD_USD',\n XAU_USD = 'XAU_USD',\n XAG_USD = 'XAG_USD',\n}\n"],"mappings":"AAyBA,WAAYA,YAAY,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"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { OrderBookWidgetConfig } from './types';
3
- declare const OrderBookWidget: ({ graphqlUrl, instrument, locale, theme, }: OrderBookWidgetConfig) => JSX.Element;
3
+ declare const OrderBookWidget: ({ graphqlUrl, instrument, locale, theme, isParamError, }: OrderBookWidgetConfig) => JSX.Element;
4
4
  export { OrderBookWidget };
@@ -6,6 +6,7 @@ export interface OrderBookWidgetConfig {
6
6
  instrument: InstrumentId;
7
7
  locale: Locale;
8
8
  theme?: Theme;
9
+ isParamError?: boolean;
9
10
  }
10
11
  export interface OrderBookWrapperConfig extends OrderBookWidgetConfig {
11
12
  renderElementId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-order-book-widget",
3
- "version": "1.0.79",
3
+ "version": "1.0.81",
4
4
  "description": "Labs Order Book Widget",
5
5
  "main": "dist/main/index.js",
6
6
  "module": "dist/module/index.js",
@@ -13,7 +13,7 @@
13
13
  "license": "UNLICENSED",
14
14
  "dependencies": {
15
15
  "@apollo/client": "3.7.17",
16
- "@oanda/labs-widget-common": "^1.0.79",
16
+ "@oanda/labs-widget-common": "^1.0.81",
17
17
  "@oanda/mono-i18n": "9.0.0",
18
18
  "classnames": "2.3.2",
19
19
  "echarts": "5.4.3",
@@ -25,5 +25,5 @@
25
25
  "@graphql-codegen/client-preset": "4.1.0",
26
26
  "@graphql-codegen/typescript": "4.0.1"
27
27
  },
28
- "gitHead": "e3c25377e179d6516e6fea1cc130868381275824"
28
+ "gitHead": "58765ade5f8cd4e5aa4150c54ea45b7e8d772bd3"
29
29
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
3
3
  import { LocaleProvider } from '@oanda/mono-i18n';
4
- import { ThemeProvider, getLocale } from '@oanda/labs-widget-common';
4
+ import { ChartError, ThemeProvider, getLocale } from '@oanda/labs-widget-common';
5
5
  import { Main } from './Main';
6
6
  import { OrderBookWidgetConfig } from './types';
7
7
  import { translations } from '../translations';
@@ -11,6 +11,7 @@ const OrderBookWidget = ({
11
11
  instrument,
12
12
  locale,
13
13
  theme,
14
+ isParamError,
14
15
  }: OrderBookWidgetConfig) => {
15
16
  const client = new ApolloClient({
16
17
  uri: graphqlUrl,
@@ -21,7 +22,11 @@ const OrderBookWidget = ({
21
22
  <ThemeProvider theme={theme}>
22
23
  <LocaleProvider locale={getLocale(locale)} translations={translations}>
23
24
  <ApolloProvider client={client}>
24
- <Main instrument={instrument} />
25
+ {isParamError ? (
26
+ <div className="lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary">
27
+ <ChartError />
28
+ </div>
29
+ ) : <Main instrument={instrument} />}
25
30
  </ApolloProvider>
26
31
  </LocaleProvider>
27
32
  </ThemeProvider>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from 'react-dom';
3
- import { Theme } from '@oanda/labs-widget-common';
3
+ import { Theme, validateToolParams } from '@oanda/labs-widget-common';
4
4
  import { OrderBookWidget } from './OrderBookWidget';
5
5
 
6
6
  const {
@@ -22,12 +22,21 @@ if (orderBookElements.length > 0) {
22
22
  const mode = element.getAttribute('data-mode');
23
23
  const { instrument, locale } = JSON.parse(params as string);
24
24
 
25
+ const isParamError = validateToolParams({ locale }, [
26
+ {
27
+ name: 'locale',
28
+ valueCheck: (value) => value.split('-')[0] === 'en' || value.split('-')[0] === 'zh',
29
+ }, {
30
+ name: 'graphqlUrl',
31
+ valueCheck: (value) => !!value,
32
+ }]);
25
33
  render(
26
34
  <OrderBookWidget
27
35
  locale={locale}
28
36
  graphqlUrl={graphqlUrl}
29
37
  instrument={instrument}
30
38
  theme={mode as Theme}
39
+ isParamError={isParamError}
31
40
  />,
32
41
  element,
33
42
  );
@@ -7,6 +7,7 @@ export interface OrderBookWidgetConfig {
7
7
  instrument: InstrumentId;
8
8
  locale: Locale;
9
9
  theme?: Theme;
10
+ isParamError?: boolean;
10
11
  }
11
12
 
12
13
  export interface OrderBookWrapperConfig extends OrderBookWidgetConfig {