@sis-cc/dotstatsuite-components 22.0.1 → 22.0.3

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 (366) hide show
  1. package/dist/bridge-d3-react/src/index.js +18 -0
  2. package/dist/bridge-d3-react/src/index.js.map +1 -0
  3. package/dist/bridge-d3-react/src/react-chart-factory.js +44 -0
  4. package/dist/bridge-d3-react/src/react-chart-factory.js.map +1 -0
  5. package/dist/rules/src/chart/getAxisOptions.js +256 -0
  6. package/dist/rules/src/chart/getAxisOptions.js.map +1 -0
  7. package/dist/rules/src/chart/getBaseOptions.js +77 -0
  8. package/dist/rules/src/chart/getBaseOptions.js.map +1 -0
  9. package/dist/rules/src/chart/getChartOptions.js +120 -0
  10. package/dist/rules/src/chart/getChartOptions.js.map +1 -0
  11. package/dist/rules/src/chart/getGridOptions.js +46 -0
  12. package/dist/rules/src/chart/getGridOptions.js.map +1 -0
  13. package/dist/rules/src/chart/getTooltipOptions.js +223 -0
  14. package/dist/rules/src/chart/getTooltipOptions.js.map +1 -0
  15. package/dist/rules/src/constants.js +65 -0
  16. package/dist/rules/src/constants.js.map +1 -0
  17. package/dist/rules/src/date.js +121 -0
  18. package/dist/rules/src/date.js.map +1 -0
  19. package/dist/rules/src/dimension-utils.js +57 -0
  20. package/dist/rules/src/dimension-utils.js.map +1 -0
  21. package/dist/rules/src/factories/choro-series.js +68 -0
  22. package/dist/rules/src/factories/choro-series.js.map +1 -0
  23. package/dist/rules/src/factories/sample-focus.js +25 -0
  24. package/dist/rules/src/factories/sample-focus.js.map +1 -0
  25. package/dist/rules/src/factories/sample-series.js +53 -0
  26. package/dist/rules/src/factories/sample-series.js.map +1 -0
  27. package/dist/rules/src/factories/scatter-dimension.js +35 -0
  28. package/dist/rules/src/factories/scatter-dimension.js.map +1 -0
  29. package/dist/rules/src/factories/scatter-focus.js +42 -0
  30. package/dist/rules/src/factories/scatter-focus.js.map +1 -0
  31. package/dist/rules/src/factories/scatter-series.js +91 -0
  32. package/dist/rules/src/factories/scatter-series.js.map +1 -0
  33. package/dist/rules/src/factories/stacked-dimension.js +32 -0
  34. package/dist/rules/src/factories/stacked-dimension.js.map +1 -0
  35. package/dist/rules/src/factories/stacked-series.js +188 -0
  36. package/dist/rules/src/factories/stacked-series.js.map +1 -0
  37. package/dist/rules/src/factories/symbol-dimension.js +32 -0
  38. package/dist/rules/src/factories/symbol-dimension.js.map +1 -0
  39. package/dist/rules/src/factories/symbol-series.js +65 -0
  40. package/dist/rules/src/factories/symbol-series.js.map +1 -0
  41. package/dist/rules/src/factories/timeline-focus.js +21 -0
  42. package/dist/rules/src/factories/timeline-focus.js.map +1 -0
  43. package/dist/rules/src/factories/timeline-series.js +94 -0
  44. package/dist/rules/src/factories/timeline-series.js.map +1 -0
  45. package/dist/rules/src/get-values-enhanced.js +133 -0
  46. package/dist/rules/src/get-values-enhanced.js.map +1 -0
  47. package/dist/rules/src/header/getDefaultSubtitle.js +44 -0
  48. package/dist/rules/src/header/getDefaultSubtitle.js.map +1 -0
  49. package/dist/rules/src/header/getHeaderUnits.js +21 -0
  50. package/dist/rules/src/header/getHeaderUnits.js.map +1 -0
  51. package/dist/rules/src/header/getSubtitleFlags.js +47 -0
  52. package/dist/rules/src/header/getSubtitleFlags.js.map +1 -0
  53. package/dist/rules/src/header/getTitleFlags.js +12 -0
  54. package/dist/rules/src/header/getTitleFlags.js.map +1 -0
  55. package/dist/rules/src/index.js +379 -0
  56. package/dist/rules/src/index.js.map +1 -0
  57. package/dist/rules/src/layout.js +107 -0
  58. package/dist/rules/src/layout.js.map +1 -0
  59. package/dist/rules/src/observation-formater.js +86 -0
  60. package/dist/rules/src/observation-formater.js.map +1 -0
  61. package/dist/rules/src/preparators/formatValue.js +96 -0
  62. package/dist/rules/src/preparators/formatValue.js.map +1 -0
  63. package/dist/rules/src/preparators/getObservations.js +22 -0
  64. package/dist/rules/src/preparators/getObservations.js.map +1 -0
  65. package/dist/rules/src/preparators/getReportingYearStart.js +19 -0
  66. package/dist/rules/src/preparators/getReportingYearStart.js.map +1 -0
  67. package/dist/rules/src/properties/errors.js +22 -0
  68. package/dist/rules/src/properties/errors.js.map +1 -0
  69. package/dist/rules/src/properties/focus.js +72 -0
  70. package/dist/rules/src/properties/focus.js.map +1 -0
  71. package/dist/rules/src/properties/getAvailableChartTypes.js +31 -0
  72. package/dist/rules/src/properties/getAvailableChartTypes.js.map +1 -0
  73. package/dist/rules/src/properties/getHeaderProps.js +76 -0
  74. package/dist/rules/src/properties/getHeaderProps.js.map +1 -0
  75. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +50 -0
  76. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +1 -0
  77. package/dist/rules/src/properties/getObservationsType.js +28 -0
  78. package/dist/rules/src/properties/getObservationsType.js.map +1 -0
  79. package/dist/rules/src/properties/getStringifiedSubtitle.js +9 -0
  80. package/dist/rules/src/properties/getStringifiedSubtitle.js.map +1 -0
  81. package/dist/rules/src/properties/index.js +384 -0
  82. package/dist/rules/src/properties/index.js.map +1 -0
  83. package/dist/rules/src/properties/linear.js +123 -0
  84. package/dist/rules/src/properties/linear.js.map +1 -0
  85. package/dist/rules/src/properties/scatter.js +156 -0
  86. package/dist/rules/src/properties/scatter.js.map +1 -0
  87. package/dist/rules/src/properties/stacked.js +96 -0
  88. package/dist/rules/src/properties/stacked.js.map +1 -0
  89. package/dist/rules/src/properties/symbol.js +76 -0
  90. package/dist/rules/src/properties/symbol.js.map +1 -0
  91. package/dist/rules/src/properties/utils.js +86 -0
  92. package/dist/rules/src/properties/utils.js.map +1 -0
  93. package/dist/rules/src/sdmx-data/index.js +38 -0
  94. package/dist/rules/src/sdmx-data/index.js.map +1 -0
  95. package/dist/rules/src/table/factories/getCellValue.js +53 -0
  96. package/dist/rules/src/table/factories/getCellValue.js.map +1 -0
  97. package/dist/rules/src/v8-transformer.js +174 -0
  98. package/dist/rules/src/v8-transformer.js.map +1 -0
  99. package/dist/rules2/src/applyHierarchicalCodesToDim.js +126 -0
  100. package/dist/rules2/src/applyHierarchicalCodesToDim.js.map +1 -0
  101. package/dist/rules2/src/combinedValuesDisplay.js +77 -0
  102. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -0
  103. package/dist/rules2/src/constants.js +9 -0
  104. package/dist/rules2/src/constants.js.map +1 -0
  105. package/dist/rules2/src/duplicateObservations.js +38 -0
  106. package/dist/rules2/src/duplicateObservations.js.map +1 -0
  107. package/dist/rules2/src/enhanceObservations.js +98 -0
  108. package/dist/rules2/src/enhanceObservations.js.map +1 -0
  109. package/dist/rules2/src/getAttributesSeries.js +39 -0
  110. package/dist/rules2/src/getAttributesSeries.js.map +1 -0
  111. package/dist/rules2/src/getCombinationDefinitions.js +50 -0
  112. package/dist/rules2/src/getCombinationDefinitions.js.map +1 -0
  113. package/dist/rules2/src/getDataflowAttributes.js +25 -0
  114. package/dist/rules2/src/getDataflowAttributes.js.map +1 -0
  115. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +33 -0
  116. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -0
  117. package/dist/rules2/src/getDimensionValuesIndexes.js +16 -0
  118. package/dist/rules2/src/getDimensionValuesIndexes.js.map +1 -0
  119. package/dist/rules2/src/getHCodelistsRefsInData.js +35 -0
  120. package/dist/rules2/src/getHCodelistsRefsInData.js.map +1 -0
  121. package/dist/rules2/src/getHeaderCombinations.js +51 -0
  122. package/dist/rules2/src/getHeaderCombinations.js.map +1 -0
  123. package/dist/rules2/src/getHeaderCoordinates.js +10 -0
  124. package/dist/rules2/src/getHeaderCoordinates.js.map +1 -0
  125. package/dist/rules2/src/getHeaderSubtitle.js +37 -0
  126. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -0
  127. package/dist/rules2/src/getHeaderTitle.js +18 -0
  128. package/dist/rules2/src/getHeaderTitle.js.map +1 -0
  129. package/dist/rules2/src/getMSDInformations.js +26 -0
  130. package/dist/rules2/src/getMSDInformations.js.map +1 -0
  131. package/dist/rules2/src/getManyValuesDimensions.js +37 -0
  132. package/dist/rules2/src/getManyValuesDimensions.js.map +1 -0
  133. package/dist/rules2/src/getMetadataCoordinates.js +40 -0
  134. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -0
  135. package/dist/rules2/src/getNotDisplayedIds.js +56 -0
  136. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -0
  137. package/dist/rules2/src/getOneValueDimensions.js +37 -0
  138. package/dist/rules2/src/getOneValueDimensions.js.map +1 -0
  139. package/dist/rules2/src/getSeriesCombinations.js +27 -0
  140. package/dist/rules2/src/getSeriesCombinations.js.map +1 -0
  141. package/dist/rules2/src/hasCellMetadata.js +17 -0
  142. package/dist/rules2/src/hasCellMetadata.js.map +1 -0
  143. package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +60 -0
  144. package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js.map +1 -0
  145. package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +38 -0
  146. package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js.map +1 -0
  147. package/dist/rules2/src/index.js +47 -0
  148. package/dist/rules2/src/index.js.map +1 -0
  149. package/dist/rules2/src/parseAttributes.js +44 -0
  150. package/dist/rules2/src/parseAttributes.js.map +1 -0
  151. package/dist/rules2/src/parseCombinations.js +105 -0
  152. package/dist/rules2/src/parseCombinations.js.map +1 -0
  153. package/dist/rules2/src/parseHierarchicalCodelist.js +34 -0
  154. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -0
  155. package/dist/rules2/src/parseMetadataSeries.js +124 -0
  156. package/dist/rules2/src/parseMetadataSeries.js.map +1 -0
  157. package/dist/rules2/src/prepareData.js +78 -0
  158. package/dist/rules2/src/prepareData.js.map +1 -0
  159. package/dist/rules2/src/refineAttributes.js +19 -0
  160. package/dist/rules2/src/refineAttributes.js.map +1 -0
  161. package/dist/rules2/src/refineDimensions.js +21 -0
  162. package/dist/rules2/src/refineDimensions.js.map +1 -0
  163. package/dist/rules2/src/refineTimePeriod.js +130 -0
  164. package/dist/rules2/src/refineTimePeriod.js.map +1 -0
  165. package/dist/rules2/src/sdmx3.0DataFormatPatch.js +12 -0
  166. package/dist/rules2/src/sdmx3.0DataFormatPatch.js.map +1 -0
  167. package/dist/rules2/src/table/declineObservationsOverAttributes.js +35 -0
  168. package/dist/rules2/src/table/declineObservationsOverAttributes.js.map +1 -0
  169. package/dist/rules2/src/table/getCells.js +96 -0
  170. package/dist/rules2/src/table/getCells.js.map +1 -0
  171. package/dist/rules2/src/table/getCellsAttributesIds.js +41 -0
  172. package/dist/rules2/src/table/getCellsAttributesIds.js.map +1 -0
  173. package/dist/rules2/src/table/getCellsMetadataCoordinates.js +16 -0
  174. package/dist/rules2/src/table/getCellsMetadataCoordinates.js.map +1 -0
  175. package/dist/rules2/src/table/getCuratedCells.js +36 -0
  176. package/dist/rules2/src/table/getCuratedCells.js.map +1 -0
  177. package/dist/rules2/src/table/getFlagsAndNotes.js +26 -0
  178. package/dist/rules2/src/table/getFlagsAndNotes.js.map +1 -0
  179. package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js +19 -0
  180. package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js.map +1 -0
  181. package/dist/rules2/src/table/getLayout.js +87 -0
  182. package/dist/rules2/src/table/getLayout.js.map +1 -0
  183. package/dist/rules2/src/table/getLayoutData2.js +205 -0
  184. package/dist/rules2/src/table/getLayoutData2.js.map +1 -0
  185. package/dist/rules2/src/table/getSortedLayoutIndexes.js +141 -0
  186. package/dist/rules2/src/table/getSortedLayoutIndexes.js.map +1 -0
  187. package/dist/rules2/src/table/getTableLabelAccessor.js +11 -0
  188. package/dist/rules2/src/table/getTableLabelAccessor.js.map +1 -0
  189. package/dist/rules2/src/table/getTableLayoutIds.js +317 -0
  190. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -0
  191. package/dist/rules2/src/table/getTableProps.js +85 -0
  192. package/dist/rules2/src/table/getTableProps.js.map +1 -0
  193. package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js +82 -0
  194. package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js.map +1 -0
  195. package/dist/rules2/src/table/parseValueHierarchy.js +29 -0
  196. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -0
  197. package/dist/rules2/src/table/refineLayoutSize2.js +324 -0
  198. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -0
  199. package/dist/rules2/src/utils.js +29 -0
  200. package/dist/rules2/src/utils.js.map +1 -0
  201. package/dist/viewer/src/chart.js +50 -0
  202. package/dist/viewer/src/chart.js.map +1 -0
  203. package/dist/viewer/src/chartUtils/options.js +33 -0
  204. package/dist/viewer/src/chartUtils/options.js.map +1 -0
  205. package/dist/viewer/src/chartUtils/series.js +54 -0
  206. package/dist/viewer/src/chartUtils/series.js.map +1 -0
  207. package/dist/viewer/src/footer.js +39 -0
  208. package/dist/viewer/src/footer.js.map +1 -0
  209. package/dist/viewer/src/header.js +12 -0
  210. package/dist/viewer/src/header.js.map +1 -0
  211. package/dist/viewer/src/index.js +160 -0
  212. package/dist/viewer/src/index.js.map +1 -0
  213. package/dist/viewer/src/legends/AxisLegend.js +42 -0
  214. package/dist/viewer/src/legends/AxisLegend.js.map +1 -0
  215. package/dist/viewer/src/legends/ChartLegends.js +80 -0
  216. package/dist/viewer/src/legends/ChartLegends.js.map +1 -0
  217. package/dist/viewer/src/legends/FocusLegend.js +67 -0
  218. package/dist/viewer/src/legends/FocusLegend.js.map +1 -0
  219. package/dist/viewer/src/legends/Legend.js +51 -0
  220. package/dist/viewer/src/legends/Legend.js.map +1 -0
  221. package/dist/viewer/src/legends/SeriesLegend.js +77 -0
  222. package/dist/viewer/src/legends/SeriesLegend.js.map +1 -0
  223. package/dist/viewer/src/utils.js +24 -0
  224. package/dist/viewer/src/utils.js.map +1 -0
  225. package/package.json +1 -1
  226. package/src/app.js +13 -0
  227. package/src/bridge-d3-react/README.md +42 -0
  228. package/src/bridge-d3-react/src/app.js +64 -0
  229. package/src/bridge-d3-react/src/index.js +16 -0
  230. package/src/bridge-d3-react/src/mock-choro.js +394 -0
  231. package/src/bridge-d3-react/src/react-chart-factory.jsx +65 -0
  232. package/src/index.js +10 -0
  233. package/src/rules/README.md +23 -0
  234. package/src/rules/src/chart/getAxisOptions.js +263 -0
  235. package/src/rules/src/chart/getBaseOptions.js +84 -0
  236. package/src/rules/src/chart/getChartOptions.js +118 -0
  237. package/src/rules/src/chart/getGridOptions.js +52 -0
  238. package/src/rules/src/chart/getTooltipOptions.js +230 -0
  239. package/src/rules/src/constants.js +64 -0
  240. package/src/rules/src/date.js +118 -0
  241. package/src/rules/src/dimension-utils.js +54 -0
  242. package/src/rules/src/factories/choro-series.js +65 -0
  243. package/src/rules/src/factories/sample-focus.js +22 -0
  244. package/src/rules/src/factories/sample-series.js +50 -0
  245. package/src/rules/src/factories/scatter-dimension.js +32 -0
  246. package/src/rules/src/factories/scatter-focus.js +39 -0
  247. package/src/rules/src/factories/scatter-series.js +92 -0
  248. package/src/rules/src/factories/stacked-dimension.js +29 -0
  249. package/src/rules/src/factories/stacked-series.js +185 -0
  250. package/src/rules/src/factories/symbol-dimension.js +29 -0
  251. package/src/rules/src/factories/symbol-series.js +62 -0
  252. package/src/rules/src/factories/timeline-focus.js +18 -0
  253. package/src/rules/src/factories/timeline-series.js +91 -0
  254. package/src/rules/src/get-values-enhanced.js +134 -0
  255. package/src/rules/src/header/getDefaultSubtitle.js +40 -0
  256. package/src/rules/src/header/getHeaderUnits.js +17 -0
  257. package/src/rules/src/header/getSubtitleFlags.js +43 -0
  258. package/src/rules/src/header/getTitleFlags.js +8 -0
  259. package/src/rules/src/header/index.js +4 -0
  260. package/src/rules/src/index.js +400 -0
  261. package/src/rules/src/layout.js +113 -0
  262. package/src/rules/src/observation-formater.js +83 -0
  263. package/src/rules/src/preparators/enhanceObservations.js +152 -0
  264. package/src/rules/src/preparators/formatValue.js +93 -0
  265. package/src/rules/src/preparators/getObservations.js +19 -0
  266. package/src/rules/src/preparators/getReportingYearStart.js +16 -0
  267. package/src/rules/src/properties/errors.js +19 -0
  268. package/src/rules/src/properties/focus.js +69 -0
  269. package/src/rules/src/properties/getAvailableChartTypes.js +34 -0
  270. package/src/rules/src/properties/getHeaderProps.js +74 -0
  271. package/src/rules/src/properties/getInformationsStateFromNewProps.js +47 -0
  272. package/src/rules/src/properties/getObservationsType.js +29 -0
  273. package/src/rules/src/properties/getStringifiedSubtitle.js +6 -0
  274. package/src/rules/src/properties/index.js +424 -0
  275. package/src/rules/src/properties/information.js +84 -0
  276. package/src/rules/src/properties/linear.js +129 -0
  277. package/src/rules/src/properties/scatter.js +158 -0
  278. package/src/rules/src/properties/stacked.js +98 -0
  279. package/src/rules/src/properties/symbol.js +79 -0
  280. package/src/rules/src/properties/utils.js +110 -0
  281. package/src/rules/src/sdmx-data/index.js +39 -0
  282. package/src/rules/src/table/factories/getCellValue.js +50 -0
  283. package/src/rules/src/table/index.js +1 -0
  284. package/src/rules/src/v8-transformer.js +177 -0
  285. package/src/rules2/src/applyHierarchicalCodesToDim.js +123 -0
  286. package/src/rules2/src/combinedValuesDisplay.js +74 -0
  287. package/src/rules2/src/constants.js +6 -0
  288. package/src/rules2/src/duplicateObservations.js +35 -0
  289. package/src/rules2/src/enhanceObservations.js +95 -0
  290. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +29 -0
  291. package/src/rules2/src/getAttributesSeries.js +36 -0
  292. package/src/rules2/src/getCombinationDefinitions.js +47 -0
  293. package/src/rules2/src/getDataflowAttributes.js +23 -0
  294. package/src/rules2/src/getDataflowTooltipAttributesIds.js +31 -0
  295. package/src/rules2/src/getDimensionValuesIndexes.js +13 -0
  296. package/src/rules2/src/getHCodelistsRefsInData.js +32 -0
  297. package/src/rules2/src/getHeaderCombinations.js +48 -0
  298. package/src/rules2/src/getHeaderCoordinates.js +7 -0
  299. package/src/rules2/src/getHeaderSubtitle.js +34 -0
  300. package/src/rules2/src/getHeaderTitle.js +15 -0
  301. package/src/rules2/src/getMSDInformations.js +23 -0
  302. package/src/rules2/src/getManyValuesDimensions.js +34 -0
  303. package/src/rules2/src/getMetadataCoordinates.js +37 -0
  304. package/src/rules2/src/getMetadataStructureFromData.js +17 -0
  305. package/src/rules2/src/getNotDisplayedIds.js +53 -0
  306. package/src/rules2/src/getOneValueDimensions.js +34 -0
  307. package/src/rules2/src/getSeriesCombinations.js +24 -0
  308. package/src/rules2/src/hasCellMetadata.js +14 -0
  309. package/src/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +57 -0
  310. package/src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +35 -0
  311. package/src/rules2/src/index.js +50 -0
  312. package/src/rules2/src/parseAttributes.js +41 -0
  313. package/src/rules2/src/parseCombinations.js +102 -0
  314. package/src/rules2/src/parseHierarchicalCodelist.js +48 -0
  315. package/src/rules2/src/parseMetadataSeries.js +121 -0
  316. package/src/rules2/src/prepareData.js +75 -0
  317. package/src/rules2/src/refineAttributes.js +16 -0
  318. package/src/rules2/src/refineDimensions.js +18 -0
  319. package/src/rules2/src/refineMetadataCoordinates.js +28 -0
  320. package/src/rules2/src/refineTimePeriod.js +127 -0
  321. package/src/rules2/src/sdmx3.0DataFormatPatch.js +9 -0
  322. package/src/rules2/src/table/declineObservationsOverAttributes.js +32 -0
  323. package/src/rules2/src/table/getCells.js +93 -0
  324. package/src/rules2/src/table/getCellsAttributesIds.js +38 -0
  325. package/src/rules2/src/table/getCellsMetadataCoordinates.js +13 -0
  326. package/src/rules2/src/table/getCombinationDimensionsData.js +39 -0
  327. package/src/rules2/src/table/getCuratedCells.js +33 -0
  328. package/src/rules2/src/table/getFlagsAndNotes.js +23 -0
  329. package/src/rules2/src/table/getIndexedCombinationsByDisplay.js +16 -0
  330. package/src/rules2/src/table/getLayout.js +84 -0
  331. package/src/rules2/src/table/getLayoutData2.js +202 -0
  332. package/src/rules2/src/table/getSortedLayoutIndexes.js +138 -0
  333. package/src/rules2/src/table/getTableLabelAccessor.js +9 -0
  334. package/src/rules2/src/table/getTableLayoutIds.js +314 -0
  335. package/src/rules2/src/table/getTableProps.js +82 -0
  336. package/src/rules2/src/table/parseSeriesIndexesHierarchies.js +79 -0
  337. package/src/rules2/src/table/parseValueHierarchy.js +33 -0
  338. package/src/rules2/src/table/refineLayoutSize2.js +321 -0
  339. package/src/rules2/src/utils.js +37 -0
  340. package/src/viewer/mocks/bar.js +33 -0
  341. package/src/viewer/mocks/gpp-symbol.js +93 -0
  342. package/src/viewer/mocks/gpp-time.js +1103 -0
  343. package/src/viewer/mocks/row.js +39 -0
  344. package/src/viewer/mocks/scatter.js +93 -0
  345. package/src/viewer/mocks/stack.js +161 -0
  346. package/src/viewer/src/app/leg.js +36 -0
  347. package/src/viewer/src/app/nodata-res.js +22 -0
  348. package/src/viewer/src/app/nodata-sized.js +23 -0
  349. package/src/viewer/src/app/one-table-cell.js +70 -0
  350. package/src/viewer/src/app/table.js +423 -0
  351. package/src/viewer/src/app/use-case-1.js +33 -0
  352. package/src/viewer/src/app/use-case-2.js +38 -0
  353. package/src/viewer/src/app/use-case-3.js +18 -0
  354. package/src/viewer/src/app.js +116 -0
  355. package/src/viewer/src/chart.jsx +52 -0
  356. package/src/viewer/src/chartUtils/options.js +30 -0
  357. package/src/viewer/src/chartUtils/series.js +51 -0
  358. package/src/viewer/src/footer.jsx +23 -0
  359. package/src/viewer/src/header.jsx +10 -0
  360. package/src/viewer/src/index.jsx +158 -0
  361. package/src/viewer/src/legends/AxisLegend.jsx +41 -0
  362. package/src/viewer/src/legends/ChartLegends.jsx +66 -0
  363. package/src/viewer/src/legends/FocusLegend.jsx +63 -0
  364. package/src/viewer/src/legends/Legend.jsx +46 -0
  365. package/src/viewer/src/legends/SeriesLegend.jsx +78 -0
  366. package/src/viewer/src/utils.js +21 -0
@@ -0,0 +1,423 @@
1
+ import React, { Component } from 'react';
2
+ import { render } from 'react-dom';
3
+ import Viewer from '../';
4
+
5
+ const headerData = [
6
+ {
7
+ data: [
8
+ { dimension: { label: 'Header 1' }, value: { label: 'H1 Value 1' } },
9
+ { dimension: { label: 'Header 2' }, value: { label: 'H2 Value 1' } }
10
+ ],
11
+ key: 'c1',
12
+ flags: [{ label: 'Column Flag' }]
13
+ },
14
+ {
15
+ data: [
16
+ { dimension: { label: 'Header 1' }, value: { label: 'H1 Value 2', flags: [{ label: 'Column Value Flag' }] } },
17
+ { dimension: { label: 'Header 2' }, value: { label: 'H2 Value 2' } }
18
+ ],
19
+ key: 'c2',
20
+ flags: []
21
+ }
22
+ ];
23
+
24
+ const sectionsData = [
25
+ [
26
+ {
27
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 1' } }],
28
+ key: 's1',
29
+ flags: [{ label: 'Sectionwiuefhw iuefhwiuefhqwieurwiuergwieurg' }, { label: 'Flag' }]
30
+ },
31
+ [
32
+ {
33
+ data: [
34
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1', parents: ['a', 'b'], flags: [{ label: 'Row Value Flag' }] } },
35
+ ],
36
+ key: 'r1',
37
+ flags: []
38
+ },
39
+ {
40
+ data: [
41
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2' } },
42
+ ],
43
+ key: 'r2',
44
+ flags: []
45
+ },
46
+ ]
47
+ ],
48
+ [
49
+ {
50
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 2', flags: [{ code: 'Y', label: 'Section Value Flag' }] } }],
51
+ key: 's2',
52
+ flags: []
53
+ },
54
+ [
55
+ {
56
+ data: [
57
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1' } },
58
+ ],
59
+ key: 'r1',
60
+ flags: []
61
+ },
62
+ {
63
+ data: [
64
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2', parents: ['a'] } },
65
+ ],
66
+ key: 'r2',
67
+ flags: [{ label: 'Row' }, { label: 'Flags', code: 'R' }]
68
+ },
69
+ ]
70
+ ],
71
+ [
72
+ {
73
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 1' } }],
74
+ key: 's3',
75
+ flags: [{ label: 'Sectionwiuefhw iuefhwiuefhqwieurwiuergwieurg' }, { label: 'Flag' }]
76
+ },
77
+ [
78
+ {
79
+ data: [
80
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1', parents: ['a', 'b'], flags: [{ label: 'Row Value Flag' }] } },
81
+ ],
82
+ key: 'r1',
83
+ flags: []
84
+ },
85
+ {
86
+ data: [
87
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2' } },
88
+ ],
89
+ key: 'r2',
90
+ flags: []
91
+ },
92
+ ]
93
+ ],
94
+ [
95
+ {
96
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 2', flags: [{ code: 'Y', label: 'Section Value Flag' }] } }],
97
+ key: 's4',
98
+ flags: []
99
+ },
100
+ [
101
+ {
102
+ data: [
103
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1' } },
104
+ ],
105
+ key: 'r1',
106
+ flags: []
107
+ },
108
+ {
109
+ data: [
110
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2', parents: ['a'] } },
111
+ ],
112
+ key: 'r2',
113
+ flags: [{ label: 'Row' }, { label: 'Flags', code: 'R' }]
114
+ },
115
+ ]
116
+ ],
117
+ [
118
+ {
119
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 1' } }],
120
+ key: 's5',
121
+ flags: [{ label: 'Sectionwiuefhw iuefhwiuefhqwieurwiuergwieurg' }, { label: 'Flag' }]
122
+ },
123
+ [
124
+ {
125
+ data: [
126
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1', parents: ['a', 'b'], flags: [{ label: 'Row Value Flag' }] } },
127
+ ],
128
+ key: 'r1',
129
+ flags: []
130
+ },
131
+ {
132
+ data: [
133
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2' } },
134
+ ],
135
+ key: 'r2',
136
+ flags: []
137
+ },
138
+ ]
139
+ ],
140
+ [
141
+ {
142
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 2', flags: [{ code: 'Y', label: 'Section Value Flag' }] } }],
143
+ key: 's6',
144
+ flags: []
145
+ },
146
+ [
147
+ {
148
+ data: [
149
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1' } },
150
+ ],
151
+ key: 'r1',
152
+ flags: []
153
+ },
154
+ {
155
+ data: [
156
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2', parents: ['a'] } },
157
+ ],
158
+ key: 'r2',
159
+ flags: [{ label: 'Row' }, { label: 'Flags', code: 'R' }]
160
+ },
161
+ ]
162
+ ],
163
+ [
164
+ {
165
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 1' } }],
166
+ key: 's7',
167
+ flags: [{ label: 'Sectionwiuefhw iuefhwiuefhqwieurwiuergwieurg' }, { label: 'Flag' }]
168
+ },
169
+ [
170
+ {
171
+ data: [
172
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1', parents: ['a', 'b'], flags: [{ label: 'Row Value Flag' }] } },
173
+ ],
174
+ key: 'r1',
175
+ flags: []
176
+ },
177
+ {
178
+ data: [
179
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2' } },
180
+ ],
181
+ key: 'r2',
182
+ flags: []
183
+ },
184
+ ]
185
+ ],
186
+ [
187
+ {
188
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 2', flags: [{ code: 'Y', label: 'Section Value Flag' }] } }],
189
+ key: 's8',
190
+ flags: []
191
+ },
192
+ [
193
+ {
194
+ data: [
195
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1' } },
196
+ ],
197
+ key: 'r1',
198
+ flags: []
199
+ },
200
+ {
201
+ data: [
202
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2', parents: ['a'] } },
203
+ ],
204
+ key: 'r2',
205
+ flags: [{ label: 'Row' }, { label: 'Flags', code: 'R' }]
206
+ },
207
+ ]
208
+ ],
209
+ [
210
+ {
211
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 1' } }],
212
+ key: 's9',
213
+ flags: [{ label: 'Sectionwiuefhw iuefhwiuefhqwieurwiuergwieurg' }, { label: 'Flag' }]
214
+ },
215
+ [
216
+ {
217
+ data: [
218
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1', parents: ['a', 'b'], flags: [{ label: 'Row Value Flag' }] } },
219
+ ],
220
+ key: 'r1',
221
+ flags: []
222
+ },
223
+ {
224
+ data: [
225
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2' } },
226
+ ],
227
+ key: 'r2',
228
+ flags: []
229
+ },
230
+ ]
231
+ ],
232
+ [
233
+ {
234
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 2', flags: [{ code: 'Y', label: 'Section Value Flag' }] } }],
235
+ key: 's10',
236
+ flags: []
237
+ },
238
+ [
239
+ {
240
+ data: [
241
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1' } },
242
+ ],
243
+ key: 'r1',
244
+ flags: []
245
+ },
246
+ {
247
+ data: [
248
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2', parents: ['a'] } },
249
+ ],
250
+ key: 'r2',
251
+ flags: [{ label: 'Row' }, { label: 'Flags', code: 'R' }]
252
+ },
253
+ ]
254
+ ],
255
+ [
256
+ {
257
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 1' } }],
258
+ key: 's11',
259
+ flags: [{ label: 'Sectionwiuefhw iuefhwiuefhqwieurwiuergwieurg' }, { label: 'Flag' }]
260
+ },
261
+ [
262
+ {
263
+ data: [
264
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1', parents: ['a', 'b'], flags: [{ label: 'Row Value Flag' }] } },
265
+ ],
266
+ key: 'r1',
267
+ flags: []
268
+ },
269
+ {
270
+ data: [
271
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2' } },
272
+ ],
273
+ key: 'r2',
274
+ flags: []
275
+ },
276
+ ]
277
+ ],
278
+ [
279
+ {
280
+ data: [{ dimension: { label: 'Section' }, value: { label: 'S Value 2', flags: [{ code: 'Y', label: 'Section Value Flag' }] } }],
281
+ key: 's12',
282
+ flags: []
283
+ },
284
+ [
285
+ {
286
+ data: [
287
+ { dimension: { label: 'Row' }, value: { label: 'R Value 1' } },
288
+ ],
289
+ key: 'r1',
290
+ flags: []
291
+ },
292
+ {
293
+ data: [
294
+ { dimension: { label: 'Row' }, value: { label: 'R Value 2', parents: ['a'] } },
295
+ ],
296
+ key: 'r2',
297
+ flags: [{ label: 'Row' }, { label: 'Flags', code: 'R' }]
298
+ },
299
+ ]
300
+ ],
301
+ ];
302
+
303
+ const cells = {
304
+ c1: {
305
+ s1: {
306
+ r1: [{ value: 0, flags: [] }],
307
+ r2: [{ value: 1, flags: [] }]
308
+ },
309
+ s2: {
310
+ r1: [{ value: 2, flags: [] }],
311
+ r2: [{ value: 3, flags: [{ label: 'some flag' }, { code: 'PP', label: 'other flag' }] }]
312
+ },
313
+ s3: {
314
+ r1: [{ value: 0, flags: [] }],
315
+ r2: [{ value: 1, flags: [] }]
316
+ },
317
+ s4: {
318
+ r1: [{ value: 2, flags: [] }],
319
+ r2: [{ value: 3, flags: [{ label: 'some flag' }, { code: 'PP', label: 'other flag' }] }]
320
+ },
321
+ s5: {
322
+ r1: [{ value: 0, flags: [] }],
323
+ r2: [{ value: 1, flags: [] }]
324
+ },
325
+ s6: {
326
+ r1: [{ value: 2, flags: [] }],
327
+ r2: [{ value: 3, flags: [{ label: 'some flag' }, { code: 'PP', label: 'other flag' }] }]
328
+ },
329
+ s7: {
330
+ r1: [{ value: 0, flags: [] }],
331
+ r2: [{ value: 1, flags: [] }]
332
+ },
333
+ s8: {
334
+ r1: [{ value: 2, flags: [] }],
335
+ r2: [{ value: 3, flags: [{ label: 'some flag' }, { code: 'PP', label: 'other flag' }] }]
336
+ },
337
+ s9: {
338
+ r1: [{ value: 0, flags: [] }],
339
+ r2: [{ value: 1, flags: [] }]
340
+ },
341
+ s10: {
342
+ r1: [{ value: 2, flags: [] }],
343
+ r2: [{ value: 3, flags: [{ label: 'some flag' }, { code: 'PP', label: 'other flag' }] }]
344
+ },
345
+ s11: {
346
+ r1: [{ value: 0, flags: [] }],
347
+ r2: [{ value: 1, flags: [] }]
348
+ },
349
+ s12: {
350
+ r1: [{ value: 2, flags: [] }],
351
+ r2: [{ value: 3, flags: [{ label: 'some flag' }, { code: 'PP', label: 'other flag' }] }]
352
+ },
353
+ },
354
+ c2: {
355
+ s1: {
356
+ r1: [{ value: 4, flags: [] }],
357
+ r2: [{ value: 5, flags: [] }]
358
+ },
359
+ s2: {
360
+ r1: [{ value: 6, flags: [] }],
361
+ r2: [{ value: 7, flags: [] }]
362
+ },
363
+ s3: {
364
+ r1: [{ value: 4, flags: [] }],
365
+ r2: [{ value: 5, flags: [] }]
366
+ },
367
+ s4: {
368
+ r1: [{ value: 6, flags: [] }],
369
+ r2: [{ value: 7, flags: [] }]
370
+ },
371
+ s5: {
372
+ r1: [{ value: 4, flags: [] }],
373
+ r2: [{ value: 5, flags: [] }]
374
+ },
375
+ s6: {
376
+ r1: [{ value: 6, flags: [] }],
377
+ r2: [{ value: 7, flags: [] }]
378
+ },
379
+ s7: {
380
+ r1: [{ value: 4, flags: [] }],
381
+ r2: [{ value: 5, flags: [] }]
382
+ },
383
+ s8: {
384
+ r1: [{ value: 6, flags: [] }],
385
+ r2: [{ value: 7, flags: [] }]
386
+ },
387
+ s9: {
388
+ r1: [{ value: 4, flags: [] }],
389
+ r2: [{ value: 5, flags: [] }]
390
+ },
391
+ s10: {
392
+ r1: [{ value: 6, flags: [] }],
393
+ r2: [{ value: 7, flags: [] }]
394
+ },
395
+ s11: {
396
+ r1: [{ value: 4, flags: [] }],
397
+ r2: [{ value: 5, flags: [] }]
398
+ },
399
+ s12: {
400
+ r1: [{ value: 6, flags: [] }],
401
+ r2: [{ value: 7, flags: [] }]
402
+ },
403
+ }
404
+ };
405
+
406
+ export default ({ config, style, options, isRtl }) => {
407
+ const footerProps = config;
408
+ const headerProps = {
409
+ title: { label: 'Table Data' },
410
+ };
411
+ const tableProps = { headerData, sectionsData, cells }
412
+ return (
413
+ <div style={style}>
414
+ <Viewer
415
+ tableProps={tableProps}
416
+ headerProps={headerProps}
417
+ footerProps={footerProps}
418
+ type="table"
419
+ isRtl={isRtl}
420
+ />
421
+ </div>
422
+ );
423
+ };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import * as R from 'ramda';
3
+ import Viewer from '../';
4
+ import rowData from '../../mocks/row';
5
+ //import stackData from '../../mocks/stack';
6
+ import { series } from '../../../rules/src';
7
+ import data from '../../../rules/test/oecd-HEALTH_PROT.json';
8
+
9
+ export default ({ config, style, options }) => {
10
+ const type = 'StackedRowChart';
11
+ const stackSeries = series(data, type, null, { mode: 'percent', limit: 5 }, null, null, null);
12
+ return (
13
+ <Viewer
14
+ headerProps={{
15
+ title: { label: 'Science performance (PISA)' },
16
+ subtitle: [{ label: 'Mean score 2015, Annual incl. OECD, all countries, and to make it longer' }],
17
+ }}
18
+ footerProps={{
19
+ logo: 'https://upload.wikimedia.org/wikipedia/en/thumb/0/0d/OECD_logo_new.svg/200px-OECD_logo_new.svg.png',
20
+ copyright: { label: '© OECD', content: "Copyright: terms" },
21
+ source: {
22
+ label: "Labour force by educational attainment",
23
+ link: "data.oecd.org",
24
+ }
25
+ }}
26
+ chartData={{ series: stackSeries }}
27
+ chartOptions={{
28
+ base: { height: 700 }
29
+ }}
30
+ type={type}
31
+ />
32
+ );
33
+ };
@@ -0,0 +1,38 @@
1
+ import React, { Component } from 'react';
2
+ import { render } from 'react-dom';
3
+ import * as R from 'ramda';
4
+ import Viewer from '../';
5
+ import rowData from '../../mocks/row';
6
+ import barData from '../../mocks/bar';
7
+ import scatterData from '../../mocks/scatter';
8
+ import timeData from '../../mocks/gpp-time';
9
+
10
+ export default ({ config, style, options }) => {
11
+ const style1 = {
12
+ ...style,
13
+ display: 'flex',
14
+ flexDirection: 'row',
15
+ flexWrap: 'wrap',
16
+ justifyContent: 'space-around',
17
+ };
18
+
19
+ const style2 = {
20
+ width: 500,
21
+ height: 500,
22
+ padding: 10,
23
+ };
24
+
25
+ return (
26
+ <div style={style1}>
27
+ <div style={style2}>
28
+ <Viewer chartOptions={options} type="RowChart" {...rowData()} />
29
+ </div>
30
+ <div style={style2}>
31
+ <Viewer chartOptions={options} type="BarChart" {...barData()} />
32
+ </div>
33
+ <div style={style2}>
34
+ <Viewer chartOptions={options} type="ScatterChart" {...scatterData()} />
35
+ </div>
36
+ </div>
37
+ );
38
+ };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import * as R from 'ramda';
3
+ import Viewer from '../';
4
+ import rowData from '../../mocks/row';
5
+ import stackData from '../../mocks/stack';
6
+
7
+ export default ({ options }) => {
8
+ return (
9
+ <div style={{ display: 'flex' }}>
10
+ <div>
11
+ <Viewer {...rowData()} chartOptions={options} type="RowChart" />
12
+ </div>
13
+ <div>
14
+ <Viewer {...stackData()} chartOptions={options} type="StackedBarChart" />
15
+ </div>
16
+ </div>
17
+ );
18
+ };
@@ -0,0 +1,116 @@
1
+ import React, { useState } from 'react';
2
+ import { ThemeProvider, StyledEngineProvider } from '@mui/material/styles';
3
+ import { createTheme } from '@mui/material/styles';
4
+ import { sisccTheme } from '@sis-cc/dotstatsuite-visions';
5
+ import UseCase1 from './app/use-case-1';
6
+ import TableCase from './app/table';
7
+ import TableOneCell from './app/one-table-cell';
8
+ import UseCase2 from './app/use-case-2';
9
+ import UseCase3 from './app/use-case-3';
10
+ import ResNoDataCase from './app/nodata-res';
11
+ import SizedNoDataCase from './app/nodata-sized';
12
+ import Legacy from './app/leg';
13
+ import Viewer from '.';
14
+
15
+ const AppTab = ({ label, iconName }) => (
16
+ <Tooltip content={label} position={Position.RIGHT}>
17
+ <Icon iconName={iconName} />
18
+ </Tooltip>
19
+ );
20
+
21
+ export default () => {
22
+ const [isRtl, setRtl] = useState(false);
23
+
24
+ const theme = createTheme(sisccTheme({ rtl: isRtl ? 'rtl' : 'ltr' }));
25
+
26
+ const config = {
27
+ logo: 'https://upload.wikimedia.org/wikipedia/en/thumb/0/0d/OECD_logo_new.svg/200px-OECD_logo_new.svg.png',
28
+ owner: '©OECD',
29
+ terms: { label: 'Terms & Conditions', link: 'https://www.oecd.org/termsandconditions/' },
30
+ };
31
+
32
+ const style = {
33
+ height: 'calc(100vh - 70px)',
34
+ };
35
+
36
+ const options = {
37
+ base: { height: 500 },
38
+ axis: {
39
+ x: {
40
+ linear: {
41
+ step: 5,
42
+ max: 20,
43
+ },
44
+ },
45
+ y: {
46
+ linear: {
47
+ step: 5,
48
+ max: 20,
49
+ },
50
+ },
51
+ },
52
+ };
53
+
54
+
55
+ /*
56
+
57
+ <Tab2
58
+ id="uc3"
59
+ title={<AppTab label="fluid width" iconName="fullscreen" />}
60
+ panel={<UseCase3 isRtl={isRtl} config={config} style={style} options={options} />}
61
+ />
62
+ <Tab2
63
+ id="uc1"
64
+ title={<AppTab label="full screen resizable chart" iconName="fullscreen" />}
65
+ panel={<UseCase1 isRtl={isRtl} config={config} style={style} options={options} />}
66
+ />
67
+ <Tab2
68
+ id="table0"
69
+ title={<AppTab label="table" iconName="fullscreen" />}
70
+ panel={<TableCase isRtl={isRtl} config={config} style={style} />}
71
+ />
72
+ <Tab2
73
+ id="table1"
74
+ title={<AppTab label="table one cell" iconName="fullscreen" />}
75
+ panel={<TableOneCell isRtl={isRtl} config={config} style={style} />}
76
+ />
77
+ <Tab2
78
+ id="uc2"
79
+ title={<AppTab label="responsive fixed slot dashboard" iconName="grid-view" />}
80
+ panel={<UseCase2 isRtl={isRtl} config={config} style={style} options={options} />}
81
+ />
82
+ <Tab2
83
+ id="leg"
84
+ title={<AppTab label="legacy should still work like a charm" iconName="comparison" />}
85
+ panel={<Legacy isRtl={isRtl} config={config} />}
86
+ />
87
+ <Tab2
88
+ id="unsized-nodata"
89
+ title={<AppTab label="Unsized No Data Chart" iconName="fullscreen" />}
90
+ panel={<ResNoDataCase isRtl={isRtl} config={config} />}
91
+ />
92
+ <Tab2
93
+ id="sized-nodata"
94
+ title={<AppTab label="Sized No Data Chart" iconName="fullscreen" />}
95
+ panel={<SizedNoDataCase isRtl={isRtl} config={config} />}
96
+ />
97
+
98
+ */
99
+
100
+ return (
101
+ {/* <div style={{ padding: 10 }}>
102
+ <StyledEngineProvider injectFirst>
103
+ <ThemeProvider theme={theme}>
104
+ <button onClick={() => setRtl(!isRtl)}>{isRtl ? 'left to right' : 'right to left'}</button>
105
+ <Tabs2 renderActiveTabPanelOnly={false}>
106
+ <Tab2
107
+ id="uc1"
108
+ title={<AppTab label="full screen resizable chart" iconName="fullscreen" />}
109
+ panel={<UseCase1 isRtl={isRtl} config={config} style={style} options={options} />}
110
+ />
111
+ </Tabs2>
112
+ </ThemeProvider>
113
+ </StyledEngineProvider>
114
+ </div> */}
115
+ );
116
+ };
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import * as R from 'ramda';
3
+ import { NoData } from '@sis-cc/dotstatsuite-visions';
4
+ import * as charts from '../../bridge-d3-react/src';
5
+ import filterSeriesRegardingDimensions from './chartUtils/series';
6
+ import AxisLegend from './legends/AxisLegend.jsx';
7
+ import { isChartNoData } from './utils';
8
+
9
+ const Chart = ({ options, series, type, width, getAxisOptions }) => {
10
+ const ChartClass = charts[type];
11
+ return (
12
+ <div>
13
+ {
14
+ (R.is(Number, width) && width < 370)
15
+ ? null
16
+ : <AxisLegend axis="y" data={{ series }} type={type} />
17
+ }
18
+ <ChartClass
19
+ data={series}
20
+ options={options}
21
+ getAxisOptions={getAxisOptions}
22
+ />
23
+ </div>
24
+ );
25
+ };
26
+
27
+ const ChartWrapper = (props = {}) => {
28
+ const options = R.over(
29
+ R.lensPath(['base', 'height']),
30
+ R.when(h => h < 0, R.always(300))
31
+ )(props.options);
32
+
33
+ if (isChartNoData(props)) {
34
+ const height = R.path(['base', 'height'], options);
35
+ const style = { height };
36
+ return (
37
+ <div style={style}>
38
+ <NoData message={props.noData || 'No Data'} />
39
+ </div>
40
+ );
41
+ }
42
+
43
+ return (
44
+ <Chart
45
+ {...props}
46
+ options={options}
47
+ series={filterSeriesRegardingDimensions(props.data.series, props.type, options)} // responsive rule only display highlighted data
48
+ />
49
+ );
50
+ };
51
+
52
+ export default ChartWrapper;