@oanda/labs-crowd-view-widget 1.0.54 → 1.0.55

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.
Files changed (168) hide show
  1. package/CHANGELOG.md +224 -0
  2. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +37 -56
  3. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +20 -7
  5. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +15 -9
  7. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +6 -6
  9. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  10. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +41 -13
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  12. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +159 -0
  13. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -0
  14. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +7 -14
  15. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -1
  16. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +20 -2
  17. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -1
  18. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +13 -5
  19. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -1
  20. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +10 -3
  21. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  22. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +20 -5
  23. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  24. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +19 -28
  25. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  26. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/index.js +11 -0
  27. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -1
  28. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +18 -0
  29. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -0
  30. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +1 -20
  31. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -1
  32. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +21 -9
  33. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  34. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +59 -0
  35. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -0
  36. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js +34 -0
  37. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js.map +1 -0
  38. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js +33 -0
  39. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  40. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js +19 -0
  41. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js.map +1 -0
  42. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/index.js +11 -0
  43. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -1
  44. package/dist/main/CrowdViewWidget/components/Chart/getOption.js +33 -21
  45. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  46. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  47. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +7 -4
  48. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  49. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +1 -1
  50. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  51. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +11 -1
  52. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  53. package/dist/main/CrowdViewWidget/constants.js +13 -5
  54. package/dist/main/CrowdViewWidget/constants.js.map +1 -1
  55. package/dist/main/CrowdViewWidget/selectConfig.js +0 -6
  56. package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -1
  57. package/dist/main/translations/sources/en.json +2 -1
  58. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +38 -56
  59. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  60. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +19 -6
  61. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  62. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +15 -9
  63. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -1
  64. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +6 -6
  65. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  66. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +41 -13
  67. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  68. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +151 -0
  69. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -0
  70. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +7 -14
  71. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -1
  72. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +20 -2
  73. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -1
  74. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +13 -5
  75. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -1
  76. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +10 -3
  77. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  78. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +21 -6
  79. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  80. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +19 -28
  81. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  82. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js +1 -0
  83. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -1
  84. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +11 -0
  85. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -0
  86. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +1 -20
  87. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -1
  88. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +21 -9
  89. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  90. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +52 -0
  91. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -0
  92. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js +27 -0
  93. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js.map +1 -0
  94. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +3 -0
  95. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  96. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js +12 -0
  97. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js.map +1 -0
  98. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js +1 -0
  99. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -1
  100. package/dist/module/CrowdViewWidget/components/Chart/getOption.js +34 -22
  101. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  102. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  103. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +8 -5
  104. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  105. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +1 -1
  106. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  107. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +11 -1
  108. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  109. package/dist/module/CrowdViewWidget/constants.js +13 -5
  110. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  111. package/dist/module/CrowdViewWidget/selectConfig.js +0 -6
  112. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -1
  113. package/dist/module/translations/sources/en.json +2 -1
  114. package/dist/types/CrowdViewWidget/components/Chart/Chart.d.ts +1 -1
  115. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.d.ts +5 -1
  116. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getGridLines.d.ts +2 -1
  117. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.d.ts +8 -0
  118. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.d.ts +2 -3
  119. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.d.ts +2 -1
  120. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.d.ts +2 -1
  121. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.d.ts +3 -1
  122. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.d.ts +1 -3
  123. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/index.d.ts +1 -0
  124. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.d.ts +1 -0
  125. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getLabelData.d.ts +1 -16
  126. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +3 -1
  127. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.d.ts +4 -0
  128. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.d.ts +3 -0
  129. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/index.d.ts +3 -0
  130. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.d.ts +2 -0
  131. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/index.d.ts +1 -0
  132. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +5 -0
  133. package/dist/types/CrowdViewWidget/constants.d.ts +12 -4
  134. package/package.json +3 -3
  135. package/src/CrowdViewWidget/components/Chart/Chart.tsx +70 -79
  136. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +31 -13
  137. package/src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts +11 -2
  138. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts +6 -6
  139. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts +48 -6
  140. package/src/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.ts +191 -0
  141. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.ts +7 -15
  142. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.ts +22 -1
  143. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.ts +13 -4
  144. package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +12 -1
  145. package/src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts +55 -30
  146. package/src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts +13 -30
  147. package/src/CrowdViewWidget/components/Chart/chartOptions/index.ts +1 -0
  148. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.ts +13 -0
  149. package/src/CrowdViewWidget/components/Chart/chartUtils/getLabelData.ts +11 -35
  150. package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +40 -11
  151. package/src/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.ts +75 -0
  152. package/src/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.ts +37 -0
  153. package/src/CrowdViewWidget/components/Chart/chartUtils/index.ts +3 -0
  154. package/src/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.ts +13 -0
  155. package/src/CrowdViewWidget/components/Chart/dataUtils/index.ts +1 -0
  156. package/src/CrowdViewWidget/components/Chart/getOption.ts +41 -17
  157. package/src/CrowdViewWidget/components/Chart/types.ts +5 -0
  158. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +12 -5
  159. package/src/CrowdViewWidget/components/Legend/Legend.tsx +1 -1
  160. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +17 -1
  161. package/src/CrowdViewWidget/constants.ts +12 -4
  162. package/src/CrowdViewWidget/selectConfig.ts +0 -8
  163. package/src/translations/sources/en.json +2 -1
  164. package/test/components/Chart/utils/chartUtils.test.ts +13 -2
  165. package/test/components/Chart/utils/handleLabelUpdate.test.ts +419 -0
  166. package/test/components/Chart/utils/handleTooltipUpdate.test.ts +140 -0
  167. package/test/components/Legend.test.tsx +3 -3
  168. package/test/components/LegendBar.test.tsx +22 -20
package/CHANGELOG.md CHANGED
@@ -3,6 +3,230 @@
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.55 (2025-12-09)
7
+
8
+
9
+
10
+ ## 1.0.236 (2025-12-05)
11
+
12
+
13
+
14
+ ## 1.0.235 (2025-12-04)
15
+
16
+
17
+
18
+ ## 1.0.234 (2025-11-27)
19
+
20
+
21
+
22
+ ## 1.0.233 (2025-11-27)
23
+
24
+
25
+
26
+ ## 1.0.232 (2025-11-27)
27
+
28
+
29
+
30
+ ## 1.0.231 (2025-11-07)
31
+
32
+
33
+
34
+ ## 1.0.230 (2025-11-05)
35
+
36
+
37
+
38
+ ## 1.0.229 (2025-11-05)
39
+
40
+
41
+
42
+ ## 1.0.228 (2025-11-05)
43
+
44
+
45
+
46
+ ## 1.0.227 (2025-10-31)
47
+
48
+
49
+
50
+ ## 1.0.226 (2025-10-29)
51
+
52
+
53
+
54
+ ## 1.0.225 (2025-10-09)
55
+
56
+
57
+
58
+ ## 1.0.224 (2025-09-29)
59
+
60
+
61
+
62
+ ## 1.0.223 (2025-09-29)
63
+
64
+
65
+
66
+ ## 1.0.222 (2025-09-17)
67
+
68
+
69
+
70
+ ## 1.0.221 (2025-09-11)
71
+
72
+
73
+
74
+ ## 1.0.220 (2025-09-09)
75
+
76
+
77
+
78
+ ## 1.0.219 (2025-09-02)
79
+
80
+
81
+
82
+ ## 1.0.218 (2025-09-01)
83
+
84
+
85
+
86
+ ## 1.0.217 (2025-08-25)
87
+
88
+
89
+
90
+ ## 1.0.216 (2025-08-18)
91
+
92
+
93
+
94
+ ## 1.0.215 (2025-08-18)
95
+
96
+
97
+
98
+ ## 1.0.214 (2025-08-14)
99
+
100
+
101
+
102
+ ## 1.0.213 (2025-08-12)
103
+
104
+
105
+
106
+ ## 1.0.212 (2025-08-05)
107
+
108
+
109
+
110
+ ## 1.0.211 (2025-08-05)
111
+
112
+
113
+
114
+ ## 1.0.210 (2025-07-31)
115
+
116
+
117
+
118
+ ## 1.0.209 (2025-07-31)
119
+
120
+
121
+
122
+ ## 1.0.208 (2025-07-24)
123
+
124
+
125
+
126
+ ## 1.0.207 (2025-07-18)
127
+
128
+
129
+
130
+ ## 1.0.206 (2025-07-18)
131
+
132
+
133
+
134
+ ## 1.0.205 (2025-07-17)
135
+
136
+
137
+
138
+ ## 1.0.204 (2025-07-09)
139
+
140
+
141
+
142
+ ## 1.0.203 (2025-06-16)
143
+
144
+
145
+
146
+ ## 1.0.202 (2025-06-04)
147
+
148
+
149
+
150
+ ## 1.0.201 (2025-06-02)
151
+
152
+
153
+
154
+ ## 1.0.200 (2025-05-30)
155
+
156
+
157
+
158
+ ## 1.0.199 (2025-05-29)
159
+
160
+
161
+
162
+ ## 1.0.198 (2025-05-26)
163
+
164
+
165
+
166
+ ## 1.0.197 (2025-05-23)
167
+
168
+
169
+
170
+ ## 1.0.196 (2025-05-22)
171
+
172
+
173
+
174
+ ## 1.0.195 (2025-05-21)
175
+
176
+
177
+
178
+ ## 1.0.194 (2025-05-21)
179
+
180
+
181
+
182
+ ## 1.0.193 (2025-05-15)
183
+
184
+
185
+
186
+ ## 1.0.192 (2025-05-14)
187
+
188
+
189
+
190
+ ## 1.0.191 (2025-04-30)
191
+
192
+
193
+
194
+ ## 1.0.190 (2025-04-28)
195
+
196
+
197
+
198
+ ## 1.0.189 (2025-04-23)
199
+
200
+
201
+
202
+ ## 1.0.188 (2025-04-22)
203
+
204
+
205
+
206
+ ## 1.0.187 (2025-04-18)
207
+
208
+
209
+
210
+ ## 1.0.186 (2025-04-10)
211
+
212
+
213
+
214
+ ## 1.0.185 (2025-04-09)
215
+
216
+
217
+
218
+ ## 1.0.184 (2025-04-08)
219
+
220
+
221
+
222
+ ## 1.0.183 (2025-04-04)
223
+
224
+ **Note:** Version bump only for package @oanda/labs-crowd-view-widget
225
+
226
+
227
+
228
+
229
+
6
230
  ## 1.0.54 (2025-12-05)
7
231
 
8
232
 
@@ -10,11 +10,11 @@ var _charts = require("echarts/charts");
10
10
  var _components = require("echarts/components");
11
11
  var echarts = _interopRequireWildcard(require("echarts/core"));
12
12
  var _renderers = require("echarts/renderers");
13
- var _react = _interopRequireDefault(require("react"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _usehooksTs = require("usehooks-ts");
14
15
  var _constants = require("../../constants");
15
16
  var _chartUtils = require("./chartUtils");
16
17
  var _getOption = require("./getOption");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
19
  echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _renderers.CanvasRenderer, _components.DataZoomInsideComponent, _charts.CustomChart, _components.TooltipComponent, _charts.CandlestickChart, _components.MarkLineComponent, _charts.LineChart, _components.VisualMapComponent, _components.DatasetComponent]);
20
20
  echarts.registerTheme('dark_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Dark));
@@ -23,7 +23,8 @@ const Chart = _ref => {
23
23
  let {
24
24
  mainData,
25
25
  additionalData,
26
- isDesktop
26
+ isDesktop,
27
+ isLoading
27
28
  } = _ref;
28
29
  const {
29
30
  isDark
@@ -31,68 +32,48 @@ const Chart = _ref => {
31
32
  const {
32
33
  lang
33
34
  } = (0, _monoI18n.useLocale)();
35
+ const canHover = (0, _usehooksTs.useMediaQuery)('(hover: hover)');
36
+ const labelTimerRef = (0, _react.useRef)(null);
37
+ const isGreaterThanTwoWeeksRef = (0, _react.useRef)(null);
38
+ const zoomTimerRef = (0, _react.useRef)(null);
39
+ const tooltipVisibleRef = (0, _react.useRef)(true);
40
+ const initialIsGreaterThanTwoWeeks = (0, _react.useMemo)(() => {
41
+ const {
42
+ dates
43
+ } = mainData;
44
+ const initialStartZoom = isDesktop ? _constants.CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : _constants.CHART_CONFIG.INITIAL_START_ZOOM_MOBILE;
45
+ const visibleXAxisData = dates.slice(dates.length * initialStartZoom / 100, dates.length * _constants.CHART_CONFIG.INITIAL_END_ZOOM / 100);
46
+ if (visibleXAxisData.length === 0) {
47
+ return false;
48
+ }
49
+ return (0, _chartUtils.isDifferenceGreaterThanTwoWeeks)(visibleXAxisData[0], visibleXAxisData[visibleXAxisData.length - 1]);
50
+ }, [mainData, isDesktop]);
51
+ (0, _react.useEffect)(() => {
52
+ isGreaterThanTwoWeeksRef.current = initialIsGreaterThanTwoWeeks;
53
+ }, [initialIsGreaterThanTwoWeeks]);
54
+ const chartOption = (0, _react.useMemo)(() => (0, _getOption.getOption)({
55
+ mainData,
56
+ additionalData,
57
+ isDark,
58
+ isDesktop,
59
+ isLoading,
60
+ labelCallback: lang
61
+ }), [mainData, additionalData, isDark, isDesktop, isLoading, lang]);
62
+ const handleDataZoom = (0, _react.useCallback)((_params, instance) => {
63
+ (0, _chartUtils.handleTooltipUpdate)(instance, zoomTimerRef, tooltipVisibleRef, canHover);
64
+ (0, _chartUtils.handleLabelUpdate)(instance, mainData, labelTimerRef, isGreaterThanTwoWeeksRef);
65
+ }, [mainData, canHover]);
34
66
  return _react.default.createElement(_labsWidgetCommon.BaseChart, {
35
67
  chartHeight: _constants.CHART_CONFIG.HEIGHT,
36
68
  echarts: echarts,
37
69
  isDark: isDark,
38
70
  lazyUpdate: true,
39
- option: (0, _getOption.getOption)({
40
- mainData,
41
- additionalData,
42
- isDark,
43
- isDesktop,
44
- labelCallback: lang
45
- }),
71
+ option: chartOption,
46
72
  opts: {
47
73
  renderer: 'canvas'
48
74
  },
49
75
  onEvents: {
50
- datazoom: (params, instance) => {
51
- var _params$batch, _;
52
- if (!((_params$batch = params.batch) !== null && _params$batch !== void 0 && _params$batch[0])) {
53
- return;
54
- }
55
- const {
56
- dates
57
- } = mainData;
58
- const {
59
- dataZoom,
60
- xAxis
61
- } = instance.getOption();
62
- if (!Array.isArray(dataZoom) || dataZoom.length === 0 || !dataZoom[0] || typeof dataZoom[0].startValue !== 'number' || typeof dataZoom[0].endValue !== 'number') {
63
- return;
64
- }
65
- const {
66
- startValue,
67
- endValue
68
- } = dataZoom[0];
69
- if (!dates[startValue] || !dates[endValue]) {
70
- return;
71
- }
72
- const isGreaterThanTwoWeeks = (0, _chartUtils.isDifferenceGreaterThanTwoWeeks)(dates[startValue], dates[endValue]);
73
- const wasGreaterThanTwoWeeks = Array.isArray(xAxis) && xAxis.length > 0 && ((_ = xAxis[0]) === null || _ === void 0 ? void 0 : _.name) === 'xAxis-greater-than-two-weeks';
74
- if (isGreaterThanTwoWeeks !== wasGreaterThanTwoWeeks) {
75
- const labelsData = (0, _chartUtils.getLabelData)({
76
- dates,
77
- isGreaterThanTwoWeeks
78
- });
79
- instance.setOption({
80
- xAxis: {
81
- id: 'main-xAxis',
82
- name: isGreaterThanTwoWeeks ? 'xAxis-greater-than-two-weeks' : 'xAxis-less-than-two-weeks',
83
- axisLabel: {
84
- formatter: value => (0, _chartUtils.formatXAxisLabel)(value, isGreaterThanTwoWeeks)
85
- }
86
- },
87
- series: [{
88
- id: 'candlestick',
89
- markPoint: {
90
- data: labelsData
91
- }
92
- }]
93
- });
94
- }
95
- }
76
+ datazoom: handleDataZoom
96
77
  }
97
78
  });
98
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_interopRequireDefault","_constants","_chartUtils","_getOption","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","use","GridSimpleComponent","GraphicComponent","CanvasRenderer","DataZoomInsideComponent","CustomChart","TooltipComponent","CandlestickChart","MarkLineComponent","LineChart","VisualMapComponent","DatasetComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","mainData","additionalData","isDesktop","isDark","useLayoutProvider","lang","useLocale","createElement","BaseChart","chartHeight","CHART_CONFIG","HEIGHT","lazyUpdate","option","getOption","labelCallback","opts","renderer","onEvents","datazoom","params","instance","_params$batch","_","batch","dates","dataZoom","xAxis","Array","isArray","length","startValue","endValue","isGreaterThanTwoWeeks","isDifferenceGreaterThanTwoWeeks","wasGreaterThanTwoWeeks","name","labelsData","getLabelData","setOption","id","axisLabel","formatter","value","formatXAxisLabel","series","markPoint","data","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TooltipComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { CHART_CONFIG } from '../../constants';\nimport {\n formatXAxisLabel,\n getLabelData,\n isDifferenceGreaterThanTwoWeeks,\n} from './chartUtils';\nimport { getOption } from './getOption';\nimport type {\n ChartProps,\n DataZoomArray,\n DataZoomEvent,\n XAxisArray,\n} from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n CanvasRenderer,\n DataZoomInsideComponent,\n CustomChart,\n TooltipComponent,\n CandlestickChart,\n MarkLineComponent,\n LineChart,\n VisualMapComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ mainData, additionalData, isDesktop }: ChartProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <BaseChart\n chartHeight={CHART_CONFIG.HEIGHT}\n echarts={echarts}\n isDark={isDark}\n lazyUpdate={true}\n option={getOption({\n mainData,\n additionalData,\n isDark,\n isDesktop,\n labelCallback: lang,\n })}\n opts={{ renderer: 'canvas' }}\n onEvents={{\n datazoom: (params: DataZoomEvent, instance: EChartsType) => {\n if (!params.batch?.[0]) {\n return;\n }\n\n const { dates } = mainData;\n\n const { dataZoom, xAxis } = instance.getOption();\n if (\n !Array.isArray(dataZoom) ||\n dataZoom.length === 0 ||\n !dataZoom[0] ||\n typeof dataZoom[0].startValue !== 'number' ||\n typeof dataZoom[0].endValue !== 'number'\n ) {\n return;\n }\n\n const { startValue, endValue } = dataZoom[0] as DataZoomArray[0];\n\n if (!dates[startValue] || !dates[endValue]) {\n return;\n }\n\n const isGreaterThanTwoWeeks = isDifferenceGreaterThanTwoWeeks(\n dates[startValue],\n dates[endValue]\n );\n\n const wasGreaterThanTwoWeeks =\n Array.isArray(xAxis) &&\n xAxis.length > 0 &&\n (xAxis as XAxisArray)[0]?.name === 'xAxis-greater-than-two-weeks';\n\n if (isGreaterThanTwoWeeks !== wasGreaterThanTwoWeeks) {\n const labelsData = getLabelData({\n dates,\n isGreaterThanTwoWeeks,\n });\n\n instance.setOption({\n xAxis: {\n id: 'main-xAxis',\n name: isGreaterThanTwoWeeks\n ? 'xAxis-greater-than-two-weeks'\n : 'xAxis-less-than-two-weeks',\n axisLabel: {\n formatter: (value: string) =>\n formatXAxisLabel(value, isGreaterThanTwoWeeks),\n },\n },\n series: [\n {\n id: 'candlestick',\n markPoint: {\n data: labelsData,\n },\n },\n ],\n });\n }\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_usehooksTs","_constants","_chartUtils","_getOption","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","use","GridSimpleComponent","GraphicComponent","CanvasRenderer","DataZoomInsideComponent","CustomChart","TooltipComponent","CandlestickChart","MarkLineComponent","LineChart","VisualMapComponent","DatasetComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","mainData","additionalData","isDesktop","isLoading","isDark","useLayoutProvider","lang","useLocale","canHover","useMediaQuery","labelTimerRef","useRef","isGreaterThanTwoWeeksRef","zoomTimerRef","tooltipVisibleRef","initialIsGreaterThanTwoWeeks","useMemo","dates","initialStartZoom","CHART_CONFIG","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","visibleXAxisData","slice","length","INITIAL_END_ZOOM","isDifferenceGreaterThanTwoWeeks","useEffect","current","chartOption","getOption","labelCallback","handleDataZoom","useCallback","_params","instance","handleTooltipUpdate","handleLabelUpdate","createElement","BaseChart","chartHeight","HEIGHT","lazyUpdate","option","opts","renderer","onEvents","datazoom","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TooltipComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useMediaQuery } from 'usehooks-ts';\n\nimport { CHART_CONFIG } from '../../constants';\nimport {\n handleLabelUpdate,\n handleTooltipUpdate,\n isDifferenceGreaterThanTwoWeeks,\n} from './chartUtils';\nimport { getOption } from './getOption';\nimport type { ChartProps, DataZoomEvent } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n CanvasRenderer,\n DataZoomInsideComponent,\n CustomChart,\n TooltipComponent,\n CandlestickChart,\n MarkLineComponent,\n LineChart,\n VisualMapComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({\n mainData,\n additionalData,\n isDesktop,\n isLoading,\n}: ChartProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n const canHover = useMediaQuery('(hover: hover)');\n const labelTimerRef = useRef<NodeJS.Timeout | null>(null);\n const isGreaterThanTwoWeeksRef = useRef<boolean | null>(null);\n const zoomTimerRef = useRef<NodeJS.Timeout | null>(null);\n const tooltipVisibleRef = useRef<boolean>(true);\n\n const initialIsGreaterThanTwoWeeks = useMemo(() => {\n const { dates } = mainData;\n const initialStartZoom = isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE;\n\n const visibleXAxisData = dates.slice(\n (dates.length * initialStartZoom) / 100,\n (dates.length * CHART_CONFIG.INITIAL_END_ZOOM) / 100\n );\n\n if (visibleXAxisData.length === 0) {\n return false;\n }\n\n return isDifferenceGreaterThanTwoWeeks(\n visibleXAxisData[0],\n visibleXAxisData[visibleXAxisData.length - 1]\n );\n }, [mainData, isDesktop]);\n\n useEffect(() => {\n isGreaterThanTwoWeeksRef.current = initialIsGreaterThanTwoWeeks;\n }, [initialIsGreaterThanTwoWeeks]);\n\n const chartOption = useMemo(\n () =>\n getOption({\n mainData,\n additionalData,\n isDark,\n isDesktop,\n isLoading,\n labelCallback: lang,\n }),\n [mainData, additionalData, isDark, isDesktop, isLoading, lang]\n );\n\n // Memoize event handler to prevent unnecessary re-renders\n const handleDataZoom = useCallback(\n (_params: DataZoomEvent, instance: EChartsType) => {\n handleTooltipUpdate(instance, zoomTimerRef, tooltipVisibleRef, canHover);\n handleLabelUpdate(\n instance,\n mainData,\n labelTimerRef,\n isGreaterThanTwoWeeksRef\n );\n },\n [mainData, canHover]\n );\n\n return (\n <BaseChart\n chartHeight={CHART_CONFIG.HEIGHT}\n echarts={echarts}\n isDark={isDark}\n lazyUpdate={true}\n option={chartOption}\n opts={{ renderer: 'canvas' }}\n onEvents={{\n datazoom: handleDataZoom,\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAMA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AASA,IAAAI,OAAA,GAAAC,uBAAA,CAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAF,uBAAA,CAAAL,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAEA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAKA,IAAAW,UAAA,GAAAX,OAAA;AAAwC,SAAAK,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGxCT,OAAO,CAAC2B,GAAG,CAAC,CACVC,+BAAmB,EACnBC,4BAAgB,EAChBC,yBAAc,EACdC,mCAAuB,EACvBC,mBAAW,EACXC,4BAAgB,EAChBC,wBAAgB,EAChBC,6BAAiB,EACjBC,iBAAS,EACTC,8BAAkB,EAClBC,4BAAgB,CACjB,CAAC;AAEFtC,OAAO,CAACuC,aAAa,CAAC,YAAY,EAAE,IAAAC,+BAAa,EAACC,uBAAK,CAACC,IAAI,CAAC,CAAC;AAC9D1C,OAAO,CAACuC,aAAa,CAAC,aAAa,EAAE,IAAAC,+BAAa,EAACC,uBAAK,CAACE,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAKI;EAAA,IALH;IACbC,QAAQ;IACRC,cAAc;IACdC,SAAS;IACTC;EACU,CAAC,GAAAJ,IAAA;EACX,MAAM;IAAEK;EAAO,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACtC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAMC,QAAQ,GAAG,IAAAC,yBAAa,EAAC,gBAAgB,CAAC;EAChD,MAAMC,aAAa,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EACzD,MAAMC,wBAAwB,GAAG,IAAAD,aAAM,EAAiB,IAAI,CAAC;EAC7D,MAAME,YAAY,GAAG,IAAAF,aAAM,EAAwB,IAAI,CAAC;EACxD,MAAMG,iBAAiB,GAAG,IAAAH,aAAM,EAAU,IAAI,CAAC;EAE/C,MAAMI,4BAA4B,GAAG,IAAAC,cAAO,EAAC,MAAM;IACjD,MAAM;MAAEC;IAAM,CAAC,GAAGjB,QAAQ;IAC1B,MAAMkB,gBAAgB,GAAGhB,SAAS,GAC9BiB,uBAAY,CAACC,0BAA0B,GACvCD,uBAAY,CAACE,yBAAyB;IAE1C,MAAMC,gBAAgB,GAAGL,KAAK,CAACM,KAAK,CACjCN,KAAK,CAACO,MAAM,GAAGN,gBAAgB,GAAI,GAAG,EACtCD,KAAK,CAACO,MAAM,GAAGL,uBAAY,CAACM,gBAAgB,GAAI,GACnD,CAAC;IAED,IAAIH,gBAAgB,CAACE,MAAM,KAAK,CAAC,EAAE;MACjC,OAAO,KAAK;IACd;IAEA,OAAO,IAAAE,2CAA+B,EACpCJ,gBAAgB,CAAC,CAAC,CAAC,EACnBA,gBAAgB,CAACA,gBAAgB,CAACE,MAAM,GAAG,CAAC,CAC9C,CAAC;EACH,CAAC,EAAE,CAACxB,QAAQ,EAAEE,SAAS,CAAC,CAAC;EAEzB,IAAAyB,gBAAS,EAAC,MAAM;IACdf,wBAAwB,CAACgB,OAAO,GAAGb,4BAA4B;EACjE,CAAC,EAAE,CAACA,4BAA4B,CAAC,CAAC;EAElC,MAAMc,WAAW,GAAG,IAAAb,cAAO,EACzB,MACE,IAAAc,oBAAS,EAAC;IACR9B,QAAQ;IACRC,cAAc;IACdG,MAAM;IACNF,SAAS;IACTC,SAAS;IACT4B,aAAa,EAAEzB;EACjB,CAAC,CAAC,EACJ,CAACN,QAAQ,EAAEC,cAAc,EAAEG,MAAM,EAAEF,SAAS,EAAEC,SAAS,EAAEG,IAAI,CAC/D,CAAC;EAGD,MAAM0B,cAAc,GAAG,IAAAC,kBAAW,EAChC,CAACC,OAAsB,EAAEC,QAAqB,KAAK;IACjD,IAAAC,+BAAmB,EAACD,QAAQ,EAAEtB,YAAY,EAAEC,iBAAiB,EAAEN,QAAQ,CAAC;IACxE,IAAA6B,6BAAiB,EACfF,QAAQ,EACRnC,QAAQ,EACRU,aAAa,EACbE,wBACF,CAAC;EACH,CAAC,EACD,CAACZ,QAAQ,EAAEQ,QAAQ,CACrB,CAAC;EAED,OACEnD,MAAA,CAAAe,OAAA,CAAAkE,aAAA,CAACzF,iBAAA,CAAA0F,SAAS;IACRC,WAAW,EAAErB,uBAAY,CAACsB,MAAO;IACjCvF,OAAO,EAAEA,OAAQ;IACjBkD,MAAM,EAAEA,MAAO;IACfsC,UAAU,EAAE,IAAK;IACjBC,MAAM,EAAEd,WAAY;IACpBe,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAS,CAAE;IAC7BC,QAAQ,EAAE;MACRC,QAAQ,EAAEf;IACZ;EAAE,CACH,CAAC;AAEN,CAAC;AAACgB,OAAA,CAAAlD,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ChartWithData = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _usehooksTs = require("usehooks-ts");
9
10
  var _Chart = require("./Chart");
10
11
  var _useCrowdViewData = require("./useCrowdViewData");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
13
  const ChartWithData = _ref => {
13
14
  let {
14
15
  instrument,
@@ -19,11 +20,13 @@ const ChartWithData = _ref => {
19
20
  const {
20
21
  size
21
22
  } = (0, _labsWidgetCommon.useLayoutProvider)();
23
+ const [debouncedLoading, setDebouncedLoading] = (0, _react.useState)(true);
22
24
  const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
23
25
  const {
24
26
  mainData,
25
27
  additionalData,
26
28
  loading,
29
+ priceCandlesLoading,
27
30
  error
28
31
  } = (0, _useCrowdViewData.useCrowdViewData)({
29
32
  instrument,
@@ -31,20 +34,30 @@ const ChartWithData = _ref => {
31
34
  division,
32
35
  granularity
33
36
  });
37
+ const hideLoading = (0, _usehooksTs.useDebounceCallback)(() => setDebouncedLoading(false), 500);
38
+ (0, _react.useEffect)(() => {
39
+ if (loading === false) {
40
+ hideLoading();
41
+ }
42
+ if (loading === true) {
43
+ setDebouncedLoading(true);
44
+ }
45
+ }, [loading, hideLoading]);
34
46
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
35
47
  className: "lw-relative lw-h-[440px] lw-w-full lw-overflow-hidden"
36
48
  }, error && _react.default.createElement("div", {
37
49
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary"
38
- }, _react.default.createElement(_labsWidgetCommon.ChartError, null)), loading && _react.default.createElement("div", {
39
- className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary"
40
- }, _react.default.createElement(_labsWidgetCommon.Spinner, {
41
- size: _labsWidgetCommon.SpinnerSize.lg
42
- })), !loading && !error && !!mainData && !!additionalData && _react.default.createElement("div", {
50
+ }, _react.default.createElement(_labsWidgetCommon.ChartError, null)), !priceCandlesLoading && !error && !!mainData && !!additionalData && _react.default.createElement("div", {
43
51
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full"
44
52
  }, _react.default.createElement(_Chart.Chart, {
45
53
  additionalData: additionalData,
46
54
  isDesktop: isDesktop,
55
+ isLoading: debouncedLoading,
47
56
  mainData: mainData
57
+ })), loading && _react.default.createElement("div", {
58
+ className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50"
59
+ }, _react.default.createElement(_labsWidgetCommon.Spinner, {
60
+ size: _labsWidgetCommon.SpinnerSize.lg
48
61
  }))));
49
62
  };
50
63
  exports.ChartWithData = ChartWithData;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWithData.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_Chart","_useCrowdViewData","e","__esModule","default","ChartWithData","_ref","instrument","bookType","division","granularity","size","useLayoutProvider","isDesktop","Size","DESKTOP","mainData","additionalData","loading","error","useCrowdViewData","createElement","Fragment","className","ChartError","Spinner","SpinnerSize","lg","Chart","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/ChartWithData.tsx"],"sourcesContent":["import {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { Chart } from './Chart';\nimport type { ChartWithDataProps } from './types';\nimport { useCrowdViewData } from './useCrowdViewData';\n\nconst ChartWithData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { mainData, additionalData, loading, error } = useCrowdViewData({\n instrument,\n bookType,\n division,\n granularity,\n });\n\n return (\n <>\n <div className=\"lw-relative lw-h-[440px] lw-w-full lw-overflow-hidden\">\n {error && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n {loading && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && !error && !!mainData && !!additionalData && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n additionalData={additionalData}\n isDesktop={isDesktop}\n mainData={mainData}\n />\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,iBAAA,GAAAJ,OAAA;AAAsD,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtD,MAAMG,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EAEvC,MAAM;IAAEC,QAAQ;IAAEC,cAAc;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAG,IAAAC,kCAAgB,EAAC;IACpEb,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC,CAAC;EAEF,OACEZ,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAAAvB,MAAA,CAAAM,OAAA,CAAAkB,QAAA,QACExB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAuD,GACnEJ,KAAK,IACJrB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAiJ,GAC9JzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACzB,iBAAA,CAAA4B,UAAU,MAAE,CACV,CACN,EACAN,OAAO,IACNpB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAiJ,GAC9JzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACzB,iBAAA,CAAA6B,OAAO;IAACd,IAAI,EAAEe,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAACT,OAAO,IAAI,CAACC,KAAK,IAAI,CAAC,CAACH,QAAQ,IAAI,CAAC,CAACC,cAAc,IACnDnB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAA4D,GACzEzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACrB,MAAA,CAAA4B,KAAK;IACJX,cAAc,EAAEA,cAAe;IAC/BJ,SAAS,EAAEA,SAAU;IACrBG,QAAQ,EAAEA;EAAS,CACpB,CACE,CAEJ,CACL,CAAC;AAEP,CAAC;AAACa,OAAA,CAAAxB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"ChartWithData.js","names":["_labsWidgetCommon","require","_react","_interopRequireWildcard","_usehooksTs","_Chart","_useCrowdViewData","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChartWithData","_ref","instrument","bookType","division","granularity","size","useLayoutProvider","debouncedLoading","setDebouncedLoading","useState","isDesktop","Size","DESKTOP","mainData","additionalData","loading","priceCandlesLoading","error","useCrowdViewData","hideLoading","useDebounceCallback","useEffect","createElement","Fragment","className","ChartError","Chart","isLoading","Spinner","SpinnerSize","lg","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/ChartWithData.tsx"],"sourcesContent":["import {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\nimport { useDebounceCallback } from 'usehooks-ts';\n\nimport { Chart } from './Chart';\nimport type { ChartWithDataProps } from './types';\nimport { useCrowdViewData } from './useCrowdViewData';\n\nconst ChartWithData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const [debouncedLoading, setDebouncedLoading] = useState(true);\n const isDesktop = size === Size.DESKTOP;\n\n const { mainData, additionalData, loading, priceCandlesLoading, error } =\n useCrowdViewData({\n instrument,\n bookType,\n division,\n granularity,\n });\n\n const hideLoading = useDebounceCallback(\n () => setDebouncedLoading(false),\n 500\n );\n\n useEffect(() => {\n if (loading === false) {\n hideLoading();\n }\n if (loading === true) {\n setDebouncedLoading(true);\n }\n }, [loading, hideLoading]);\n\n return (\n <>\n <div className=\"lw-relative lw-h-[440px] lw-w-full lw-overflow-hidden\">\n {error && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n {!priceCandlesLoading && !error && !!mainData && !!additionalData && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n additionalData={additionalData}\n isDesktop={isDesktop}\n isLoading={debouncedLoading}\n mainData={mainData}\n />\n </div>\n )}\n {loading && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -5,14 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getDataZoomConfig = void 0;
7
7
  var _constants = require("../../../constants");
8
- const getDataZoomConfig = () => ({
9
- type: 'inside',
10
- id: 'main',
11
- xAxisIndex: [0, 1],
12
- start: _constants.CHART_CONFIG.INITIAL_START_ZOOM,
13
- end: _constants.CHART_CONFIG.INITIAL_END_ZOOM,
14
- filterMode: 'filter',
15
- minSpan: 10
16
- });
8
+ const getDataZoomConfig = _ref => {
9
+ let {
10
+ isDesktop
11
+ } = _ref;
12
+ return {
13
+ type: 'inside',
14
+ id: 'main',
15
+ xAxisIndex: [0, 1],
16
+ start: isDesktop ? _constants.CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : _constants.CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,
17
+ end: _constants.CHART_CONFIG.INITIAL_END_ZOOM,
18
+ filterMode: 'filter',
19
+ minSpan: 10,
20
+ preventDefaultMouseMove: true
21
+ };
22
+ };
17
23
  exports.getDataZoomConfig = getDataZoomConfig;
18
24
  //# sourceMappingURL=getDataZoomConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataZoomConfig.js","names":["_constants","require","getDataZoomConfig","type","id","xAxisIndex","start","CHART_CONFIG","INITIAL_START_ZOOM","end","INITIAL_END_ZOOM","filterMode","minSpan","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts"],"sourcesContent":["import type { DataZoomComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\nexport const getDataZoomConfig = (): DataZoomComponentOption => ({\n type: 'inside',\n id: 'main',\n xAxisIndex: [0, 1],\n start: CHART_CONFIG.INITIAL_START_ZOOM,\n end: CHART_CONFIG.INITIAL_END_ZOOM,\n filterMode: 'filter',\n minSpan: 10,\n});\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,iBAAiB,GAAGA,CAAA,MAAgC;EAC/DC,IAAI,EAAE,QAAQ;EACdC,EAAE,EAAE,MAAM;EACVC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAClBC,KAAK,EAAEC,uBAAY,CAACC,kBAAkB;EACtCC,GAAG,EAAEF,uBAAY,CAACG,gBAAgB;EAClCC,UAAU,EAAE,QAAQ;EACpBC,OAAO,EAAE;AACX,CAAC,CAAC;AAACC,OAAA,CAAAX,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"getDataZoomConfig.js","names":["_constants","require","getDataZoomConfig","_ref","isDesktop","type","id","xAxisIndex","start","CHART_CONFIG","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","end","INITIAL_END_ZOOM","filterMode","minSpan","preventDefaultMouseMove","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts"],"sourcesContent":["import type { DataZoomComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetDataZoomConfigParams {\n isDesktop: boolean;\n}\n\nexport const getDataZoomConfig = ({\n isDesktop,\n}: GetDataZoomConfigParams): DataZoomComponentOption => ({\n type: 'inside',\n id: 'main',\n xAxisIndex: [0, 1],\n start: isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,\n end: CHART_CONFIG.INITIAL_END_ZOOM,\n filterMode: 'filter',\n minSpan: 10,\n preventDefaultMouseMove: true,\n});\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAMO,MAAMC,iBAAiB,GAAGC,IAAA;EAAA,IAAC;IAChCC;EACuB,CAAC,GAAAD,IAAA;EAAA,OAA+B;IACvDE,IAAI,EAAE,QAAQ;IACdC,EAAE,EAAE,MAAM;IACVC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,KAAK,EAAEJ,SAAS,GACZK,uBAAY,CAACC,0BAA0B,GACvCD,uBAAY,CAACE,yBAAyB;IAC1CC,GAAG,EAAEH,uBAAY,CAACI,gBAAgB;IAClCC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,EAAE;IACXC,uBAAuB,EAAE;EAC3B,CAAC;AAAA,CAAC;AAACC,OAAA,CAAAf,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -12,18 +12,18 @@ const getGridConfig = _ref => {
12
12
  return [{
13
13
  id: 'main-grid',
14
14
  name: 'main-grid',
15
- left: "".concat(_constants.CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE, "px"),
15
+ left: "".concat(isDesktop ? _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE, "px"),
16
16
  right: "".concat(isDesktop ? _constants.CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : _constants.CHART_CONFIG.Y_LABEL_SIZE_MOBILE, "px"),
17
- top: '0px',
17
+ top: "".concat(isDesktop ? _constants.CHART_CONFIG.TOP_MARGIN_DESKTOP : _constants.CHART_CONFIG.TOP_MARGIN_MOBILE, "px"),
18
18
  bottom: "".concat(_constants.CHART_CONFIG.X_LABEL_SIZE, "px"),
19
- height: "".concat(_constants.CHART_CONFIG.MAIN_HEIGHT, "px")
19
+ height: "".concat(isDesktop ? _constants.CHART_CONFIG.MAIN_HEIGHT - _constants.CHART_CONFIG.TOP_MARGIN_DESKTOP : _constants.CHART_CONFIG.MAIN_HEIGHT - _constants.CHART_CONFIG.TOP_MARGIN_MOBILE, "px")
20
20
  }, {
21
21
  id: 'sentiment-grid',
22
22
  name: 'sentiment-grid',
23
- left: "".concat(_constants.CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE, "px"),
23
+ left: "".concat(isDesktop ? _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE, "px"),
24
24
  right: "".concat(isDesktop ? _constants.CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : _constants.CHART_CONFIG.Y_LABEL_SIZE_MOBILE, "px"),
25
- top: "0px",
26
- height: "".concat(_constants.CHART_CONFIG.MAIN_HEIGHT, "px")
25
+ top: "".concat(isDesktop ? _constants.CHART_CONFIG.TOP_MARGIN_DESKTOP : _constants.CHART_CONFIG.TOP_MARGIN_MOBILE, "px"),
26
+ height: "".concat(isDesktop ? _constants.CHART_CONFIG.MAIN_HEIGHT - _constants.CHART_CONFIG.TOP_MARGIN_DESKTOP : _constants.CHART_CONFIG.MAIN_HEIGHT - _constants.CHART_CONFIG.TOP_MARGIN_MOBILE, "px")
27
27
  }];
28
28
  };
29
29
  exports.getGridConfig = getGridConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"getGridConfig.js","names":["_constants","require","getGridConfig","_ref","isDesktop","id","name","left","concat","CHART_CONFIG","Y_SENTIMENT_LABEL_SIZE","right","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","top","bottom","X_LABEL_SIZE","height","MAIN_HEIGHT","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts"],"sourcesContent":["import type { GridComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetGridConfigParams {\n isDesktop: boolean;\n}\n\nexport const getGridConfig = ({\n isDesktop,\n}: GetGridConfigParams): GridComponentOption[] => [\n {\n id: 'main-grid',\n name: 'main-grid',\n left: `${CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE}px`,\n right: `${isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE}px`,\n top: '0px',\n bottom: `${CHART_CONFIG.X_LABEL_SIZE}px`,\n height: `${CHART_CONFIG.MAIN_HEIGHT}px`,\n },\n {\n id: 'sentiment-grid',\n name: 'sentiment-grid',\n left: `${CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE}px`,\n right: `${isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE}px`,\n top: `0px`,\n height: `${CHART_CONFIG.MAIN_HEIGHT}px`,\n },\n];\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAMO,MAAMC,aAAa,GAAGC,IAAA;EAAA,IAAC;IAC5BC;EACmB,CAAC,GAAAD,IAAA;EAAA,OAA4B,CAChD;IACEE,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,WAAW;IACjBC,IAAI,KAAAC,MAAA,CAAKC,uBAAY,CAACC,sBAAsB,OAAI;IAChDC,KAAK,KAAAH,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACG,oBAAoB,GAAGH,uBAAY,CAACI,mBAAmB,OAAI;IAC9FC,GAAG,EAAE,KAAK;IACVC,MAAM,KAAAP,MAAA,CAAKC,uBAAY,CAACO,YAAY,OAAI;IACxCC,MAAM,KAAAT,MAAA,CAAKC,uBAAY,CAACS,WAAW;EACrC,CAAC,EACD;IACEb,EAAE,EAAE,gBAAgB;IACpBC,IAAI,EAAE,gBAAgB;IACtBC,IAAI,KAAAC,MAAA,CAAKC,uBAAY,CAACC,sBAAsB,OAAI;IAChDC,KAAK,KAAAH,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACG,oBAAoB,GAAGH,uBAAY,CAACI,mBAAmB,OAAI;IAC9FC,GAAG,OAAO;IACVG,MAAM,KAAAT,MAAA,CAAKC,uBAAY,CAACS,WAAW;EACrC,CAAC,CACF;AAAA;AAACC,OAAA,CAAAjB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"getGridConfig.js","names":["_constants","require","getGridConfig","_ref","isDesktop","id","name","left","concat","CHART_CONFIG","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","right","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","top","TOP_MARGIN_DESKTOP","TOP_MARGIN_MOBILE","bottom","X_LABEL_SIZE","height","MAIN_HEIGHT","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts"],"sourcesContent":["import type { GridComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetGridConfigParams {\n isDesktop: boolean;\n}\n\nexport const getGridConfig = ({\n isDesktop,\n}: GetGridConfigParams): GridComponentOption[] => [\n {\n id: 'main-grid',\n name: 'main-grid',\n left: `${isDesktop ? CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE}px`,\n right: `${isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE}px`,\n top: `${isDesktop ? CHART_CONFIG.TOP_MARGIN_DESKTOP : CHART_CONFIG.TOP_MARGIN_MOBILE}px`,\n bottom: `${CHART_CONFIG.X_LABEL_SIZE}px`,\n height: `${isDesktop ? CHART_CONFIG.MAIN_HEIGHT - CHART_CONFIG.TOP_MARGIN_DESKTOP : CHART_CONFIG.MAIN_HEIGHT - CHART_CONFIG.TOP_MARGIN_MOBILE}px`,\n },\n {\n id: 'sentiment-grid',\n name: 'sentiment-grid',\n left: `${isDesktop ? CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE}px`,\n right: `${isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE}px`,\n top: `${isDesktop ? CHART_CONFIG.TOP_MARGIN_DESKTOP : CHART_CONFIG.TOP_MARGIN_MOBILE}px`,\n height: `${isDesktop ? CHART_CONFIG.MAIN_HEIGHT - CHART_CONFIG.TOP_MARGIN_DESKTOP : CHART_CONFIG.MAIN_HEIGHT - CHART_CONFIG.TOP_MARGIN_MOBILE}px`,\n },\n];\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAMO,MAAMC,aAAa,GAAGC,IAAA;EAAA,IAAC;IAC5BC;EACmB,CAAC,GAAAD,IAAA;EAAA,OAA4B,CAChD;IACEE,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,WAAW;IACjBC,IAAI,KAAAC,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACC,8BAA8B,GAAGD,uBAAY,CAACE,6BAA6B,OAAI;IACjHC,KAAK,KAAAJ,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACI,oBAAoB,GAAGJ,uBAAY,CAACK,mBAAmB,OAAI;IAC9FC,GAAG,KAAAP,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACO,kBAAkB,GAAGP,uBAAY,CAACQ,iBAAiB,OAAI;IACxFC,MAAM,KAAAV,MAAA,CAAKC,uBAAY,CAACU,YAAY,OAAI;IACxCC,MAAM,KAAAZ,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACY,WAAW,GAAGZ,uBAAY,CAACO,kBAAkB,GAAGP,uBAAY,CAACY,WAAW,GAAGZ,uBAAY,CAACQ,iBAAiB;EAC/I,CAAC,EACD;IACEZ,EAAE,EAAE,gBAAgB;IACpBC,IAAI,EAAE,gBAAgB;IACtBC,IAAI,KAAAC,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACC,8BAA8B,GAAGD,uBAAY,CAACE,6BAA6B,OAAI;IACjHC,KAAK,KAAAJ,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACI,oBAAoB,GAAGJ,uBAAY,CAACK,mBAAmB,OAAI;IAC9FC,GAAG,KAAAP,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACO,kBAAkB,GAAGP,uBAAY,CAACQ,iBAAiB,OAAI;IACxFG,MAAM,KAAAZ,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACY,WAAW,GAAGZ,uBAAY,CAACO,kBAAkB,GAAGP,uBAAY,CAACY,WAAW,GAAGZ,uBAAY,CAACQ,iBAAiB;EAC/I,CAAC,CACF;AAAA;AAACK,OAAA,CAAApB,aAAA,GAAAA,aAAA","ignoreList":[]}