@sis-cc/dotstatsuite-components 22.0.1 → 22.0.2

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 +378 -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 +398 -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,384 @@
1
+ import * as R from 'ramda';
2
+ import { getDataFrequency } from '@sis-cc/dotstatsuite-sdmxjs';
3
+ import { series } from '../index.js';
4
+ import { TIMELINE, STACKED_ROW, STACKED_BAR, V_SYMBOL, H_SYMBOL, SCATTER } from '../constants.js';
5
+ import { focusOptions, sampleFocusStateFromNewProps, onChangeFocusSelection } from './focus.js';
6
+ import { scatterStateValueToOption, scatterValueOptions, isScatter, scatterStateFromNewProps, onChangeScatterVal, onChangeScatterDim, toScatterSingularity } from './scatter.js';
7
+ import { isSymbol, symbolStateFromNewProps, onChangeSymbolDim, toSymbolSingularity } from './symbol.js';
8
+ import { stackedModeOptions, isStacked, isStackedDimActive, stackedStateFromNewProps, onChangeStackedMode, onChangeStackedDimension, toStackedSingularity } from './stacked.js';
9
+ import { initialState as initialState$1, toProperties as toProperties$1, linearStateFromNewProps } from './linear.js';
10
+ import { isChart, chartDimensionToOption, chartDimensionOptions, hasFocus, optionParser, isNaturalInt, isNumber } from './utils.js';
11
+ import { getSourceLabel } from './getHeaderProps.js';
12
+ import { stringifySubtitle } from './getStringifiedSubtitle.js';
13
+ import { getHasNoTimePeriodError } from './errors.js';
14
+
15
+ /*
16
+ - width/height -> initial undefined, if undefined or blank, replaced by options.base
17
+ */
18
+
19
+ const toSingularity = ({ data, type }, state) => {
20
+ switch(type) {
21
+ case SCATTER:
22
+ return toScatterSingularity(state);
23
+ case H_SYMBOL: case V_SYMBOL:
24
+ return toSymbolSingularity(data, state);
25
+ case STACKED_BAR: case STACKED_ROW:
26
+ return toStackedSingularity(state);
27
+ default:
28
+ return null;
29
+ }
30
+ };
31
+
32
+ const toChartData = (props, state) => {
33
+ const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], props);
34
+ const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], props);
35
+ const frequency = props.type === TIMELINE ? getDataFrequency({ dimensions, attributes }) : null;
36
+ return ({
37
+ frequency,
38
+ series: series(
39
+ props.data,
40
+ props.type,
41
+ R.pick(['highlight', 'baseline'], state),
42
+ toSingularity(props, state),
43
+ props.map,
44
+ props.display,
45
+ props.formaterIds
46
+ ),
47
+ share: {
48
+ focused: R.pick(['highlight', 'baseline'], state),
49
+ chartDimension: toSingularity(props, state),
50
+ }
51
+ });
52
+ };
53
+
54
+ const getErrors = (props, state) => ({
55
+ noTime: getHasNoTimePeriodError(props),
56
+ });
57
+
58
+ const toFloat = (value) => {
59
+ const float = parseFloat(value);
60
+ return isNaN(float) ? undefined : float;
61
+ };
62
+
63
+ const toOption = (stateValue, optionValue) => R.isNil(stateValue)
64
+ ? optionValue : toFloat(stateValue);
65
+
66
+ const getFreqStepOption = (props, state) => {
67
+ if (props.type !== TIMELINE) {
68
+ return null;
69
+ }
70
+ const inputState = toFloat(state.freqStep);
71
+ return R.isNil(inputState) ? 1 : inputState;
72
+ };
73
+
74
+ const toChartOptions = (props, state) => {
75
+ const options = R.propOr({}, 'options', props);
76
+ const base = R.propOr({}, 'base', options);
77
+ const axis = R.propOr({}, 'axis', options);
78
+ const axeX = R.propOr({}, 'x', axis);
79
+ const axeY = R.propOr({}, 'y', axis);
80
+ const linearX = R.propOr({}, 'linear', axeX);
81
+ const linearY = R.propOr({}, 'linear', axeY);
82
+ const tickX = R.propOr({}, 'tick', axeX);
83
+ const pivotX = R.propOr({}, 'pivot', linearX);
84
+ const pivotY = R.propOr({}, 'pivot', linearY);
85
+ const map = R.propOr({}, 'map', props);
86
+ return ({
87
+ ...options,
88
+ axis: {
89
+ ...axis,
90
+ x: {
91
+ ...axeX,
92
+ tick: {
93
+ ...tickX,
94
+ step: getFreqStepOption(props, state)
95
+ },
96
+ linear: {
97
+ ...linearX,
98
+ max: toOption(state.maxX, linearX.max),
99
+ min: toOption(state.minX, linearX.min),
100
+ pivot: {
101
+ value: toOption(state.pivotX, pivotX.value)
102
+ },
103
+ step: toOption(
104
+ props.type === TIMELINE ? 1 : state.stepX,
105
+ linearX.step
106
+ ),
107
+ }
108
+ },
109
+ y: {
110
+ ...axeY,
111
+ linear: {
112
+ ...linearY,
113
+ max: toOption(state.maxY, linearY.max),
114
+ min: toOption(state.minY, linearY.min),
115
+ pivot: {
116
+ value: toOption(state.pivotY, pivotY.value)
117
+ },
118
+ step: toOption(state.stepY, linearY.step),
119
+ }
120
+ }
121
+ },
122
+ map: R.pick(['projection', 'scale'], map),
123
+ base: {
124
+ ...base,
125
+ height: toOption(state.fixedHeight, base.height),
126
+ width: toOption(state.fixedWidth, base.width),
127
+ },
128
+ });
129
+ };
130
+
131
+ const initialState = {
132
+ highlight: [],
133
+ baseline: [],
134
+ fixedWidth: undefined,
135
+ fixedHeight: undefined,
136
+ freqStep: undefined,
137
+ responsiveWidth: undefined,
138
+ responsiveHeight: undefined,
139
+ scatterDimension: undefined,
140
+ scatterX: undefined,
141
+ scatterY: undefined,
142
+ symbolDimension: undefined,
143
+ stackedDimension: undefined,
144
+ stackedMode: undefined,
145
+ id: undefined,
146
+ type: undefined,
147
+ ...initialState$1,
148
+ };
149
+
150
+ const stateFromNewProps = (props, state) => {
151
+ const focusState = sampleFocusStateFromNewProps(props, state);
152
+ const scatterState = scatterStateFromNewProps(props, state);
153
+ const symbolState = symbolStateFromNewProps(props, state);
154
+ const stackedState = stackedStateFromNewProps(props, state);
155
+ const linearState = linearStateFromNewProps(props.type);
156
+ return ({
157
+ ...focusState,
158
+ ...scatterState,
159
+ ...symbolState,
160
+ ...stackedState,
161
+ ...linearState,
162
+ fixedWidth: R.prop('fixedWidth', state),
163
+ fixedHeight: R.prop('fixedHeight', state),
164
+ responsiveWidth: R.prop('responsiveWidth', state),
165
+ responsiveHeight: R.prop('responsiveHeight', state),
166
+ freqStep: props.type === TIMELINE
167
+ ? R.prop('freqStep', state) || '1' : undefined,
168
+ type: R.prop('type', props),
169
+ });
170
+ };
171
+
172
+ const propertiesParsers = {
173
+ highlight: onChangeFocusSelection,
174
+ baseline: onChangeFocusSelection,
175
+ fixedWidth: (value) => isNaturalInt(value) ? value : undefined,
176
+ fixedHeight: (value) => isNaturalInt(value) ? value : undefined,
177
+ responsiveWidth: (value) => isNumber(value) ? value : undefined,
178
+ responsiveHeight: (value) => isNumber(value) ? value : undefined,
179
+ freqStep: (value) => isNaturalInt(value) ? value : undefined,
180
+ title: R.identity,
181
+ subtitle: R.identity,
182
+ sourceLabel: R.identity,
183
+ scatterDimension: optionParser,
184
+ scatterX: optionParser,
185
+ scatterY: optionParser,
186
+ symbolDimension: optionParser,
187
+ stackedDimension: optionParser,
188
+ stackedMode: optionParser,
189
+ maxX: (value) => isNumber(value) ? value : undefined,
190
+ maxY: (value) => isNumber(value) ? value : undefined,
191
+ minX: (value) => isNumber(value) ? value : undefined,
192
+ minY: (value) => isNumber(value) ? value : undefined,
193
+ pivotX: (value) => isNumber(value) ? value : undefined,
194
+ pivotY: (value) => isNumber(value) ? value : undefined,
195
+ stepX: (value) => isNaturalInt(value) ? value : undefined,
196
+ stepY: (value) => isNaturalInt(value) ? value : undefined,
197
+ };
198
+
199
+ const onChangeProperties = (state, onChange) => (newProperties) => {
200
+ const apply = R.is(Function, onChange) ? onChange : R.identity;
201
+ const refined = R.pipe(
202
+ R.mapObjIndexed((value, key) => {
203
+ const _parser = R.prop(key, propertiesParsers);
204
+ const parser = R.is(Function, _parser) ? _parser : R.identity;
205
+ return parser(value);
206
+ }),
207
+ R.pickBy((value, key) => value !== R.prop(key, state))
208
+ )(newProperties);
209
+ if (R.isEmpty(refined)) {
210
+ return ;
211
+ }
212
+ apply(refined);
213
+ };
214
+
215
+ const toProperties = (props, state, onChange) => ({
216
+ ...toProperties$1(props, state, onChange),
217
+ highlight: {
218
+ id: 'highlight',
219
+ isActive: hasFocus(props.type),
220
+ onChange: R.pipe(
221
+ onChangeFocusSelection,
222
+ selection => {
223
+ onChange({ highlight: selection });
224
+ }
225
+ ),
226
+ options: focusOptions(
227
+ props,
228
+ state,
229
+ 'baseline',
230
+ toSingularity(props, state)
231
+ ),
232
+ value: R.prop('highlight', state),
233
+ },
234
+ baseline: {
235
+ id: 'baseline',
236
+ isActive: hasFocus(props.type),
237
+ onChange: R.pipe(
238
+ onChangeFocusSelection,
239
+ selection => onChange({ baseline: selection })
240
+ ),
241
+ options: focusOptions(
242
+ props,
243
+ state,
244
+ 'highlight',
245
+ toSingularity(props, state)
246
+ ),
247
+ value: R.prop('baseline', state),
248
+ },
249
+ width: {
250
+ id: 'width',
251
+ isActive: isChart(props.type),
252
+ onChange: (value) => onChange({
253
+ fixedWidth: isNaturalInt(value) ? value : undefined
254
+ }),
255
+ placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveWidth),
256
+ value: R.prop('fixedWidth', state),
257
+ },
258
+ height: {
259
+ id: 'height',
260
+ isActive: isChart(props.type),
261
+ onChange: (value) => onChange({
262
+ fixedHeight: isNaturalInt(value) ? value : undefined
263
+ }),
264
+ placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveHeight),
265
+ },
266
+ freqStep: {
267
+ id: 'freqStep',
268
+ isActive: props.type === TIMELINE,
269
+ onChange: (value) => onChange({
270
+ freqStep: isNaturalInt(value) ? String(value) : undefined
271
+ }),
272
+ value: R.prop('freqStep', state),
273
+ },
274
+ title: {
275
+ id: 'title',
276
+ isActive: isChart(props.type),
277
+ isDefault: R.isNil(state.title),
278
+ onChange: (value) => onChange({ title: value }),
279
+ value: R.isNil(state.title) || R.isEmpty(state.title)
280
+ ? R.pathOr('', ['title', 'label'], props) : state.title,
281
+ onReset: R.isNil(state.title)
282
+ ? null : () => onChange({ title: null })
283
+ },
284
+ subtitle: {
285
+ id: 'subtitle',
286
+ isActive: isChart(props.type),
287
+ isDefault: R.isNil(state.subtitle),
288
+ onChange: (value) => onChange({ subtitle: value }),
289
+ value: R.isNil(state.subtitle) || R.isEmpty(state.subtitle)
290
+ ? stringifySubtitle(props.subtitle || []) : state.subtitle,
291
+ onReset: R.isNil(state.subtitle)
292
+ ? null : () => onChange({ subtitle: null })
293
+ },
294
+ source: {
295
+ id: 'source',
296
+ isActive: isChart(props.type),
297
+ isDefault: R.isNil(state.sourceLabel),
298
+ onChange: (value) => onChange({ sourceLabel: value }),
299
+ value: getSourceLabel(props, state),
300
+ onReset: R.isNil(state.sourceLabel)
301
+ ? null : () => onChange({ sourceLabel: null })
302
+ },
303
+ scatterDimension: {
304
+ id: 'scatterDimension',
305
+ isActive: isScatter(props.type),
306
+ onChange: R.pipe(
307
+ optionParser,
308
+ onChangeScatterDim(props, state),
309
+ onChange
310
+ ),
311
+ options: chartDimensionOptions(props, isScatter),
312
+ value: chartDimensionToOption('scatterDimension')(props, state),
313
+ },
314
+ scatterX: {
315
+ id: 'scatterX',
316
+ isActive: isScatter(props.type),
317
+ onChange: R.pipe(
318
+ optionParser,
319
+ onChangeScatterVal(props, state, 'scatterX', 'scatterY'),
320
+ onChange
321
+ ),
322
+ options: scatterValueOptions(props, state),
323
+ value: scatterStateValueToOption('scatterX', props, state),
324
+ },
325
+ scatterY: {
326
+ id: 'scatterY',
327
+ isActive: isScatter(props.type),
328
+ onChange: R.pipe(
329
+ optionParser,
330
+ onChangeScatterVal(props, state, 'scatterY', 'scatterX'),
331
+ onChange
332
+ ),
333
+ options: scatterValueOptions(props, state),
334
+ value: scatterStateValueToOption('scatterY', props, state),
335
+ },
336
+ symbolDimension: {
337
+ id: 'symbolDimension',
338
+ isActive: isSymbol(props.type),
339
+ options: chartDimensionOptions(props, isSymbol),
340
+ onChange: R.pipe(
341
+ optionParser,
342
+ onChangeSymbolDim(props),
343
+ onChange
344
+ ),
345
+ value: chartDimensionToOption('symbolDimension')(props, state)
346
+ },
347
+ stackedDimension: {
348
+ id: 'stackedDimension',
349
+ isActive: isStackedDimActive(props),
350
+ options: chartDimensionOptions(props, isStacked),
351
+ onChange: R.pipe(
352
+ optionParser,
353
+ onChangeStackedDimension(props),
354
+ onChange,
355
+ ),
356
+ value: chartDimensionToOption('stackedDimension')(props, state)
357
+ },
358
+ stackedMode: {
359
+ id: 'stackedMode',
360
+ isActive: isStacked(props.type),
361
+ options: stackedModeOptions,
362
+ onChange: R.pipe(
363
+ optionParser,
364
+ onChangeStackedMode,
365
+ onChange
366
+ ),
367
+ value: R.prop('stackedMode', state)
368
+ },
369
+ logo: {
370
+ id: 'logo',
371
+ isActive: isChart(props.type),
372
+ checked: !state.withLogo,
373
+ onChange: () => onChange({ withLogo: !state.withLogo })
374
+ },
375
+ copyright: {
376
+ id: 'copyright',
377
+ isActive: isChart(props.type),
378
+ checked: !state.withCopyright,
379
+ onChange: () => onChange({ withCopyright: !state.withCopyright })
380
+ }
381
+ });
382
+
383
+ export { getErrors, initialState, onChangeProperties, stateFromNewProps, toChartData, toChartOptions, toProperties, toSingularity };
384
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/rules/src/properties/index.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getDataFrequency } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { series } from '../';\nimport {\n H_SYMBOL,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n TIMELINE,\n V_SYMBOL,\n} from '../constants';\nimport {\n onChangeFocusSelection,\n focusOptions,\n sampleFocusStateFromNewProps,\n} from './focus';\nimport {\n isScatter,\n onChangeScatterDim,\n onChangeScatterVal,\n scatterStateFromNewProps,\n scatterStateValueToOption,\n scatterValueOptions,\n toScatterSingularity,\n} from './scatter';\nimport {\n isSymbol,\n onChangeSymbolDim,\n symbolStateFromNewProps,\n toSymbolSingularity,\n} from './symbol';\nimport {\n isStacked,\n isStackedDimActive,\n onChangeStackedDimension,\n onChangeStackedMode,\n stackedModeOptions,\n stackedStateFromNewProps,\n toStackedSingularity\n} from './stacked';\nimport {\n linearStateFromNewProps,\n initialState as linearInitialState,\n toProperties as toLinearProperties\n} from './linear';\nimport {\n chartDimensionOptions,\n chartDimensionToOption,\n hasFocus,\n isChart,\n isNaturalInt,\n isNumber,\n optionParser,\n} from './utils';\nimport { getTitleLabel, getSubtitle, getSourceLabel } from './getHeaderProps';\nimport { stringifySubtitle } from './getStringifiedSubtitle';\nimport { getHasNoTimePeriodError } from './errors';\n/*\n - width/height -> initial undefined, if undefined or blank, replaced by options.base\n*/\n\nexport const toSingularity = ({ data, type }, state) => {\n switch(type) {\n case SCATTER:\n return toScatterSingularity(state);\n case H_SYMBOL: case V_SYMBOL:\n return toSymbolSingularity(data, state);\n case STACKED_BAR: case STACKED_ROW:\n return toStackedSingularity(state);\n default:\n return null;\n }\n};\n\nexport const toChartData = (props, state) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], props);\n const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], props);\n const frequency = props.type === TIMELINE ? getDataFrequency({ dimensions, attributes }) : null;\n return ({\n frequency,\n series: series(\n props.data,\n props.type,\n R.pick(['highlight', 'baseline'], state),\n toSingularity(props, state),\n props.map,\n props.display,\n props.formaterIds\n ),\n share: {\n focused: R.pick(['highlight', 'baseline'], state),\n chartDimension: toSingularity(props, state),\n }\n });\n};\n\nexport const getErrors = (props, state) => ({\n noTime: getHasNoTimePeriodError(props),\n});\n\nconst toFloat = (value) => {\n const float = parseFloat(value);\n return isNaN(float) ? undefined : float;\n}\n\nconst toOption = (stateValue, optionValue) => R.isNil(stateValue)\n ? optionValue : toFloat(stateValue);\n\nconst getFreqStepOption = (props, state) => {\n if (props.type !== TIMELINE) {\n return null;\n }\n const inputState = toFloat(state.freqStep);\n return R.isNil(inputState) ? 1 : inputState;\n};\n\nexport const toChartOptions = (props, state) => {\n const options = R.propOr({}, 'options', props);\n const base = R.propOr({}, 'base', options);\n const axis = R.propOr({}, 'axis', options);\n const axeX = R.propOr({}, 'x', axis);\n const axeY = R.propOr({}, 'y', axis);\n const linearX = R.propOr({}, 'linear', axeX);\n const linearY = R.propOr({}, 'linear', axeY);\n const tickX = R.propOr({}, 'tick', axeX);\n const pivotX = R.propOr({}, 'pivot', linearX);\n const pivotY = R.propOr({}, 'pivot', linearY);\n const map = R.propOr({}, 'map', props);\n return ({\n ...options,\n axis: {\n ...axis,\n x: {\n ...axeX,\n tick: {\n ...tickX,\n step: getFreqStepOption(props, state)\n },\n linear: {\n ...linearX,\n max: toOption(state.maxX, linearX.max),\n min: toOption(state.minX, linearX.min),\n pivot: {\n value: toOption(state.pivotX, pivotX.value)\n },\n step: toOption(\n props.type === TIMELINE ? 1 : state.stepX,\n linearX.step\n ),\n }\n },\n y: {\n ...axeY,\n linear: {\n ...linearY,\n max: toOption(state.maxY, linearY.max),\n min: toOption(state.minY, linearY.min),\n pivot: {\n value: toOption(state.pivotY, pivotY.value)\n },\n step: toOption(state.stepY, linearY.step),\n }\n }\n },\n map: R.pick(['projection', 'scale'], map),\n base: {\n ...base,\n height: toOption(state.fixedHeight, base.height),\n width: toOption(state.fixedWidth, base.width),\n },\n });\n};\n\nexport const initialState = {\n highlight: [],\n baseline: [],\n fixedWidth: undefined,\n fixedHeight: undefined,\n freqStep: undefined,\n responsiveWidth: undefined,\n responsiveHeight: undefined,\n scatterDimension: undefined,\n scatterX: undefined,\n scatterY: undefined,\n symbolDimension: undefined,\n stackedDimension: undefined,\n stackedMode: undefined,\n id: undefined,\n type: undefined,\n ...linearInitialState,\n};\n\nexport const stateFromNewProps = (props, state) => {\n const focusState = sampleFocusStateFromNewProps(props, state);\n const scatterState = scatterStateFromNewProps(props, state);\n const symbolState = symbolStateFromNewProps(props, state);\n const stackedState = stackedStateFromNewProps(props, state);\n const linearState = linearStateFromNewProps(props.type);\n return ({\n ...focusState,\n ...scatterState,\n ...symbolState,\n ...stackedState,\n ...linearState,\n fixedWidth: R.prop('fixedWidth', state),\n fixedHeight: R.prop('fixedHeight', state),\n responsiveWidth: R.prop('responsiveWidth', state),\n responsiveHeight: R.prop('responsiveHeight', state),\n freqStep: props.type === TIMELINE\n ? R.prop('freqStep', state) || '1' : undefined,\n type: R.prop('type', props),\n });\n};\n\nconst propertiesParsers = {\n highlight: onChangeFocusSelection,\n baseline: onChangeFocusSelection,\n fixedWidth: (value) => isNaturalInt(value) ? value : undefined,\n fixedHeight: (value) => isNaturalInt(value) ? value : undefined,\n responsiveWidth: (value) => isNumber(value) ? value : undefined,\n responsiveHeight: (value) => isNumber(value) ? value : undefined,\n freqStep: (value) => isNaturalInt(value) ? value : undefined,\n title: R.identity,\n subtitle: R.identity,\n sourceLabel: R.identity,\n scatterDimension: optionParser,\n scatterX: optionParser,\n scatterY: optionParser,\n symbolDimension: optionParser,\n stackedDimension: optionParser,\n stackedMode: optionParser,\n maxX: (value) => isNumber(value) ? value : undefined,\n maxY: (value) => isNumber(value) ? value : undefined,\n minX: (value) => isNumber(value) ? value : undefined,\n minY: (value) => isNumber(value) ? value : undefined,\n pivotX: (value) => isNumber(value) ? value : undefined,\n pivotY: (value) => isNumber(value) ? value : undefined,\n stepX: (value) => isNaturalInt(value) ? value : undefined,\n stepY: (value) => isNaturalInt(value) ? value : undefined,\n};\n\nexport const onChangeProperties = (state, onChange) => (newProperties) => {\n const apply = R.is(Function, onChange) ? onChange : R.identity;\n const refined = R.pipe(\n R.mapObjIndexed((value, key) => {\n const _parser = R.prop(key, propertiesParsers);\n const parser = R.is(Function, _parser) ? _parser : R.identity;\n return parser(value); \n }),\n R.pickBy((value, key) => value !== R.prop(key, state))\n )(newProperties);\n if (R.isEmpty(refined)) {\n return ;\n }\n apply(refined);\n};\n\nexport const toProperties = (props, state, onChange) => ({\n ...toLinearProperties(props, state, onChange),\n highlight: {\n id: 'highlight',\n isActive: hasFocus(props.type),\n onChange: R.pipe(\n onChangeFocusSelection,\n selection => {\n onChange({ highlight: selection });\n }\n ),\n options: focusOptions(\n props,\n state,\n 'baseline',\n toSingularity(props, state)\n ),\n value: R.prop('highlight', state),\n },\n baseline: {\n id: 'baseline',\n isActive: hasFocus(props.type),\n onChange: R.pipe(\n onChangeFocusSelection,\n selection => onChange({ baseline: selection })\n ),\n options: focusOptions(\n props,\n state,\n 'highlight',\n toSingularity(props, state)\n ),\n value: R.prop('baseline', state),\n },\n width: {\n id: 'width',\n isActive: isChart(props.type),\n onChange: (value) => onChange({\n fixedWidth: isNaturalInt(value) ? value : undefined\n }),\n placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveWidth),\n value: R.prop('fixedWidth', state),\n },\n height: {\n id: 'height',\n isActive: isChart(props.type),\n onChange: (value) => onChange({\n fixedHeight: isNaturalInt(value) ? value : undefined\n }),\n placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveHeight),\n },\n freqStep: {\n id: 'freqStep',\n isActive: props.type === TIMELINE,\n onChange: (value) => onChange({\n freqStep: isNaturalInt(value) ? String(value) : undefined\n }),\n value: R.prop('freqStep', state),\n },\n title: {\n id: 'title',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.title),\n onChange: (value) => onChange({ title: value }),\n value: R.isNil(state.title) || R.isEmpty(state.title)\n ? R.pathOr('', ['title', 'label'], props) : state.title,\n onReset: R.isNil(state.title)\n ? null : () => onChange({ title: null })\n },\n subtitle: {\n id: 'subtitle',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.subtitle),\n onChange: (value) => onChange({ subtitle: value }),\n value: R.isNil(state.subtitle) || R.isEmpty(state.subtitle)\n ? stringifySubtitle(props.subtitle || []) : state.subtitle,\n onReset: R.isNil(state.subtitle)\n ? null : () => onChange({ subtitle: null })\n },\n source: {\n id: 'source',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.sourceLabel),\n onChange: (value) => onChange({ sourceLabel: value }),\n value: getSourceLabel(props, state),\n onReset: R.isNil(state.sourceLabel)\n ? null : () => onChange({ sourceLabel: null })\n },\n scatterDimension: {\n id: 'scatterDimension',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterDim(props, state),\n onChange\n ),\n options: chartDimensionOptions(props, isScatter),\n value: chartDimensionToOption('scatterDimension')(props, state),\n },\n scatterX: {\n id: 'scatterX',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterVal(props, state, 'scatterX', 'scatterY'),\n onChange\n ),\n options: scatterValueOptions(props, state),\n value: scatterStateValueToOption('scatterX', props, state),\n },\n scatterY: {\n id: 'scatterY',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterVal(props, state, 'scatterY', 'scatterX'),\n onChange\n ),\n options: scatterValueOptions(props, state),\n value: scatterStateValueToOption('scatterY', props, state),\n },\n symbolDimension: {\n id: 'symbolDimension',\n isActive: isSymbol(props.type),\n options: chartDimensionOptions(props, isSymbol),\n onChange: R.pipe(\n optionParser,\n onChangeSymbolDim(props),\n onChange\n ),\n value: chartDimensionToOption('symbolDimension')(props, state)\n },\n stackedDimension: {\n id: 'stackedDimension',\n isActive: isStackedDimActive(props),\n options: chartDimensionOptions(props, isStacked),\n onChange: R.pipe(\n optionParser,\n onChangeStackedDimension(props, state),\n onChange,\n ),\n value: chartDimensionToOption('stackedDimension')(props, state)\n },\n stackedMode: {\n id: 'stackedMode',\n isActive: isStacked(props.type),\n options: stackedModeOptions,\n onChange: R.pipe(\n optionParser,\n onChangeStackedMode,\n onChange\n ),\n value: R.prop('stackedMode', state)\n },\n logo: {\n id: 'logo',\n isActive: isChart(props.type),\n checked: !state.withLogo,\n onChange: () => onChange({ withLogo: !state.withLogo })\n },\n copyright: {\n id: 'copyright',\n isActive: isChart(props.type),\n checked: !state.withCopyright,\n onChange: () => onChange({ withCopyright: !state.withCopyright })\n }\n});\n"],"names":["linearInitialState","toLinearProperties"],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import * as R from 'ramda';
2
+ import { BAR, STACKED_BAR, ROW, STACKED_ROW, SCATTER, TIMELINE, V_SYMBOL, H_SYMBOL } from '../constants.js';
3
+ import { isPositiveNumber, isNumber } from './utils.js';
4
+ import { isStacked } from './stacked.js';
5
+
6
+ const hasXLinear = (type) => R.includes(type, [H_SYMBOL, ROW, SCATTER, STACKED_ROW]);
7
+
8
+ const hasYLinear = (type) => R.includes(type, [BAR, SCATTER, STACKED_BAR, TIMELINE, V_SYMBOL]);
9
+
10
+ const hasXPivot = (type) => R.equals(ROW, type);
11
+ const hasYPivot = (type) => R.equals(BAR, type);
12
+
13
+ const xInitialState = {
14
+ computedMaxX: undefined,
15
+ computedMinX: undefined,
16
+ computedStepX: undefined,
17
+ computedPivotX: undefined,
18
+ maxX: undefined,
19
+ minX: undefined,
20
+ pivotX: undefined,
21
+ stepX: undefined,
22
+ };
23
+
24
+ const yInitialState = {
25
+ computedMaxY: undefined,
26
+ computedMinY: undefined,
27
+ computedStepY: undefined,
28
+ computedPivotY: undefined,
29
+ maxY: undefined,
30
+ minY: undefined,
31
+ pivotY: undefined,
32
+ stepY: undefined,
33
+ };
34
+
35
+ const initialState = { ...xInitialState, ...yInitialState };
36
+
37
+ const linearStateFromNewProps = (type) => {
38
+ const xLinearState = hasXLinear(type) ? {} : xInitialState;
39
+ const YLinearState = hasYLinear(type) ? {} : yInitialState;
40
+ return ({
41
+ ...xLinearState,
42
+ ...R.when(
43
+ R.always(isStacked(type)),
44
+ R.assoc('pivotY', 0)
45
+ )(YLinearState),
46
+ });
47
+ };
48
+
49
+ const toProperties = (props, state, onChange) => ({
50
+ maxX: {
51
+ id: 'maxX',
52
+ isActive: hasXLinear(props.type),
53
+ onChange: (value) => onChange({
54
+ maxX: isNumber(value) ? value : undefined
55
+ }),
56
+ value: R.isNil(state.maxX) ? String(state.computedMaxX) : state.maxX
57
+ },
58
+ maxY: {
59
+ id: 'maxY',
60
+ isActive: hasYLinear(props.type),
61
+ onChange: (value) => onChange({
62
+ maxY: isNumber(value) ? value : undefined
63
+ }),
64
+ value: R.isNil(state.maxY) ? String(state.computedMaxY) : state.maxY
65
+ },
66
+ minX: {
67
+ id: 'minX',
68
+ isActive: hasXLinear(props.type),
69
+ onChange: (value) => onChange({
70
+ minX: isNumber(value) ? value : undefined
71
+ }),
72
+ value: R.isNil(state.minX) ? String(state.computedMinX) : state.minX
73
+ },
74
+ minY: {
75
+ id: 'minY',
76
+ isActive: hasYLinear(props.type),
77
+ onChange: (value) => onChange({
78
+ minY: isNumber(value) ? value : undefined
79
+ }),
80
+ value: R.isNil(state.minY) ? String(state.computedMinY) : state.minY
81
+ },
82
+ pivotX: {
83
+ id: 'pivotX',
84
+ isActive: hasXPivot(props.type),
85
+ onChange: (value) => onChange({
86
+ pivotX: isNumber(value) ? value : undefined
87
+ }),
88
+ value: R.when(
89
+ v => R.isNil(v) && (R.propEq('type', ROW)(props) || R.propEq('type', STACKED_ROW)(props)),
90
+ R.always(0)
91
+ )(R.isNil(state.pivotX) ? String(state.computedPivotX) : state.pivotX)
92
+ },
93
+ pivotY: {
94
+ id: 'pivotY',
95
+ isActive: hasYPivot(props.type),
96
+ onChange: (value) => onChange({
97
+ pivotY: isNumber(value) ? value : undefined
98
+ }),
99
+ value: R.when(
100
+ v => R.isNil(v) && (R.propEq('type', BAR)(props) || R.propEq('type', STACKED_BAR)(props)),
101
+ R.always(0)
102
+ )(R.isNil(state.pivotY) ? String(state.computedPivotY) : state.pivotY)
103
+ },
104
+ stepX: {
105
+ id: 'stepX',
106
+ isActive: hasXLinear(props.type),
107
+ onChange: (value) => onChange({
108
+ stepX: isPositiveNumber(value) ? value : undefined
109
+ }),
110
+ value: R.isNil(state.stepX) ? String(state.computedStepX) : state.stepX
111
+ },
112
+ stepY: {
113
+ id: 'stepY',
114
+ isActive: hasYLinear(props.type),
115
+ onChange: (value) => onChange({
116
+ stepY: isPositiveNumber(value) ? value : undefined
117
+ }),
118
+ value: R.isNil(state.stepY) ? String(state.computedStepY) : state.stepY
119
+ },
120
+ });
121
+
122
+ export { initialState, linearStateFromNewProps, toProperties };
123
+ //# sourceMappingURL=linear.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.js","sources":["../../../../src/rules/src/properties/linear.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n BAR,\n H_SYMBOL,\n ROW,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n TIMELINE,\n V_SYMBOL,\n} from '../constants';\nimport { isNumber, isPositiveNumber } from './utils';\nimport { isStacked } from './stacked';\n\nconst hasXLinear = (type) => R.includes(type, [H_SYMBOL, ROW, SCATTER, STACKED_ROW]);\n\nconst hasYLinear = (type) => R.includes(type, [BAR, SCATTER, STACKED_BAR, TIMELINE, V_SYMBOL]);\n\nconst hasXPivot = (type) => R.equals(ROW, type);\nconst hasYPivot = (type) => R.equals(BAR, type);\n\nconst xInitialState = {\n computedMaxX: undefined,\n computedMinX: undefined,\n computedStepX: undefined,\n computedPivotX: undefined,\n maxX: undefined,\n minX: undefined,\n pivotX: undefined,\n stepX: undefined,\n};\n\nconst yInitialState = {\n computedMaxY: undefined,\n computedMinY: undefined,\n computedStepY: undefined,\n computedPivotY: undefined,\n maxY: undefined,\n minY: undefined,\n pivotY: undefined,\n stepY: undefined,\n};\n\nexport const initialState = { ...xInitialState, ...yInitialState };\n\nexport const linearStateFromNewProps = (type) => {\n const xLinearState = hasXLinear(type) ? {} : xInitialState;\n const YLinearState = hasYLinear(type) ? {} : yInitialState;\n return ({\n ...xLinearState,\n ...R.when(\n R.always(isStacked(type)),\n R.assoc('pivotY', 0)\n )(YLinearState),\n });\n};\n\nexport const toProperties = (props, state, onChange) => ({\n maxX: {\n id: 'maxX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n maxX: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.maxX) ? String(state.computedMaxX) : state.maxX\n },\n maxY: {\n id: 'maxY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n maxY: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.maxY) ? String(state.computedMaxY) : state.maxY\n },\n minX: {\n id: 'minX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n minX: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.minX) ? String(state.computedMinX) : state.minX\n },\n minY: {\n id: 'minY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n minY: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.minY) ? String(state.computedMinY) : state.minY\n },\n pivotX: {\n id: 'pivotX',\n isActive: hasXPivot(props.type),\n onChange: (value) => onChange({\n pivotX: isNumber(value) ? value : undefined\n }),\n value: R.when(\n v => R.isNil(v) && (R.propEq('type', ROW)(props) || R.propEq('type', STACKED_ROW)(props)),\n R.always(0)\n )(R.isNil(state.pivotX) ? String(state.computedPivotX) : state.pivotX)\n },\n pivotY: {\n id: 'pivotY',\n isActive: hasYPivot(props.type),\n onChange: (value) => onChange({\n pivotY: isNumber(value) ? value : undefined\n }),\n value: R.when(\n v => R.isNil(v) && (R.propEq('type', BAR)(props) || R.propEq('type', STACKED_BAR)(props)),\n R.always(0)\n )(R.isNil(state.pivotY) ? String(state.computedPivotY) : state.pivotY)\n },\n stepX: {\n id: 'stepX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n stepX: isPositiveNumber(value) ? value : undefined\n }),\n value: R.isNil(state.stepX) ? String(state.computedStepX) : state.stepX\n },\n stepY: {\n id: 'stepY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n stepY: isPositiveNumber(value) ? value : undefined\n }),\n value: R.isNil(state.stepY) ? String(state.computedStepY) : state.stepY\n },\n});\n"],"names":[],"mappings":"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"}