@sis-cc/dotstatsuite-components 22.5.0 → 23.0.0

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 (477) hide show
  1. package/dist/_virtual/index.js +4 -5
  2. package/dist/_virtual/index.js.map +1 -1
  3. package/dist/_virtual/index2.js +4 -5
  4. package/dist/_virtual/index2.js.map +1 -1
  5. package/dist/_virtual/index3.js +4 -4
  6. package/dist/_virtual/index4.js +2 -6
  7. package/dist/_virtual/index4.js.map +1 -1
  8. package/dist/_virtual/index5.js +3 -5
  9. package/dist/_virtual/index5.js.map +1 -1
  10. package/dist/_virtual/index6.js +2 -6
  11. package/dist/_virtual/index6.js.map +1 -1
  12. package/dist/_virtual/index7.js +2 -6
  13. package/dist/_virtual/index7.js.map +1 -1
  14. package/dist/bridge-d3-react/src/index.js +1 -2
  15. package/dist/bridge-d3-react/src/index.js.map +1 -1
  16. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +1 -1
  17. package/dist/node_modules/@mui/system/colorManipulator.js +2 -2
  18. package/dist/node_modules/@mui/system/esm/responsivePropType.js +1 -1
  19. package/dist/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +1 -1
  20. package/dist/node_modules/@mui/utils/node_modules/react-is/index.js +1 -1
  21. package/dist/node_modules/date-fns/esm/_lib/defaultOptions/index.js +7 -0
  22. package/dist/node_modules/date-fns/esm/_lib/defaultOptions/index.js.map +1 -0
  23. package/dist/node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js +12 -0
  24. package/dist/node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js.map +1 -0
  25. package/dist/node_modules/date-fns/esm/_lib/requiredArgs/index.js +8 -0
  26. package/dist/node_modules/date-fns/esm/_lib/requiredArgs/index.js.map +1 -0
  27. package/dist/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js +25 -0
  28. package/dist/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js.map +1 -0
  29. package/dist/node_modules/date-fns/esm/_lib/toInteger/index.js +13 -0
  30. package/dist/node_modules/date-fns/esm/_lib/toInteger/index.js.map +1 -0
  31. package/dist/node_modules/date-fns/esm/getISOWeek/index.js +39 -0
  32. package/dist/node_modules/date-fns/esm/getISOWeek/index.js.map +1 -0
  33. package/dist/node_modules/date-fns/esm/getISOWeekYear/index.js +47 -0
  34. package/dist/node_modules/date-fns/esm/getISOWeekYear/index.js.map +1 -0
  35. package/dist/node_modules/date-fns/esm/getTime/index.js +29 -0
  36. package/dist/node_modules/date-fns/esm/getTime/index.js.map +1 -0
  37. package/dist/node_modules/date-fns/esm/isFriday/index.js +27 -0
  38. package/dist/node_modules/date-fns/esm/isFriday/index.js.map +1 -0
  39. package/dist/node_modules/date-fns/esm/isMonday/index.js +27 -0
  40. package/dist/node_modules/date-fns/esm/isMonday/index.js.map +1 -0
  41. package/dist/node_modules/date-fns/esm/isSaturday/index.js +27 -0
  42. package/dist/node_modules/date-fns/esm/isSaturday/index.js.map +1 -0
  43. package/dist/node_modules/date-fns/esm/isSunday/index.js +27 -0
  44. package/dist/node_modules/date-fns/esm/isSunday/index.js.map +1 -0
  45. package/dist/node_modules/date-fns/esm/isThursday/index.js +27 -0
  46. package/dist/node_modules/date-fns/esm/isThursday/index.js.map +1 -0
  47. package/dist/node_modules/date-fns/esm/isTuesday/index.js +27 -0
  48. package/dist/node_modules/date-fns/esm/isTuesday/index.js.map +1 -0
  49. package/dist/node_modules/date-fns/esm/isWednesday/index.js +27 -0
  50. package/dist/node_modules/date-fns/esm/isWednesday/index.js.map +1 -0
  51. package/dist/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js +12 -0
  52. package/dist/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js.map +1 -0
  53. package/dist/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js +21 -0
  54. package/dist/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js.map +1 -0
  55. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js +45 -0
  56. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js.map +1 -0
  57. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js +20 -0
  58. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js.map +1 -0
  59. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatDistance/index.js +119 -0
  60. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatDistance/index.js.map +1 -0
  61. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js +37 -0
  62. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js.map +1 -0
  63. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatRelative/index.js +14 -0
  64. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatRelative/index.js.map +1 -0
  65. package/dist/node_modules/date-fns/esm/locale/ar/_lib/localize/index.js +121 -0
  66. package/dist/node_modules/date-fns/esm/locale/ar/_lib/localize/index.js.map +1 -0
  67. package/dist/node_modules/date-fns/esm/locale/ar/_lib/match/index.js +102 -0
  68. package/dist/node_modules/date-fns/esm/locale/ar/_lib/match/index.js.map +1 -0
  69. package/dist/node_modules/date-fns/esm/locale/ar/index.js +30 -0
  70. package/dist/node_modules/date-fns/esm/locale/ar/index.js.map +1 -0
  71. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js +178 -0
  72. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js.map +1 -0
  73. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js +42 -0
  74. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js.map +1 -0
  75. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js +14 -0
  76. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js.map +1 -0
  77. package/dist/node_modules/date-fns/esm/locale/de/_lib/localize/index.js +137 -0
  78. package/dist/node_modules/date-fns/esm/locale/de/_lib/localize/index.js.map +1 -0
  79. package/dist/node_modules/date-fns/esm/locale/de/_lib/match/index.js +103 -0
  80. package/dist/node_modules/date-fns/esm/locale/de/_lib/match/index.js.map +1 -0
  81. package/dist/node_modules/date-fns/esm/locale/de/index.js +33 -0
  82. package/dist/node_modules/date-fns/esm/locale/de/index.js.map +1 -0
  83. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js +85 -0
  84. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js.map +1 -0
  85. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js +37 -0
  86. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js.map +1 -0
  87. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js +14 -0
  88. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js.map +1 -0
  89. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js +146 -0
  90. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js.map +1 -0
  91. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js +101 -0
  92. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js.map +1 -0
  93. package/dist/node_modules/date-fns/esm/locale/en-US/index.js +30 -0
  94. package/dist/node_modules/date-fns/esm/locale/en-US/index.js.map +1 -0
  95. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js +85 -0
  96. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js.map +1 -0
  97. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js +37 -0
  98. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js.map +1 -0
  99. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js +26 -0
  100. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js.map +1 -0
  101. package/dist/node_modules/date-fns/esm/locale/es/_lib/localize/index.js +122 -0
  102. package/dist/node_modules/date-fns/esm/locale/es/_lib/localize/index.js.map +1 -0
  103. package/dist/node_modules/date-fns/esm/locale/es/_lib/match/index.js +102 -0
  104. package/dist/node_modules/date-fns/esm/locale/es/_lib/match/index.js.map +1 -0
  105. package/dist/node_modules/date-fns/esm/locale/es/index.js +33 -0
  106. package/dist/node_modules/date-fns/esm/locale/es/index.js.map +1 -0
  107. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js +85 -0
  108. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js.map +1 -0
  109. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js +37 -0
  110. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js.map +1 -0
  111. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js +14 -0
  112. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js.map +1 -0
  113. package/dist/node_modules/date-fns/esm/locale/fr/_lib/localize/index.js +97 -0
  114. package/dist/node_modules/date-fns/esm/locale/fr/_lib/localize/index.js.map +1 -0
  115. package/dist/node_modules/date-fns/esm/locale/fr/_lib/match/index.js +101 -0
  116. package/dist/node_modules/date-fns/esm/locale/fr/_lib/match/index.js.map +1 -0
  117. package/dist/node_modules/date-fns/esm/locale/fr/index.js +30 -0
  118. package/dist/node_modules/date-fns/esm/locale/fr/index.js.map +1 -0
  119. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js +85 -0
  120. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js.map +1 -0
  121. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js +37 -0
  122. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js.map +1 -0
  123. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js +54 -0
  124. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js.map +1 -0
  125. package/dist/node_modules/date-fns/esm/locale/it/_lib/localize/index.js +122 -0
  126. package/dist/node_modules/date-fns/esm/locale/it/_lib/localize/index.js.map +1 -0
  127. package/dist/node_modules/date-fns/esm/locale/it/_lib/match/index.js +101 -0
  128. package/dist/node_modules/date-fns/esm/locale/it/_lib/match/index.js.map +1 -0
  129. package/dist/node_modules/date-fns/esm/locale/it/index.js +31 -0
  130. package/dist/node_modules/date-fns/esm/locale/it/index.js.map +1 -0
  131. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js +85 -0
  132. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js.map +1 -0
  133. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js +37 -0
  134. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js.map +1 -0
  135. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js +14 -0
  136. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js.map +1 -0
  137. package/dist/node_modules/date-fns/esm/locale/nl/_lib/localize/index.js +88 -0
  138. package/dist/node_modules/date-fns/esm/locale/nl/_lib/localize/index.js.map +1 -0
  139. package/dist/node_modules/date-fns/esm/locale/nl/_lib/match/index.js +100 -0
  140. package/dist/node_modules/date-fns/esm/locale/nl/_lib/match/index.js.map +1 -0
  141. package/dist/node_modules/date-fns/esm/locale/nl/index.js +34 -0
  142. package/dist/node_modules/date-fns/esm/locale/nl/index.js.map +1 -0
  143. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js +89 -0
  144. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js.map +1 -0
  145. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js +37 -0
  146. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js.map +1 -0
  147. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js +14 -0
  148. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js.map +1 -0
  149. package/dist/node_modules/date-fns/esm/locale/th/_lib/localize/index.js +121 -0
  150. package/dist/node_modules/date-fns/esm/locale/th/_lib/localize/index.js.map +1 -0
  151. package/dist/node_modules/date-fns/esm/locale/th/_lib/match/index.js +100 -0
  152. package/dist/node_modules/date-fns/esm/locale/th/_lib/match/index.js.map +1 -0
  153. package/dist/node_modules/date-fns/esm/locale/th/index.js +31 -0
  154. package/dist/node_modules/date-fns/esm/locale/th/index.js.map +1 -0
  155. package/dist/node_modules/date-fns/esm/startOfISOWeek/index.js +32 -0
  156. package/dist/node_modules/date-fns/esm/startOfISOWeek/index.js.map +1 -0
  157. package/dist/node_modules/date-fns/esm/startOfISOWeekYear/index.js +37 -0
  158. package/dist/node_modules/date-fns/esm/startOfISOWeekYear/index.js.map +1 -0
  159. package/dist/node_modules/date-fns/esm/startOfWeek/index.js +52 -0
  160. package/dist/node_modules/date-fns/esm/startOfWeek/index.js.map +1 -0
  161. package/dist/node_modules/date-fns/esm/toDate/index.js +56 -0
  162. package/dist/node_modules/date-fns/esm/toDate/index.js.map +1 -0
  163. package/dist/node_modules/prop-types/index.js +1 -1
  164. package/dist/node_modules/react-is/index.js +1 -1
  165. package/dist/rules/src/chart/getAxisOptions.js +22 -22
  166. package/dist/rules/src/chart/getAxisOptions.js.map +1 -1
  167. package/dist/rules/src/chart/getChartOptions.js +1 -1
  168. package/dist/rules/src/chart/getChartOptions.js.map +1 -1
  169. package/dist/rules/src/constants.js +1 -35
  170. package/dist/rules/src/constants.js.map +1 -1
  171. package/dist/rules/src/date.js +40 -40
  172. package/dist/rules/src/date.js.map +1 -1
  173. package/dist/rules/src/dimension-utils.js +26 -24
  174. package/dist/rules/src/dimension-utils.js.map +1 -1
  175. package/dist/rules/src/factories/choro-series.js +43 -32
  176. package/dist/rules/src/factories/choro-series.js.map +1 -1
  177. package/dist/rules/src/factories/focus.js +20 -0
  178. package/dist/rules/src/factories/focus.js.map +1 -0
  179. package/dist/rules/src/factories/getChartSeries.js +11 -0
  180. package/dist/rules/src/factories/getChartSeries.js.map +1 -0
  181. package/dist/rules/src/factories/sample-focus.js +14 -18
  182. package/dist/rules/src/factories/sample-focus.js.map +1 -1
  183. package/dist/rules/src/factories/sample-series.js +20 -20
  184. package/dist/rules/src/factories/sample-series.js.map +1 -1
  185. package/dist/rules/src/factories/scatter-focus.js +21 -35
  186. package/dist/rules/src/factories/scatter-focus.js.map +1 -1
  187. package/dist/rules/src/factories/scatter-series.js +5 -5
  188. package/dist/rules/src/factories/scatter-series.js.map +1 -1
  189. package/dist/rules/src/factories/series.js +48 -0
  190. package/dist/rules/src/factories/series.js.map +1 -0
  191. package/dist/rules/src/factories/stacked-series.js +6 -7
  192. package/dist/rules/src/factories/stacked-series.js.map +1 -1
  193. package/dist/rules/src/factories/symbol-series.js +39 -46
  194. package/dist/rules/src/factories/symbol-series.js.map +1 -1
  195. package/dist/rules/src/factories/timeline-focus.js +10 -14
  196. package/dist/rules/src/factories/timeline-focus.js.map +1 -1
  197. package/dist/rules/src/factories/timeline-series.js +37 -41
  198. package/dist/rules/src/factories/timeline-series.js.map +1 -1
  199. package/dist/rules/src/get-values-enhanced.js +8 -2
  200. package/dist/rules/src/get-values-enhanced.js.map +1 -1
  201. package/dist/rules/src/index.js +6 -371
  202. package/dist/rules/src/index.js.map +1 -1
  203. package/dist/rules/src/layout.js +4 -2
  204. package/dist/rules/src/layout.js.map +1 -1
  205. package/dist/rules/src/observation-formater.js +8 -14
  206. package/dist/rules/src/observation-formater.js.map +1 -1
  207. package/dist/rules/src/properties/focus.js +51 -3
  208. package/dist/rules/src/properties/focus.js.map +1 -1
  209. package/dist/rules/src/properties/getHeaderProps.js +2 -53
  210. package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
  211. package/dist/rules/src/properties/index.js +3 -94
  212. package/dist/rules/src/properties/index.js.map +1 -1
  213. package/dist/rules/src/properties/linear.js +4 -4
  214. package/dist/rules/src/properties/linear.js.map +1 -1
  215. package/dist/rules/src/properties/scatter.js +4 -4
  216. package/dist/rules/src/properties/scatter.js.map +1 -1
  217. package/dist/rules/src/properties/stacked.js +5 -7
  218. package/dist/rules/src/properties/stacked.js.map +1 -1
  219. package/dist/rules/src/properties/symbol.js.map +1 -1
  220. package/dist/rules/src/properties/utils.js +11 -12
  221. package/dist/rules/src/properties/utils.js.map +1 -1
  222. package/dist/rules/src/sdmx-data/index.js +2 -27
  223. package/dist/rules/src/sdmx-data/index.js.map +1 -1
  224. package/dist/rules2/src/combinedValuesDisplay.js +2 -2
  225. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
  226. package/dist/rules2/src/getAttributes.js +37 -0
  227. package/dist/rules2/src/getAttributes.js.map +1 -0
  228. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  229. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
  230. package/dist/rules2/src/getHeaderCombinations.js +1 -1
  231. package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
  232. package/dist/rules2/src/getHeaderSubtitle.js +1 -1
  233. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
  234. package/dist/rules2/src/getHeaderTitle.js +1 -1
  235. package/dist/rules2/src/getHeaderTitle.js.map +1 -1
  236. package/dist/rules2/src/getMetadataCoordinates.js +1 -1
  237. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
  238. package/dist/rules2/src/getNotDisplayedIds.js +1 -1
  239. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
  240. package/dist/rules2/src/index.js +1 -0
  241. package/dist/rules2/src/index.js.map +1 -1
  242. package/dist/rules2/src/parseAttributes.js +2 -2
  243. package/dist/rules2/src/parseAttributes.js.map +1 -1
  244. package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
  245. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
  246. package/dist/rules2/src/parseMetadataSeries.js +1 -1
  247. package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
  248. package/dist/rules2/src/prepareData.js +10 -3
  249. package/dist/rules2/src/prepareData.js.map +1 -1
  250. package/dist/rules2/src/refineDimensions.js +53 -8
  251. package/dist/rules2/src/refineDimensions.js.map +1 -1
  252. package/dist/rules2/src/refineTimePeriod.js +12 -16
  253. package/dist/rules2/src/refineTimePeriod.js.map +1 -1
  254. package/dist/rules2/src/table/getCells.js +1 -1
  255. package/dist/rules2/src/table/getCells.js.map +1 -1
  256. package/dist/rules2/src/table/getLayout.js +1 -1
  257. package/dist/rules2/src/table/getLayout.js.map +1 -1
  258. package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
  259. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
  260. package/dist/rules2/src/table/getTableProps.js +0 -1
  261. package/dist/rules2/src/table/getTableProps.js.map +1 -1
  262. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
  263. package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
  264. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
  265. package/dist/rules2/src/utils.js.map +1 -1
  266. package/dist/viewer/src/chart.js +13 -2
  267. package/dist/viewer/src/chart.js.map +1 -1
  268. package/dist/viewer/src/legends/FocusLegend.js +1 -1
  269. package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
  270. package/package.json +7 -6
  271. package/src/bridge-d3-react/src/index.js +0 -1
  272. package/src/rules/src/chart/getAxisOptions.js +33 -21
  273. package/src/rules/src/chart/getChartOptions.js +2 -2
  274. package/src/rules/src/constants.js +0 -35
  275. package/src/rules/src/date.js +6 -12
  276. package/src/rules/src/dimension-utils.js +25 -23
  277. package/src/rules/src/factories/choro-series.js +41 -30
  278. package/src/rules/src/factories/focus.js +17 -0
  279. package/src/rules/src/factories/getChartSeries.js +8 -0
  280. package/src/rules/src/factories/sample-focus.js +14 -18
  281. package/src/rules/src/factories/sample-series.js +20 -20
  282. package/src/rules/src/factories/scatter-focus.js +22 -36
  283. package/src/rules/src/factories/scatter-series.js +8 -8
  284. package/src/rules/src/factories/series.js +45 -0
  285. package/src/rules/src/factories/stacked-series.js +4 -5
  286. package/src/rules/src/factories/symbol-series.js +37 -44
  287. package/src/rules/src/factories/timeline-focus.js +10 -14
  288. package/src/rules/src/factories/timeline-series.js +35 -39
  289. package/src/rules/src/get-values-enhanced.js +8 -2
  290. package/src/rules/src/index.js +7 -384
  291. package/src/rules/src/layout.js +4 -2
  292. package/src/rules/src/observation-formater.js +14 -20
  293. package/src/rules/src/properties/focus.js +50 -2
  294. package/src/rules/src/properties/getHeaderProps.js +1 -53
  295. package/src/rules/src/properties/index.js +2 -93
  296. package/src/rules/src/properties/linear.js +2 -2
  297. package/src/rules/src/properties/scatter.js +4 -4
  298. package/src/rules/src/properties/stacked.js +4 -6
  299. package/src/rules/src/properties/symbol.js +0 -1
  300. package/src/rules/src/properties/utils.js +11 -22
  301. package/src/rules/src/sdmx-data/index.js +2 -31
  302. package/src/rules2/src/combinedValuesDisplay.js +2 -2
  303. package/src/rules2/src/getAttributes.js +34 -0
  304. package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  305. package/src/rules2/src/getHeaderCombinations.js +1 -1
  306. package/src/rules2/src/getHeaderSubtitle.js +2 -2
  307. package/src/rules2/src/getHeaderTitle.js +1 -1
  308. package/src/rules2/src/getMetadataCoordinates.js +1 -1
  309. package/src/rules2/src/getNotDisplayedIds.js +1 -1
  310. package/src/rules2/src/index.js +1 -0
  311. package/src/rules2/src/parseAttributes.js +2 -2
  312. package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
  313. package/src/rules2/src/parseMetadataSeries.js +1 -1
  314. package/src/rules2/src/prepareData.js +10 -3
  315. package/src/rules2/src/refineDimensions.js +53 -8
  316. package/src/rules2/src/refineTimePeriod.js +12 -16
  317. package/src/rules2/src/table/getCells.js +2 -2
  318. package/src/rules2/src/table/getLayout.js +2 -2
  319. package/src/rules2/src/table/getTableLayoutIds.js +9 -9
  320. package/src/rules2/src/table/getTableProps.js +0 -1
  321. package/src/rules2/src/table/parseValueHierarchy.js +0 -7
  322. package/src/rules2/src/table/refineLayoutSize2.js +5 -5
  323. package/src/rules2/src/utils.js +0 -11
  324. package/src/viewer/src/app/leg.js +0 -1
  325. package/src/viewer/src/chart.jsx +23 -1
  326. package/src/viewer/src/legends/FocusLegend.jsx +1 -1
  327. package/dist/_virtual/index10.js +0 -8
  328. package/dist/_virtual/index10.js.map +0 -1
  329. package/dist/_virtual/index11.js +0 -8
  330. package/dist/_virtual/index11.js.map +0 -1
  331. package/dist/_virtual/index12.js +0 -8
  332. package/dist/_virtual/index12.js.map +0 -1
  333. package/dist/_virtual/index13.js +0 -8
  334. package/dist/_virtual/index13.js.map +0 -1
  335. package/dist/_virtual/index14.js +0 -8
  336. package/dist/_virtual/index14.js.map +0 -1
  337. package/dist/_virtual/index15.js +0 -8
  338. package/dist/_virtual/index15.js.map +0 -1
  339. package/dist/_virtual/index16.js +0 -8
  340. package/dist/_virtual/index16.js.map +0 -1
  341. package/dist/_virtual/index17.js +0 -7
  342. package/dist/_virtual/index17.js.map +0 -1
  343. package/dist/_virtual/index18.js +0 -7
  344. package/dist/_virtual/index18.js.map +0 -1
  345. package/dist/_virtual/index19.js +0 -8
  346. package/dist/_virtual/index19.js.map +0 -1
  347. package/dist/_virtual/index20.js +0 -4
  348. package/dist/_virtual/index20.js.map +0 -1
  349. package/dist/_virtual/index21.js +0 -6
  350. package/dist/_virtual/index21.js.map +0 -1
  351. package/dist/_virtual/index22.js +0 -4
  352. package/dist/_virtual/index22.js.map +0 -1
  353. package/dist/_virtual/index23.js +0 -4
  354. package/dist/_virtual/index23.js.map +0 -1
  355. package/dist/_virtual/index8.js +0 -8
  356. package/dist/_virtual/index8.js.map +0 -1
  357. package/dist/_virtual/index9.js +0 -8
  358. package/dist/_virtual/index9.js.map +0 -1
  359. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js +0 -32
  360. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js.map +0 -1
  361. package/dist/node_modules/date-fns/get_iso_week/index.js +0 -49
  362. package/dist/node_modules/date-fns/get_iso_week/index.js.map +0 -1
  363. package/dist/node_modules/date-fns/get_iso_year/index.js +0 -59
  364. package/dist/node_modules/date-fns/get_iso_year/index.js.map +0 -1
  365. package/dist/node_modules/date-fns/is_date/index.js +0 -32
  366. package/dist/node_modules/date-fns/is_date/index.js.map +0 -1
  367. package/dist/node_modules/date-fns/is_friday/index.js +0 -35
  368. package/dist/node_modules/date-fns/is_friday/index.js.map +0 -1
  369. package/dist/node_modules/date-fns/is_monday/index.js +0 -35
  370. package/dist/node_modules/date-fns/is_monday/index.js.map +0 -1
  371. package/dist/node_modules/date-fns/is_saturday/index.js +0 -35
  372. package/dist/node_modules/date-fns/is_saturday/index.js.map +0 -1
  373. package/dist/node_modules/date-fns/is_sunday/index.js +0 -35
  374. package/dist/node_modules/date-fns/is_sunday/index.js.map +0 -1
  375. package/dist/node_modules/date-fns/is_thursday/index.js +0 -35
  376. package/dist/node_modules/date-fns/is_thursday/index.js.map +0 -1
  377. package/dist/node_modules/date-fns/is_tuesday/index.js +0 -35
  378. package/dist/node_modules/date-fns/is_tuesday/index.js.map +0 -1
  379. package/dist/node_modules/date-fns/is_wednesday/index.js +0 -35
  380. package/dist/node_modules/date-fns/is_wednesday/index.js.map +0 -1
  381. package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js +0 -39
  382. package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js.map +0 -1
  383. package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js +0 -110
  384. package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js.map +0 -1
  385. package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js +0 -86
  386. package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js.map +0 -1
  387. package/dist/node_modules/date-fns/locale/ar/index.js +0 -26
  388. package/dist/node_modules/date-fns/locale/ar/index.js.map +0 -1
  389. package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js +0 -196
  390. package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js.map +0 -1
  391. package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js +0 -90
  392. package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js.map +0 -1
  393. package/dist/node_modules/date-fns/locale/de/index.js +0 -27
  394. package/dist/node_modules/date-fns/locale/de/index.js.map +0 -1
  395. package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js +0 -110
  396. package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js.map +0 -1
  397. package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js +0 -101
  398. package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js.map +0 -1
  399. package/dist/node_modules/date-fns/locale/en/index.js +0 -25
  400. package/dist/node_modules/date-fns/locale/en/index.js.map +0 -1
  401. package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js +0 -110
  402. package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js.map +0 -1
  403. package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js +0 -86
  404. package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js.map +0 -1
  405. package/dist/node_modules/date-fns/locale/es/index.js +0 -28
  406. package/dist/node_modules/date-fns/locale/es/index.js.map +0 -1
  407. package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js +0 -110
  408. package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js.map +0 -1
  409. package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js +0 -135
  410. package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js.map +0 -1
  411. package/dist/node_modules/date-fns/locale/fr/index.js +0 -27
  412. package/dist/node_modules/date-fns/locale/fr/index.js.map +0 -1
  413. package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js +0 -110
  414. package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js.map +0 -1
  415. package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js +0 -86
  416. package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js.map +0 -1
  417. package/dist/node_modules/date-fns/locale/it/index.js +0 -26
  418. package/dist/node_modules/date-fns/locale/it/index.js.map +0 -1
  419. package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js +0 -110
  420. package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js.map +0 -1
  421. package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js +0 -86
  422. package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js.map +0 -1
  423. package/dist/node_modules/date-fns/locale/nl/index.js +0 -27
  424. package/dist/node_modules/date-fns/locale/nl/index.js.map +0 -1
  425. package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js +0 -114
  426. package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js.map +0 -1
  427. package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js +0 -74
  428. package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js.map +0 -1
  429. package/dist/node_modules/date-fns/locale/th/index.js +0 -26
  430. package/dist/node_modules/date-fns/locale/th/index.js.map +0 -1
  431. package/dist/node_modules/date-fns/parse/index.js +0 -346
  432. package/dist/node_modules/date-fns/parse/index.js.map +0 -1
  433. package/dist/node_modules/date-fns/start_of_iso_week/index.js +0 -38
  434. package/dist/node_modules/date-fns/start_of_iso_week/index.js.map +0 -1
  435. package/dist/node_modules/date-fns/start_of_iso_year/index.js +0 -46
  436. package/dist/node_modules/date-fns/start_of_iso_year/index.js.map +0 -1
  437. package/dist/node_modules/date-fns/start_of_week/index.js +0 -51
  438. package/dist/node_modules/date-fns/start_of_week/index.js.map +0 -1
  439. package/dist/rules/src/factories/scatter-dimension.js +0 -35
  440. package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
  441. package/dist/rules/src/factories/stacked-dimension.js +0 -32
  442. package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
  443. package/dist/rules/src/factories/symbol-dimension.js +0 -32
  444. package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
  445. package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
  446. package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
  447. package/dist/rules/src/header/getHeaderUnits.js +0 -21
  448. package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
  449. package/dist/rules/src/header/getSubtitleFlags.js +0 -47
  450. package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
  451. package/dist/rules/src/header/getTitleFlags.js +0 -12
  452. package/dist/rules/src/header/getTitleFlags.js.map +0 -1
  453. package/dist/rules/src/properties/errors.js +0 -22
  454. package/dist/rules/src/properties/errors.js.map +0 -1
  455. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
  456. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
  457. package/dist/rules/src/v8-transformer.js +0 -174
  458. package/dist/rules/src/v8-transformer.js.map +0 -1
  459. package/src/bridge-d3-react/src/app.js +0 -64
  460. package/src/bridge-d3-react/src/mock-choro.js +0 -394
  461. package/src/rules/src/factories/scatter-dimension.js +0 -32
  462. package/src/rules/src/factories/stacked-dimension.js +0 -29
  463. package/src/rules/src/factories/symbol-dimension.js +0 -29
  464. package/src/rules/src/header/getDefaultSubtitle.js +0 -40
  465. package/src/rules/src/header/getHeaderUnits.js +0 -17
  466. package/src/rules/src/header/getSubtitleFlags.js +0 -43
  467. package/src/rules/src/header/getTitleFlags.js +0 -8
  468. package/src/rules/src/header/index.js +0 -4
  469. package/src/rules/src/preparators/enhanceObservations.js +0 -152
  470. package/src/rules/src/properties/errors.js +0 -19
  471. package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
  472. package/src/rules/src/properties/information.js +0 -84
  473. package/src/rules/src/v8-transformer.js +0 -177
  474. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
  475. package/src/rules2/src/getMetadataStructureFromData.js +0 -17
  476. package/src/rules2/src/refineMetadataCoordinates.js +0 -28
  477. package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"parseMetadataSeries.js","sources":["../../../src/rules2/src/parseMetadataSeries.js"],"sourcesContent":["import * as R from 'ramda';\nimport { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants';\n\nconst dimensionValueDisplay = (display) => data => {\n if (display === 'code') {\n return R.prop('id', data);\n }\n const name = R.prop('name')(data);\n if (display === 'both') {\n return `${R.prop('id', data)}: ${name}`;\n }\n return name;\n};\n// options = { locale, display, dimensions = [], attributes = { [id]: { format, parent } } };\nexport const parseMetadataSeries = (metadataJson, options) => {\n const metadataAttributes = R.pathOr([], ['data', 'structures', 0, 'attributes', 'dimensionGroup'], metadataJson);\n const metaAttrLength = R.length(metadataAttributes);\n\n if (!metaAttrLength) {\n return ({});\n }\n\n const dimensions = R.pipe(\n R.pathOr([], ['data', 'structures', 0, 'dimensions']),\n ({ series = [], observation = [] }) => R.concat(series, observation),\n dims => R.isEmpty(options.dimensions || [])\n ? dims\n : R.props(R.pluck('id', options.dimensions), R.indexBy(R.prop('id'), dims))\n )(metadataJson);\n\n const { notDisplayedIds = {} } = options;\n\n const metadataSeries = R.pipe(\n R.pathOr({}, ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n series => R.reduce((acc, serieKey) => {\n const indexes = series[serieKey];\n const metaIndexes = R.take(metaAttrLength, indexes);\n\n\n const evolvedKey = R.pipe(\n R.split(':'),\n R.addIndex(R.map)((vInd, dInd) => {\n if (R.isEmpty(vInd) || R.equals(EMPTY_ATTACHMENT_LEVEL_CHAR, vInd)) {\n return '';\n }\n const dim = R.nth(dInd, dimensions);\n const val = R.nth(Number(vInd), dim.values || []);\n\n const originalVal = R.find(\n R.propEq('id', val.id),\n )(R.propOr([], 'values', R.nth(dInd, options.dimensions)));\n return R.propOr('', '__index', originalVal);\n }),\n R.join(':')\n )(serieKey);\n\n const attributes = R.pipe(\n R.addIndex(R.reduce)(\n (acc, valueIndex, attrIndex) => {\n const attribute = R.nth(attrIndex, metadataAttributes);\n const isHidden = R.has(attribute.id, notDisplayedIds);\n if ((R.isNil(valueIndex) && !(attribute.isPresentational)) || isHidden) {\n return acc;\n }\n const attrOptions = R.pathOr({}, ['attributes', attribute.id], options);\n const id = attrOptions.id;\n const label = dimensionValueDisplay(options.display)({ ...attribute, id });\n\n const _value = R.prop('value', R.nth(valueIndex, attribute.values || []));\n const value = R.is(Object, _value) ? R.prop(options.locale, _value) : _value;\n\n return R.append({\n ...(R.isNil(value) ? {} : { value }),\n id: attribute.id,\n label,\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', attribute.id], options))\n }, acc);\n },\n [],\n ),\n attributes => { // missing parents in metadata response \n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const indexedAttrs = R.indexBy(R.prop('id'), attributes);\n\n return R.reduce(\n (acc, id) => {\n if (R.has(id, indexedAttrs) || id === '#ROOT') {\n return acc;\n }\n return R.append({\n id,\n label: dimensionValueDisplay(options.display)({ id, name: R.path(['attributes', id, 'name'], options) }),\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', id], options))\n }, acc);\n },\n attributes,\n R.keys(groupedAttrs)\n );\n },\n attributes => {\n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const makeTree = R.map(attr => {\n if (R.has(attr.id, groupedAttrs)) {\n const children = makeTree(R.prop(attr.id, groupedAttrs));\n return R.assoc('children', children, attr);\n }\n return attr;\n });\n\n return makeTree(R.propOr([], '#ROOT', groupedAttrs));\n },\n )(metaIndexes);\n\n return R.assoc(evolvedKey, attributes, acc);\n },\n {},\n R.keys(series)\n ))(metadataJson);\n\n return metadataSeries;\n};"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseMetadataSeries.js","sources":["../../../src/rules2/src/parseMetadataSeries.js"],"sourcesContent":["import * as R from 'ramda';\nimport { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants';\n\nconst dimensionValueDisplay = (display) => data => {\n if (display === 'code') {\n return R.prop('id', data);\n }\n const name = R.prop('name')(data);\n if (display === 'both') {\n return `${R.prop('id', data)}: ${name}`;\n }\n return name;\n};\n// options = { locale, display, dimensions = [], attributes = { [id]: { format, parent } } };\nexport const parseMetadataSeries = (metadataJson, options) => {\n const metadataAttributes = R.pathOr([], ['data', 'structures', 0, 'attributes', 'dimensionGroup'], metadataJson);\n const metaAttrLength = R.length(metadataAttributes);\n\n if (!metaAttrLength) {\n return ({});\n }\n\n const dimensions = R.pipe(\n R.pathOr([], ['data', 'structures', 0, 'dimensions']),\n ({ series = [], observation = [] }) => R.concat(series, observation),\n dims => R.isEmpty(options.dimensions || [])\n ? dims\n : R.props(R.pluck('id', options.dimensions), R.indexBy(R.prop('id'), dims))\n )(metadataJson);\n\n const { notDisplayedIds = {} } = options;\n\n const metadataSeries = R.pipe(\n R.pathOr({}, ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n series => R.reduce((acc, serieKey) => {\n const indexes = series[serieKey];\n const metaIndexes = R.take(metaAttrLength, indexes);\n\n\n const evolvedKey = R.pipe(\n R.split(':'),\n R.addIndex(R.map)((vInd, dInd) => {\n if (R.isEmpty(vInd) || R.equals(EMPTY_ATTACHMENT_LEVEL_CHAR, vInd)) {\n return '';\n }\n const dim = R.nth(dInd, dimensions);\n const val = R.nth(Number(vInd), dim.values || []);\n\n const originalVal = R.find(\n R.propEq(val.id, 'id'),\n )(R.propOr([], 'values', R.nth(dInd, options.dimensions)));\n return R.propOr('', '__index', originalVal);\n }),\n R.join(':')\n )(serieKey);\n\n const attributes = R.pipe(\n R.addIndex(R.reduce)(\n (acc, valueIndex, attrIndex) => {\n const attribute = R.nth(attrIndex, metadataAttributes);\n const isHidden = R.has(attribute.id, notDisplayedIds);\n if ((R.isNil(valueIndex) && !(attribute.isPresentational)) || isHidden) {\n return acc;\n }\n const attrOptions = R.pathOr({}, ['attributes', attribute.id], options);\n const id = attrOptions.id;\n const label = dimensionValueDisplay(options.display)({ ...attribute, id });\n\n const _value = R.prop('value', R.nth(valueIndex, attribute.values || []));\n const value = R.is(Object, _value) ? R.prop(options.locale, _value) : _value;\n\n return R.append({\n ...(R.isNil(value) ? {} : { value }),\n id: attribute.id,\n label,\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', attribute.id], options))\n }, acc);\n },\n [],\n ),\n attributes => { // missing parents in metadata response \n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const indexedAttrs = R.indexBy(R.prop('id'), attributes);\n\n return R.reduce(\n (acc, id) => {\n if (R.has(id, indexedAttrs) || id === '#ROOT') {\n return acc;\n }\n return R.append({\n id,\n label: dimensionValueDisplay(options.display)({ id, name: R.path(['attributes', id, 'name'], options) }),\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', id], options))\n }, acc);\n },\n attributes,\n R.keys(groupedAttrs)\n );\n },\n attributes => {\n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const makeTree = R.map(attr => {\n if (R.has(attr.id, groupedAttrs)) {\n const children = makeTree(R.prop(attr.id, groupedAttrs));\n return R.assoc('children', children, attr);\n }\n return attr;\n });\n\n return makeTree(R.propOr([], '#ROOT', groupedAttrs));\n },\n )(metaIndexes);\n\n return R.assoc(evolvedKey, attributes, acc);\n },\n {},\n R.keys(series)\n ))(metadataJson);\n\n return metadataSeries;\n};"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as R from 'ramda';
2
+ import { getObservations } from '../../rules/src/preparators/getObservations.js';
2
3
  import { refineDimensions } from './refineDimensions.js';
3
4
  import { enhanceObservations } from './enhanceObservations.js';
4
5
  import { parseAttributes } from './parseAttributes.js';
@@ -17,13 +18,19 @@ import { getHeaderSubtitle } from './getHeaderSubtitle.js';
17
18
  import { getHeaderCombinations } from './getHeaderCombinations.js';
18
19
  import { getHeaderCoordinates } from './getHeaderCoordinates.js';
19
20
  import { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim.js';
20
- import { getObservations } from '../../rules/src/preparators/getObservations.js';
21
+ import { getReportingYearStart } from '../../rules/src/preparators/getReportingYearStart.js';
22
+ import { getNotDisplayedIds } from './getNotDisplayedIds.js';
23
+ import { getAttributes } from './getAttributes.js';
21
24
 
22
25
  const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {
23
26
  const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);
24
- const refinedDimensions = refineDimensions(dimensions, dataquery);
25
- const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], sdmxJson);
26
27
  const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);
28
+ const reportYearStart = getReportingYearStart(sdmxJson);
29
+ const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(annotations);
30
+ const options = { dataquery, hiddenCombinations, hiddenValues, locale, reportYearStart };
31
+ const refinedDimensions = refineDimensions({ annotations, dimensions, options });
32
+ const _attributes = R.pathOr([], ['data', 'structure', 'attributes'], sdmxJson);
33
+ const attributes = getAttributes({ attributes: _attributes, annotations, options });
27
34
  const observations = getObservations(sdmxJson);
28
35
  let combinations = getCombinationDefinitions(annotations, locale);
29
36
  if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {
@@ -1 +1 @@
1
- {"version":3,"file":"prepareData.js","sources":["../../../src/rules2/src/prepareData.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getObservations } from '../../rules/src';\nimport { refineDimensions } from './refineDimensions';\nimport { enhanceObservations } from './enhanceObservations';\nimport { parseAttributes } from './parseAttributes';\nimport { getCombinationDefinitions, parseCombinationDefinition } from './getCombinationDefinitions';\nimport { parseCombinations } from './parseCombinations';\nimport { refineAttributes } from './refineAttributes';\nimport { duplicateObs } from './duplicateObservations';\nimport { getMetadataCoordinates } from './getMetadataCoordinates';\nimport { getAttributesSeries } from './getAttributesSeries';\nimport { getManyValuesDimensions } from './getManyValuesDimensions';\nimport { getOneValueDimensions } from './getOneValueDimensions';\nimport { hierarchiseDimensionWithNativeHierarchy } from './hierarchiseDimensionWithNativeHierarchy2';\nimport { getDataflowAttributes } from './getDataflowAttributes';\nimport { getHeaderTitle } from './getHeaderTitle';\nimport { getHeaderSubtitle } from './getHeaderSubtitle';\nimport { getHeaderCombinations } from './getHeaderCombinations';\nimport { getHeaderCoordinates } from './getHeaderCoordinates';\nimport { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim';\n\nexport const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);\n const refinedDimensions = refineDimensions(dimensions, dataquery);\n const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], sdmxJson);\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n const observations = getObservations(sdmxJson);\n let combinations = getCombinationDefinitions(annotations, locale);\n if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {\n const { concepts, names } = defaultCombinations;\n combinations = parseCombinationDefinition(locale)(concepts, names);\n }\n const metadataCoordinates = getMetadataCoordinates(sdmxJson);\n\n const parsedAttributes = parseAttributes(attributes, refinedDimensions, customAttributes);\n const parsedCombinations = parseCombinations(combinations, parsedAttributes, refinedDimensions);\n const seriesCombinations = R.filter(R.prop('series'), parsedCombinations);\n const refinedAttributes = refineAttributes(parsedAttributes, seriesCombinations);\n\n const enhancedObservations = enhanceObservations(refinedDimensions, observations, refinedAttributes, { customAttributes });\n const attributesSeries = getAttributesSeries(enhancedObservations);\n const manyValuesDimensions = getManyValuesDimensions(refinedDimensions, attributesSeries, customAttributes, seriesCombinations);\n const oneValueDimensions = getOneValueDimensions(refinedDimensions, parsedAttributes);\n const rejectedDimensions = R.filter(R.prop('rejected'), dimensions);\n const headerCoordinates = getHeaderCoordinates(oneValueDimensions);\n const hierarchisedDimensions = R.map(dim => {\n if (R.isEmpty(R.propOr({}, dim.id, hierarchies))) {\n return hierarchiseDimensionWithNativeHierarchy(dim);\n }\n return applyHierarchicalCodesToDim(R.prop(dim.id, hierarchies), dim);\n }, manyValuesDimensions)\n const duplicatedObservations = duplicateObs(R.values(hierarchisedDimensions), enhancedObservations);\n\n const dataflowAttributes = getDataflowAttributes(parsedAttributes, parsedCombinations);\n const headerTitle = getHeaderTitle(dataflow, dataflowAttributes, display, customAttributes);\n const headerSubtitle = getHeaderSubtitle(oneValueDimensions, parsedCombinations, customAttributes, display);\n const headerCombinations = getHeaderCombinations(parsedCombinations, oneValueDimensions, refinedAttributes, display);\n \n return ({\n observations: duplicatedObservations,\n dimensions: hierarchisedDimensions,\n combinations: parsedCombinations,\n oneValueDimensions,\n attributesSeries,\n metadataCoordinates,\n attributes: refinedAttributes,\n rejectedDimensions,\n header: {\n title: headerTitle,\n subtitle: headerSubtitle,\n combinations: headerCombinations,\n coordinates: headerCoordinates\n }\n });\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareData.js","sources":["../../../src/rules2/src/prepareData.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getObservations } from '../../rules/src/preparators/getObservations';\nimport { refineDimensions } from './refineDimensions';\nimport { enhanceObservations } from './enhanceObservations';\nimport { parseAttributes } from './parseAttributes';\nimport { getCombinationDefinitions, parseCombinationDefinition } from './getCombinationDefinitions';\nimport { parseCombinations } from './parseCombinations';\nimport { refineAttributes } from './refineAttributes';\nimport { duplicateObs } from './duplicateObservations';\nimport { getMetadataCoordinates } from './getMetadataCoordinates';\nimport { getAttributesSeries } from './getAttributesSeries';\nimport { getManyValuesDimensions } from './getManyValuesDimensions';\nimport { getOneValueDimensions } from './getOneValueDimensions';\nimport { hierarchiseDimensionWithNativeHierarchy } from './hierarchiseDimensionWithNativeHierarchy2';\nimport { getDataflowAttributes } from './getDataflowAttributes';\nimport { getHeaderTitle } from './getHeaderTitle';\nimport { getHeaderSubtitle } from './getHeaderSubtitle';\nimport { getHeaderCombinations } from './getHeaderCombinations';\nimport { getHeaderCoordinates } from './getHeaderCoordinates';\nimport { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim';\nimport { getReportingYearStart } from '../../rules/src/preparators/getReportingYearStart';\nimport { getNotDisplayedIds } from './getNotDisplayedIds';\nimport { getAttributes } from './getAttributes';\n\nexport const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n const reportYearStart = getReportingYearStart(sdmxJson);\n const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(annotations);\n const options = { dataquery, hiddenCombinations, hiddenValues, locale, reportYearStart };\n const refinedDimensions = refineDimensions({ annotations, dimensions, options });\n const _attributes = R.pathOr([], ['data', 'structure', 'attributes'], sdmxJson);\n const attributes = getAttributes({ attributes: _attributes, annotations, options });\n const observations = getObservations(sdmxJson);\n let combinations = getCombinationDefinitions(annotations, locale);\n if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {\n const { concepts, names } = defaultCombinations;\n combinations = parseCombinationDefinition(locale)(concepts, names);\n }\n const metadataCoordinates = getMetadataCoordinates(sdmxJson);\n\n const parsedAttributes = parseAttributes(attributes, refinedDimensions, customAttributes);\n const parsedCombinations = parseCombinations(combinations, parsedAttributes, refinedDimensions);\n const seriesCombinations = R.filter(R.prop('series'), parsedCombinations);\n const refinedAttributes = refineAttributes(parsedAttributes, seriesCombinations);\n\n const enhancedObservations = enhanceObservations(refinedDimensions, observations, refinedAttributes, { customAttributes });\n const attributesSeries = getAttributesSeries(enhancedObservations);\n const manyValuesDimensions = getManyValuesDimensions(refinedDimensions, attributesSeries, customAttributes, seriesCombinations);\n const oneValueDimensions = getOneValueDimensions(refinedDimensions, parsedAttributes);\n const rejectedDimensions = R.filter(R.prop('rejected'), dimensions);\n const headerCoordinates = getHeaderCoordinates(oneValueDimensions);\n const hierarchisedDimensions = R.map(dim => {\n if (R.isEmpty(R.propOr({}, dim.id, hierarchies))) {\n return hierarchiseDimensionWithNativeHierarchy(dim);\n }\n return applyHierarchicalCodesToDim(R.prop(dim.id, hierarchies), dim);\n }, manyValuesDimensions)\n const duplicatedObservations = duplicateObs(R.values(hierarchisedDimensions), enhancedObservations);\n\n const dataflowAttributes = getDataflowAttributes(parsedAttributes, parsedCombinations);\n const headerTitle = getHeaderTitle(dataflow, dataflowAttributes, display, customAttributes);\n const headerSubtitle = getHeaderSubtitle(oneValueDimensions, parsedCombinations, customAttributes, display);\n const headerCombinations = getHeaderCombinations(parsedCombinations, oneValueDimensions, refinedAttributes, display);\n \n return ({\n observations: duplicatedObservations,\n dimensions: hierarchisedDimensions,\n combinations: parsedCombinations,\n oneValueDimensions,\n attributesSeries,\n metadataCoordinates,\n attributes: refinedAttributes,\n rejectedDimensions,\n header: {\n title: headerTitle,\n subtitle: headerSubtitle,\n combinations: headerCombinations,\n coordinates: headerCoordinates\n }\n });\n};\n"],"names":[],"mappings":"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"}
@@ -1,19 +1,64 @@
1
1
  import * as R from 'ramda';
2
+ import { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
+ import { getValuesEnhanced } from '../../rules/src/get-values-enhanced.js';
4
+ import { getIsHidden } from '../../rules/src/sdmx-data/index.js';
2
5
 
3
- const refineDimensions = (dimensions=[], dataquery='') => {
6
+ const TIME_PERIOD_ID = 'TIME_PERIOD';
7
+
8
+ const refineDimensions = ({
9
+ annotations = [],
10
+ dimensions = [],
11
+ options = {},
12
+ }) => {
13
+ const {
14
+ dataquery = '',
15
+ hiddenCombinations = {},
16
+ hiddenValues = {},
17
+ locale = '',
18
+ reportYearStart,
19
+ ...restOptions
20
+ } = options;
4
21
  const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);
5
22
 
23
+ const getIsAllDimHidden = ({ id, values }) => {
24
+ if (!R.has(id, hiddenCombinations)) {
25
+ return false;
26
+ }
27
+ const valuesIds = R.pluck('id', values);
28
+ return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));
29
+ };
30
+
6
31
  return R.addIndex(R.map)((dim, index) => {
7
32
  const selection = R.nth(index, selectionIds);
8
- const values = R.map(val => {
9
- if (R.includes(val.id, selection || []) || R.isNil(selection) || R.length(selection) === 0 || R.isEmpty(R.head(selection))) {
10
- return R.assoc('isSelected', true, val);
11
- }
12
- return R.assoc('empty', true, val);
13
- }, dim.values || []);
33
+ const isEmptySelection = R.isNil(selection) || R.isEmpty(selection) || R.isEmpty(R.head(selection));
34
+ const isTimeDimension = isTimePeriodDimension(dim);
35
+ const dimAnnotations = R.props(dim.annotations || [], annotations);
36
+ const values = getValuesEnhanced({
37
+ annotations,
38
+ hiddenIds: hiddenValues,
39
+ isTimeDimension,
40
+ locale,
41
+ options: restOptions,
42
+ parent: dim.id,
43
+ reportYearStart,
44
+ selection
45
+ })(dim.values || []);
14
46
 
15
47
  const size = R.length(values);
16
- return { ...dim, values, header: size === 1 || (size > 1 && R.length(selection) === 1 && !R.isEmpty(R.head(selection))) };
48
+ const isAllDimHidden = getIsAllDimHidden({ id: dim.id, values });
49
+ const isHidden = isAllDimHidden || R.has(dim.id, hiddenValues)
50
+ || getIsHidden(dimAnnotations);
51
+ return ({
52
+ ...dim,
53
+ display: !isHidden,
54
+ header: size === 1 || (size > 1 && R.length(selection) === 1 && !isEmptySelection),
55
+ __index: index,
56
+ rejected: isAllDimHidden || !size,
57
+ role: isTimeDimension
58
+ ? TIME_PERIOD_ID
59
+ : R.head(dim.roles || []),
60
+ values,
61
+ });
17
62
  }, dimensions);
18
63
  };
19
64
 
@@ -1 +1 @@
1
- {"version":3,"file":"refineDimensions.js","sources":["../../../src/rules2/src/refineDimensions.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const refineDimensions = (dimensions=[], dataquery='') => {\n const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);\n\n return R.addIndex(R.map)((dim, index) => {\n const selection = R.nth(index, selectionIds);\n const values = R.map(val => {\n if (R.includes(val.id, selection || []) || R.isNil(selection) || R.length(selection) === 0 || R.isEmpty(R.head(selection))) {\n return R.assoc('isSelected', true, val);\n }\n return R.assoc('empty', true, val);\n }, dim.values || []);\n\n const size = R.length(values);\n return { ...dim, values, header: size === 1 || (size > 1 && R.length(selection) === 1 && !R.isEmpty(R.head(selection))) };\n }, dimensions);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,gBAAgB,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK;AACjE,EAAE,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;;AAE3E,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK;AAC3C,IAAI,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC;AAChD,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;AAChC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;AAClI,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;AAC/C,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC;AACxC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;;AAExB,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACjC,IAAI,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;AAC7H,EAAE,CAAC,EAAE,UAAU,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"refineDimensions.js","sources":["../../../src/rules2/src/refineDimensions.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { getValuesEnhanced } from '../../rules/src/get-values-enhanced';\nimport { getIsHidden } from '../../rules/src/sdmx-data';\n\nconst TIME_PERIOD_ID = 'TIME_PERIOD';\n\nexport const refineDimensions = ({\n annotations = [],\n dimensions = [],\n options = {},\n}) => {\n const {\n dataquery = '',\n hiddenCombinations = {},\n hiddenValues = {},\n locale = '',\n reportYearStart,\n ...restOptions\n } = options;\n const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);\n\n const getIsAllDimHidden = ({ id, values }) => {\n if (!R.has(id, hiddenCombinations)) {\n return false;\n }\n const valuesIds = R.pluck('id', values);\n return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));\n }\n\n return R.addIndex(R.map)((dim, index) => {\n const selection = R.nth(index, selectionIds);\n const isEmptySelection = R.isNil(selection) || R.isEmpty(selection) || R.isEmpty(R.head(selection));\n const isTimeDimension = isTimePeriodDimension(dim);\n const dimAnnotations = R.props(dim.annotations || [], annotations);\n const values = getValuesEnhanced({\n annotations,\n hiddenIds: hiddenValues,\n isTimeDimension,\n locale,\n options: restOptions,\n parent: dim.id,\n reportYearStart,\n selection\n })(dim.values || []);\n\n const size = R.length(values);\n const isAllDimHidden = getIsAllDimHidden({ id: dim.id, values });\n const isHidden = isAllDimHidden || R.has(dim.id, hiddenValues)\n || getIsHidden(dimAnnotations);\n return ({\n ...dim,\n display: !isHidden,\n header: size === 1 || (size > 1 && R.length(selection) === 1 && !isEmptySelection),\n __index: index,\n rejected: isAllDimHidden || !size,\n role: isTimeDimension\n ? TIME_PERIOD_ID\n : R.head(dim.roles || []),\n values,\n });\n }, dimensions);\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as R from 'ramda';
2
2
  import * as dateFns from 'date-fns';
3
- import { dateWithoutTZ, getLocale } from '../../rules/src/date.js';
3
+ import { getLocale } from '../../rules/src/date.js';
4
4
 
5
5
  const computeDisplayFreq = (start, duration) => {
6
6
  const startMinute = dateFns.startOfMinute(start);
@@ -13,7 +13,7 @@ const computeDisplayFreq = (start, duration) => {
13
13
  || duration === 'H' || duration === 'm') {
14
14
  return 'm';
15
15
  }
16
- else if (!dateFns.isFirstDayOfMonth(start) || duration === 'D') {
16
+ else if (dateFns.getDate(start) !== 1 || duration === 'D') {
17
17
  return 'D';
18
18
  }
19
19
  else if (dateFns.getMonth(start) !== 0 || duration === 'M') {
@@ -38,16 +38,16 @@ const getAdder = (duration) => {
38
38
 
39
39
  const getFormat = (freqDisplay) => {
40
40
  if (freqDisplay === 'Y')
41
- return 'YYYY';
41
+ return 'yyyy';
42
42
  if (freqDisplay === 'D')
43
- return 'YYYY-MM-DD';
43
+ return 'yyyy-MM-dd';
44
44
  if (freqDisplay === 'H' || freqDisplay === 'm') {
45
45
  return 'HH:mm';
46
46
  }
47
47
  if (freqDisplay === 'S') {
48
48
  return 'HH:mm:ss';
49
49
  }
50
- return 'YYYY-MMM';
50
+ return 'yyyy-MMM';
51
51
  };
52
52
 
53
53
  const getEndDate = (start, mult, duration) => {
@@ -64,14 +64,15 @@ const computeName = (start, end, freqDisplay, locale, format) => {
64
64
  const dayFormat = getFormat('D');
65
65
  if (isSameDay)
66
66
  return `${dateFns.format(start, dayFormat, opts)} ${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;
67
- return `${dateFns.format(start, `${dayFormat} ${format}`, opts)} - ${dateFns.format(end, `${dayFormat} ${format}`, opts)}`;
67
+ return `${dateFns.format(start, dayFormat, opts)} ${dateFns.format(start, format, opts)} - `
68
+ + `${dateFns.format(end, dayFormat, opts)} ${dateFns.format(end, format, opts)}`;
68
69
  }
69
70
  if (freqDisplay !== 'M') {
70
71
  return `${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;
71
72
  }
72
73
 
73
74
  if (isSameYear && !R.includes('-', format)) {
74
- const yearFormatMatch = R.match(/([Y]+)/, format);
75
+ const yearFormatMatch = R.match(/([y]+)/, format);
75
76
  const monthFormatMatch = R.match(/([M]+|Mo)/, format);
76
77
  const yearFormat = R.length(yearFormatMatch) >= 2 ? R.nth(1, yearFormatMatch) : null;
77
78
  const monthFormat = R.length(monthFormatMatch) >= 2 ? R.nth(1, monthFormatMatch) : null;
@@ -87,16 +88,11 @@ const computeName = (start, end, freqDisplay, locale, format) => {
87
88
  return `${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;
88
89
  };
89
90
 
90
- const getStartDate = (start) => {
91
- if (!R.includes('T', start) && !R.endsWith('Z', start)) {
92
- return dateWithoutTZ(new Date(start));
93
- }
94
- return new Date(start);
95
- };
96
-
91
+ const getStartDate = value =>
92
+ typeof value === 'string' ? dateFns.parseISO(value) : new Date(value);
97
93
  const dateWithTZ = date => dateFns.addMinutes(date, -date.getTimezoneOffset());
98
94
 
99
- const refineTimePeriod = (timePeriod, { locale, monthlyFormat='YYYY-MMM' }) => {
95
+ const refineTimePeriod = (timePeriod, { locale, monthlyFormat = 'yyyy-MMM' }) => {
100
96
  const { id } = timePeriod;
101
97
  const split = R.split('/', id);
102
98
  if (R.length(split) !== 2) {
@@ -113,7 +109,7 @@ const refineTimePeriod = (timePeriod, { locale, monthlyFormat='YYYY-MMM' }) => {
113
109
  const [timeIndicator, mult, _duration] = R.tail(match);
114
110
  const duration = !R.isEmpty(timeIndicator) && _duration === 'M' ? 'm' : _duration;
115
111
  const endDate = getEndDate(startDate, mult, duration);
116
- const freqDisplay = computeDisplayFreq(start, duration);
112
+ const freqDisplay = computeDisplayFreq(startDate, duration);
117
113
  const format = freqDisplay === 'M' ? monthlyFormat : getFormat(freqDisplay);
118
114
  const name = computeName(startDate, endDate, freqDisplay, locale, format);
119
115
 
@@ -1 +1 @@
1
- {"version":3,"file":"refineTimePeriod.js","sources":["../../../src/rules2/src/refineTimePeriod.js"],"sourcesContent":["import * as R from 'ramda';\nimport * as dateFns from 'date-fns';\nimport { getLocale, dateWithoutTZ } from '../../rules/src/date';\n\nconst computeDisplayFreq = (start, duration) => {\n const startMinute = dateFns.startOfMinute(start);\n const startHour = dateFns.startOfHour(start);\n const startDay = dateFns.startOfDay(start);\n if (!dateFns.isEqual(start, startMinute) || duration === 'S') {\n return 'S';\n }\n else if (!dateFns.isEqual(start, startHour) || !dateFns.isEqual(start, startDay)\n || duration === 'H' || duration === 'm') {\n return 'm';\n }\n else if (!dateFns.isFirstDayOfMonth(start) || duration === 'D') {\n return 'D';\n }\n else if (dateFns.getMonth(start) !== 0 || duration === 'M') {\n return 'M';\n }\n return 'Y';\n};\n\nconst getAdder = (duration) => {\n if (duration === 'S')\n return dateFns.addSeconds;\n if (duration === 'm')\n return dateFns.addMinutes;\n if (duration === 'H')\n return dateFns.addHours;\n if (duration === 'D')\n return dateFns.addDays;\n if (duration === 'M')\n return dateFns.addMonths;\n return dateFns.addYears;\n};\n\nconst getFormat = (freqDisplay) => {\n if (freqDisplay === 'Y')\n return 'YYYY';\n if (freqDisplay === 'D')\n return 'YYYY-MM-DD';\n if (freqDisplay === 'H' || freqDisplay === 'm') {\n return 'HH:mm';\n }\n if (freqDisplay === 'S') {\n return 'HH:mm:ss';\n }\n return 'YYYY-MMM';\n}\n\nconst getEndDate = (start, mult, duration) => {\n const adder = getAdder(duration);\n const endDate = adder(start, Number(mult));\n return dateFns.subSeconds(endDate, 1);\n};\n\nconst computeName = (start, end, freqDisplay, locale, format) => {\n const opts = { locale: getLocale(locale) };\n const isSameDay = dateFns.isSameDay(start, end);\n const isSameYear = dateFns.isSameYear(start, end);\n if (freqDisplay === 'H' || freqDisplay === 'm' || freqDisplay === 'S') {\n const dayFormat = getFormat('D');\n if (isSameDay)\n return `${dateFns.format(start, dayFormat, opts)} ${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;\n return `${dateFns.format(start, `${dayFormat} ${format}`, opts)} - ${dateFns.format(end, `${dayFormat} ${format}`, opts)}`;\n }\n if (freqDisplay !== 'M') {\n return `${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;\n }\n\n if (isSameYear && !R.includes('-', format)) {\n const yearFormatMatch = R.match(/([Y]+)/, format);\n const monthFormatMatch = R.match(/([M]+|Mo)/, format);\n const yearFormat = R.length(yearFormatMatch) >= 2 ? R.nth(1, yearFormatMatch) : null;\n const monthFormat = R.length(monthFormatMatch) >= 2 ? R.nth(1, monthFormatMatch) : null;\n const formattedYear = yearFormat ? dateFns.format(start, yearFormat, opts) : null;\n const formattedMonths = monthFormat ? `${dateFns.format(start, monthFormat, opts)} - ${dateFns.format(end, monthFormat, opts)}` : null;\n if (monthFormat) {\n return R.pipe(\n format => yearFormat ? R.replace(yearFormat, formattedYear, format) : format,\n R.replace(monthFormat, formattedMonths)\n )(format);\n }\n }\n return `${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;\n};\n\nexport const getStartDate = (start) => {\n if (!R.includes('T', start) && !R.endsWith('Z', start)) {\n return dateWithoutTZ(new Date(start));\n }\n return new Date(start);\n};\n\nconst dateWithTZ = date => dateFns.addMinutes(date, -date.getTimezoneOffset());\n\nexport const refineTimePeriod = (timePeriod, { locale, monthlyFormat='YYYY-MMM' }) => {\n const { id } = timePeriod;\n const split = R.split('/', id);\n if (R.length(split) !== 2) {\n const start = getStartDate(R.prop('start', timePeriod));\n const end = getStartDate(R.prop('end', timePeriod))\n return ({ ...timePeriod, start: dateWithTZ(start).toISOString(), end: dateWithTZ(end).toISOString() });\n }\n const [start, range] = split;\n const startDate = getStartDate(start);\n const match = R.match(/^P(T?)(\\d+)([YMDHS])$/, range);\n if (R.isEmpty(match) || !dateFns.isValid(startDate)) {\n return timePeriod;\n }\n const [timeIndicator, mult, _duration] = R.tail(match);\n const duration = !R.isEmpty(timeIndicator) && _duration === 'M' ? 'm' : _duration;\n const endDate = getEndDate(startDate, mult, duration);\n const freqDisplay = computeDisplayFreq(start, duration);\n const format = freqDisplay === 'M' ? monthlyFormat : getFormat(freqDisplay);\n const name = computeName(startDate, endDate, freqDisplay, locale, format);\n\n return ({\n ...timePeriod,\n id,\n name,\n start: dateWithTZ(startDate).toISOString(),\n end: dateWithTZ(endDate).toISOString()\n })\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refineTimePeriod.js","sources":["../../../src/rules2/src/refineTimePeriod.js"],"sourcesContent":["import * as R from 'ramda';\nimport * as dateFns from 'date-fns';\nimport { getLocale } from '../../rules/src/date';\n\nconst computeDisplayFreq = (start, duration) => {\n const startMinute = dateFns.startOfMinute(start);\n const startHour = dateFns.startOfHour(start);\n const startDay = dateFns.startOfDay(start);\n if (!dateFns.isEqual(start, startMinute) || duration === 'S') {\n return 'S';\n }\n else if (!dateFns.isEqual(start, startHour) || !dateFns.isEqual(start, startDay)\n || duration === 'H' || duration === 'm') {\n return 'm';\n }\n else if (dateFns.getDate(start) !== 1 || duration === 'D') {\n return 'D';\n }\n else if (dateFns.getMonth(start) !== 0 || duration === 'M') {\n return 'M';\n }\n return 'Y';\n};\n\nconst getAdder = (duration) => {\n if (duration === 'S')\n return dateFns.addSeconds;\n if (duration === 'm')\n return dateFns.addMinutes;\n if (duration === 'H')\n return dateFns.addHours;\n if (duration === 'D')\n return dateFns.addDays;\n if (duration === 'M')\n return dateFns.addMonths;\n return dateFns.addYears;\n};\n\nconst getFormat = (freqDisplay) => {\n if (freqDisplay === 'Y')\n return 'yyyy';\n if (freqDisplay === 'D')\n return 'yyyy-MM-dd';\n if (freqDisplay === 'H' || freqDisplay === 'm') {\n return 'HH:mm';\n }\n if (freqDisplay === 'S') {\n return 'HH:mm:ss';\n }\n return 'yyyy-MMM';\n}\n\nconst getEndDate = (start, mult, duration) => {\n const adder = getAdder(duration);\n const endDate = adder(start, Number(mult));\n return dateFns.subSeconds(endDate, 1);\n};\n\nconst computeName = (start, end, freqDisplay, locale, format) => {\n const opts = { locale: getLocale(locale) };\n const isSameDay = dateFns.isSameDay(start, end);\n const isSameYear = dateFns.isSameYear(start, end);\n if (freqDisplay === 'H' || freqDisplay === 'm' || freqDisplay === 'S') {\n const dayFormat = getFormat('D');\n if (isSameDay)\n return `${dateFns.format(start, dayFormat, opts)} ${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;\n return `${dateFns.format(start, dayFormat, opts)} ${dateFns.format(start, format, opts)} - `\n + `${dateFns.format(end, dayFormat, opts)} ${dateFns.format(end, format, opts)}`;\n }\n if (freqDisplay !== 'M') {\n return `${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;\n }\n\n if (isSameYear && !R.includes('-', format)) {\n const yearFormatMatch = R.match(/([y]+)/, format);\n const monthFormatMatch = R.match(/([M]+|Mo)/, format);\n const yearFormat = R.length(yearFormatMatch) >= 2 ? R.nth(1, yearFormatMatch) : null;\n const monthFormat = R.length(monthFormatMatch) >= 2 ? R.nth(1, monthFormatMatch) : null;\n const formattedYear = yearFormat ? dateFns.format(start, yearFormat, opts) : null;\n const formattedMonths = monthFormat ? `${dateFns.format(start, monthFormat, opts)} - ${dateFns.format(end, monthFormat, opts)}` : null;\n if (monthFormat) {\n return R.pipe(\n format => yearFormat ? R.replace(yearFormat, formattedYear, format) : format,\n R.replace(monthFormat, formattedMonths)\n )(format);\n }\n }\n return `${dateFns.format(start, format, opts)} - ${dateFns.format(end, format, opts)}`;\n};\n\nexport const getStartDate = value =>\n typeof value === 'string' ? dateFns.parseISO(value) : new Date(value);\nconst dateWithTZ = date => dateFns.addMinutes(date, -date.getTimezoneOffset());\n\nexport const refineTimePeriod = (timePeriod, { locale, monthlyFormat = 'yyyy-MMM' }) => {\n const { id } = timePeriod;\n const split = R.split('/', id);\n if (R.length(split) !== 2) {\n const start = getStartDate(R.prop('start', timePeriod));\n const end = getStartDate(R.prop('end', timePeriod))\n return ({ ...timePeriod, start: dateWithTZ(start).toISOString(), end: dateWithTZ(end).toISOString() });\n }\n const [start, range] = split;\n const startDate = getStartDate(start);\n const match = R.match(/^P(T?)(\\d+)([YMDHS])$/, range);\n if (R.isEmpty(match) || !dateFns.isValid(startDate)) {\n return timePeriod;\n }\n const [timeIndicator, mult, _duration] = R.tail(match);\n const duration = !R.isEmpty(timeIndicator) && _duration === 'M' ? 'm' : _duration;\n const endDate = getEndDate(startDate, mult, duration);\n const freqDisplay = computeDisplayFreq(startDate, duration);\n const format = freqDisplay === 'M' ? monthlyFormat : getFormat(freqDisplay);\n const name = computeName(startDate, endDate, freqDisplay, locale, format);\n\n return ({\n ...timePeriod,\n id,\n name,\n start: dateWithTZ(startDate).toISOString(),\n end: dateWithTZ(endDate).toISOString()\n })\n};\n"],"names":[],"mappings":"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"}
@@ -92,5 +92,5 @@ const getCells = (customAttributes, cellsAttributesId, combinations, attributesS
92
92
  );
93
93
  };
94
94
 
95
- export { getCellCombinedSeries, getCellRelevantAttributes, getCells };
95
+ export { getCells };
96
96
  //# sourceMappingURL=getCells.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCells.js","sources":["../../../../src/rules2/src/table/getCells.js"],"sourcesContent":["import * as R from 'ramda';\r\nimport { getFlagsAndNotes } from './getFlagsAndNotes';\r\nimport { hasCellMetadata } from '../hasCellMetadata';\r\n\r\nexport const getCellRelevantAttributes = (attributes, attributesSeries, cellAttributeIds) => R.filter(\r\n (attr) => {\r\n if (R.isNil(attr.value)) {\r\n return false;\r\n }\r\n if (R.has(attr.id, cellAttributeIds)) {\r\n return true;\r\n }\r\n const attrInSerie = R.path([attr.serieKey, attr.id], attributesSeries);\r\n return R.isNil(attrInSerie);\r\n },\r\n attributes\r\n);\r\n\r\nexport const getCellCombinedSeries = (attributes, combinations) => R.reduce(\r\n (acc, comb) => {\r\n const values = R.reduce(\r\n (acc, concept) => {\r\n if (R.has(concept, comb.fixedDimValues || {})) {\r\n return R.append(R.prop(concept, comb.fixedDimValues), acc);\r\n }\r\n if (R.has(concept, attributes || {})) {\r\n return R.append(R.path([concept, 'value'], attributes), acc);\r\n }\r\n return acc;\r\n },\r\n [],\r\n comb.concepts\r\n );\r\n\r\n if (R.isEmpty(values)) {\r\n return acc;\r\n }\r\n return R.append({ ...R.pick(['id', 'name'], comb), values }, acc);\r\n },\r\n [],\r\n combinations\r\n);\r\n\r\n// combinations = { cells, layout };\r\nexport const getCells = (customAttributes, cellsAttributesId, combinations, attributesSeries, metadataCoordinates) => observations => {\r\n const attributesInLayoutCombination = R.pipe(\r\n R.propOr([], 'layout'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const attributesInCellsCombination = R.pipe(\r\n R.propOr([], 'cells'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const _customAttributes = R.over(\r\n R.lensProp('notes'),\r\n notes => R.pipe(R.concat, R.uniq)(notes || [], attributesInLayoutCombination)\r\n )(customAttributes);\r\n\r\n return R.mapObjIndexed(\r\n obs => {\r\n const isAttrCell = R.pathOr('OBS_VAL', ['indexedDimValIds', 'OBS_ATTR'], obs) !== 'OBS_VAL';\r\n const relevantAttributes = isAttrCell ? [] : getCellRelevantAttributes(obs.attributes, attributesSeries, cellsAttributesId);\r\n const flagsAndNotes = isAttrCell ? [] : getFlagsAndNotes(R.omit(attributesInCellsCombination, relevantAttributes), _customAttributes);\r\n const combinedSeries = isAttrCell ? [] : getCellCombinedSeries(relevantAttributes, combinations.cells || []);\r\n const hasAdvancedAttributes = isAttrCell\r\n ? false : R.pipe(\r\n R.omit(R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination])),\r\n res => !R.isEmpty(res)\r\n )(relevantAttributes);\r\n\r\n const advancedAttributes = R.omit(\r\n R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination]),\r\n R.filter(attr => !R.isNil(attr.value), obs.attributes), \r\n );\r\n\r\n const hasMetadata = isAttrCell ? false : hasCellMetadata(metadataCoordinates, obs.indexedDimValIds);\r\n\r\n return ({\r\n ...R.pick(['indexedDimValIds', 'key'], obs),\r\n flags: R.concat(flagsAndNotes, combinedSeries),\r\n sideProps: hasAdvancedAttributes || hasMetadata\r\n ? { hasMetadata, coordinates: obs.indexedDimValIds, advancedAttributes } : null,\r\n intValue: R.is(Number, obs.value) ? obs.value : null,\r\n value: obs.formattedValue,\r\n });\r\n },\r\n observations\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;AAIY,MAAC,yBAAyB,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,KAAK,CAAC,CAAC,MAAM;AACrG,EAAE,CAAC,IAAI,KAAK;AACZ,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7B,MAAM,OAAO,KAAK,CAAC;AACnB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE;AAC1C,MAAM,OAAO,IAAI,CAAC;AAClB,IAAI,CAAC;AACL,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC3E,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAChC,EAAE,CAAC;AACH,EAAE,UAAU;AACZ,EAAE;AACF;AACY,MAAC,qBAAqB,GAAG,CAAC,UAAU,EAAE,YAAY,KAAK,CAAC,CAAC,MAAM;AAC3E,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AACjB,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM;AAC3B,MAAM,CAAC,GAAG,EAAE,OAAO,KAAK;AACxB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE;AACvD,UAAU,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE;AAC9C,UAAU,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,GAAG,CAAC;AACnB,MAAM,CAAC;AACP,MAAM,EAAE;AACR,MAAM,IAAI,CAAC,QAAQ;AACnB,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC3B,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,CAAC;AACL,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;AACtE,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,YAAY;AACd,EAAE;AACF;AACA;AACY,MAAC,QAAQ,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,KAAK,YAAY,IAAI;AACtI,EAAE,MAAM,6BAA6B,GAAG,CAAC,CAAC,IAAI;AAC9C,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC;AAC1B,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;AACvB,IAAI,CAAC,CAAC,MAAM;AACZ,GAAG,CAAC,YAAY,CAAC,CAAC;AAClB;AACA,EAAE,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI;AAC7C,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;AACvB,IAAI,CAAC,CAAC,MAAM;AACZ,GAAG,CAAC,YAAY,CAAC,CAAC;AAClB;AACA,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI;AAClC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,6BAA6B,CAAC;AACjF,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACtB;AACA,EAAE,OAAO,CAAC,CAAC,aAAa;AACxB,IAAI,GAAG,IAAI;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC;AAClG,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,EAAE,GAAG,yBAAyB,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AAClI,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC5I,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,EAAE,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACnH,MAAM,MAAM,qBAAqB,GAAG,UAAU;AAC9C,UAAU,KAAK,GAAG,CAAC,CAAC,IAAI;AACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;AACtH,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5B;AACA,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI;AACvC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAC;AAC9G,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC;AAC9D,OAAO,CAAC;AACR;AACA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,KAAK,GAAG,eAAe,CAAC,mBAAmB,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC1G;AACA,MAAM,QAAQ;AACd,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;AACnD,QAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;AACtD,QAAQ,SAAS,EAAE,qBAAqB,IAAI,WAAW;AACvD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,IAAI;AACzF,QAAQ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI;AAC5D,QAAQ,KAAK,EAAE,GAAG,CAAC,cAAc;AACjC,OAAO,EAAE;AACT,IAAI,CAAC;AACL,IAAI,YAAY;AAChB,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"getCells.js","sources":["../../../../src/rules2/src/table/getCells.js"],"sourcesContent":["import * as R from 'ramda';\r\nimport { getFlagsAndNotes } from './getFlagsAndNotes';\r\nimport { hasCellMetadata } from '../hasCellMetadata';\r\n\r\nconst getCellRelevantAttributes = (attributes, attributesSeries, cellAttributeIds) => R.filter(\r\n (attr) => {\r\n if (R.isNil(attr.value)) {\r\n return false;\r\n }\r\n if (R.has(attr.id, cellAttributeIds)) {\r\n return true;\r\n }\r\n const attrInSerie = R.path([attr.serieKey, attr.id], attributesSeries);\r\n return R.isNil(attrInSerie);\r\n },\r\n attributes\r\n);\r\n\r\nconst getCellCombinedSeries = (attributes, combinations) => R.reduce(\r\n (acc, comb) => {\r\n const values = R.reduce(\r\n (acc, concept) => {\r\n if (R.has(concept, comb.fixedDimValues || {})) {\r\n return R.append(R.prop(concept, comb.fixedDimValues), acc);\r\n }\r\n if (R.has(concept, attributes || {})) {\r\n return R.append(R.path([concept, 'value'], attributes), acc);\r\n }\r\n return acc;\r\n },\r\n [],\r\n comb.concepts\r\n );\r\n\r\n if (R.isEmpty(values)) {\r\n return acc;\r\n }\r\n return R.append({ ...R.pick(['id', 'name'], comb), values }, acc);\r\n },\r\n [],\r\n combinations\r\n);\r\n\r\n// combinations = { cells, layout };\r\nexport const getCells = (customAttributes, cellsAttributesId, combinations, attributesSeries, metadataCoordinates) => observations => {\r\n const attributesInLayoutCombination = R.pipe(\r\n R.propOr([], 'layout'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const attributesInCellsCombination = R.pipe(\r\n R.propOr([], 'cells'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const _customAttributes = R.over(\r\n R.lensProp('notes'),\r\n notes => R.pipe(R.concat, R.uniq)(notes || [], attributesInLayoutCombination)\r\n )(customAttributes);\r\n\r\n return R.mapObjIndexed(\r\n obs => {\r\n const isAttrCell = R.pathOr('OBS_VAL', ['indexedDimValIds', 'OBS_ATTR'], obs) !== 'OBS_VAL';\r\n const relevantAttributes = isAttrCell ? [] : getCellRelevantAttributes(obs.attributes, attributesSeries, cellsAttributesId);\r\n const flagsAndNotes = isAttrCell ? [] : getFlagsAndNotes(R.omit(attributesInCellsCombination, relevantAttributes), _customAttributes);\r\n const combinedSeries = isAttrCell ? [] : getCellCombinedSeries(relevantAttributes, combinations.cells || []);\r\n const hasAdvancedAttributes = isAttrCell\r\n ? false : R.pipe(\r\n R.omit(R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination])),\r\n res => !R.isEmpty(res)\r\n )(relevantAttributes);\r\n\r\n const advancedAttributes = R.omit(\r\n R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination]),\r\n R.filter(attr => !R.isNil(attr.value), obs.attributes), \r\n );\r\n\r\n const hasMetadata = isAttrCell ? false : hasCellMetadata(metadataCoordinates, obs.indexedDimValIds);\r\n\r\n return ({\r\n ...R.pick(['indexedDimValIds', 'key'], obs),\r\n flags: R.concat(flagsAndNotes, combinedSeries),\r\n sideProps: hasAdvancedAttributes || hasMetadata\r\n ? { hasMetadata, coordinates: obs.indexedDimValIds, advancedAttributes } : null,\r\n intValue: R.is(Number, obs.value) ? obs.value : null,\r\n value: obs.formattedValue,\r\n });\r\n },\r\n observations\r\n );\r\n};\r\n"],"names":[],"mappings":"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"}
@@ -83,5 +83,5 @@ const getLayout = (_layoutIds, dimensions, combinations, isTimeInverted) => {
83
83
  return ({ header, sections, rows });
84
84
  };
85
85
 
86
- export { getConceptsSet, getLayout, parseCombination };
86
+ export { getLayout };
87
87
  //# sourceMappingURL=getLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLayout.js","sources":["../../../../src/rules2/src/table/getLayout.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nexport const getConceptsSet = (ids, indexedCombinations, _upper) => {\n const upper = R.isNil(_upper) ? new Set([]) : _upper;\n const res = new Set([]);\n R.forEach(id => {\n if (!R.has(id, indexedCombinations)) {\n res.add(id);\n }\n else {\n const comb = R.prop(id, indexedCombinations);\n R.forEach(c => {\n if (!upper.has(c)) {\n res.add(c);\n }\n }, comb.concepts);\n }\n }, ids);\n return res;\n};\n\nexport const parseCombination = (_upperIds, _excludedIds) => (comb, indexedDimensions) => {\n const upperIds = R.isNil(_upperIds) ? new Set([]) : _upperIds;\n const excludedIds = R.isNil(_excludedIds) ? new Set([]) : _excludedIds;\n\n const { concepts, relationship } = comb;\n const dimensions = R.reduce((acc, id) => {\n if (upperIds.has(id) || !R.has(id, indexedDimensions)) {\n return acc\n }\n const dim = R.prop(id, indexedDimensions);\n return R.append(dim, acc);\n }, [], concepts);\n const excludedDep = R.find(i => excludedIds.has(i), relationship);\n if (excludedDep) {\n return dimensions;\n }\n return R.assoc('dimensions', dimensions, comb);\n};\n\nexport const getLayout = (_layoutIds, dimensions, combinations, isTimeInverted) => {\n const layoutIds = R.mergeRight(\n { header: [], sections: [], rows: [] },\n _layoutIds,\n );\n const applyInversionOnTimeDim = dim =>\n isTimePeriodDimension(dim) && isTimeInverted\n ? R.assoc('isInverted', true, dim)\n : dim;\n\n const indexedDimensions = R.reduce(\n (acc, dim) => R.assoc(dim.id, applyInversionOnTimeDim(dim), acc),\n {},\n dimensions,\n );\n \n const indexedCombinations = R.indexBy(R.prop('id'), combinations);\n const headerConceptsSet = getConceptsSet(layoutIds.header, indexedCombinations);\n const sectionsConceptsSet = getConceptsSet(layoutIds.sections, indexedCombinations);\n const rowsConceptsSet = getConceptsSet(R.concat(layoutIds.sections, layoutIds.rows), indexedCombinations);\n\n const getLayoutLevel = (_upperIds, _excludedIds) => ids => R.reduce((acc, id) => {\n if (R.has(id, indexedDimensions)) {\n const dim = R.prop(id, indexedDimensions);\n return R.append(dim, acc);\n }\n if (!R.has(id, indexedCombinations)) {\n return acc;\n }\n const comb = R.prop(id, indexedCombinations);\n const parsedCombination = parseCombination(_upperIds, _excludedIds)(comb, indexedDimensions);\n if (R.is(Array, parsedCombination)) {\n return R.concat(acc, parsedCombination);\n }\n return R.append(parsedCombination, acc);\n }, [], ids);\n \n const header = getLayoutLevel(null, rowsConceptsSet)(layoutIds.header);\n const sections = getLayoutLevel(null, headerConceptsSet)(layoutIds.sections);\n const rows = getLayoutLevel(sectionsConceptsSet, headerConceptsSet)(layoutIds.rows);\n\n return ({ header, sections, rows });\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getLayout.js","sources":["../../../../src/rules2/src/table/getLayout.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nconst getConceptsSet = (ids, indexedCombinations, _upper) => {\n const upper = R.isNil(_upper) ? new Set([]) : _upper;\n const res = new Set([]);\n R.forEach(id => {\n if (!R.has(id, indexedCombinations)) {\n res.add(id);\n }\n else {\n const comb = R.prop(id, indexedCombinations);\n R.forEach(c => {\n if (!upper.has(c)) {\n res.add(c);\n }\n }, comb.concepts);\n }\n }, ids);\n return res;\n};\n\nconst parseCombination = (_upperIds, _excludedIds) => (comb, indexedDimensions) => {\n const upperIds = R.isNil(_upperIds) ? new Set([]) : _upperIds;\n const excludedIds = R.isNil(_excludedIds) ? new Set([]) : _excludedIds;\n\n const { concepts, relationship } = comb;\n const dimensions = R.reduce((acc, id) => {\n if (upperIds.has(id) || !R.has(id, indexedDimensions)) {\n return acc\n }\n const dim = R.prop(id, indexedDimensions);\n return R.append(dim, acc);\n }, [], concepts);\n const excludedDep = R.find(i => excludedIds.has(i), relationship);\n if (excludedDep) {\n return dimensions;\n }\n return R.assoc('dimensions', dimensions, comb);\n};\n\nexport const getLayout = (_layoutIds, dimensions, combinations, isTimeInverted) => {\n const layoutIds = R.mergeRight(\n { header: [], sections: [], rows: [] },\n _layoutIds,\n );\n const applyInversionOnTimeDim = dim =>\n isTimePeriodDimension(dim) && isTimeInverted\n ? R.assoc('isInverted', true, dim)\n : dim;\n\n const indexedDimensions = R.reduce(\n (acc, dim) => R.assoc(dim.id, applyInversionOnTimeDim(dim), acc),\n {},\n dimensions,\n );\n \n const indexedCombinations = R.indexBy(R.prop('id'), combinations);\n const headerConceptsSet = getConceptsSet(layoutIds.header, indexedCombinations);\n const sectionsConceptsSet = getConceptsSet(layoutIds.sections, indexedCombinations);\n const rowsConceptsSet = getConceptsSet(R.concat(layoutIds.sections, layoutIds.rows), indexedCombinations);\n\n const getLayoutLevel = (_upperIds, _excludedIds) => ids => R.reduce((acc, id) => {\n if (R.has(id, indexedDimensions)) {\n const dim = R.prop(id, indexedDimensions);\n return R.append(dim, acc);\n }\n if (!R.has(id, indexedCombinations)) {\n return acc;\n }\n const comb = R.prop(id, indexedCombinations);\n const parsedCombination = parseCombination(_upperIds, _excludedIds)(comb, indexedDimensions);\n if (R.is(Array, parsedCombination)) {\n return R.concat(acc, parsedCombination);\n }\n return R.append(parsedCombination, acc);\n }, [], ids);\n \n const header = getLayoutLevel(null, rowsConceptsSet)(layoutIds.header);\n const sections = getLayoutLevel(null, headerConceptsSet)(layoutIds.sections);\n const rows = getLayoutLevel(sectionsConceptsSet, headerConceptsSet)(layoutIds.rows);\n\n return ({ header, sections, rows });\n};\n"],"names":[],"mappings":"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"}
@@ -313,5 +313,5 @@ const getTableLayoutIds = (
313
313
  return injectRemainingDimensionsInLayout(nextLayout, remaining, indexedCombinations, layoutDimsIds);
314
314
  };
315
315
 
316
- export { getCombinationLevelCompatibility, getCombinationsNotInLayout, getLayoutCombinations, getLayoutDimsIds, getLayoutLevelRelationship, getLayoutRelationships, getTableLayoutIds, indexCombsRelationships, injectCombination, injectCombinationsInLayout, injectRemainingDimensionsInLayout };
316
+ export { getTableLayoutIds, injectCombinationsInLayout };
317
317
  //# sourceMappingURL=getTableLayoutIds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTableLayoutIds.js","sources":["../../../../src/rules2/src/table/getTableLayoutIds.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isTimePeriodDimension, isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nexport const getCombinationsNotInLayout = (combinations, layoutIds) => {\n const { header=[], sections=[], rows=[] } = layoutIds;\n const idsInLayout = new Set([...header, ...sections, ...rows]);\n return R.reject(comb => idsInLayout.has(comb.id), combinations);\n};\n\nexport const indexCombsRelationships = (combinations) => R.reduce((acc, comb) => {\n const { id, relationship=[] } = comb;\n return R.assoc(id, relationship, acc);\n}, {}, combinations);\n\nexport const getLayoutLevelRelationship = indexedRelationships => ids => R.reduce((acc, id) => {\n if (R.has(id, indexedRelationships)) {\n return R.concat(acc, R.prop(id, indexedRelationships));\n }\n return R.append(id, acc);\n}, [], ids);\n\nexport const getLayoutRelationships = (indexedRelationships, layoutIds) => R.map(\n getLayoutLevelRelationship(indexedRelationships),\n layoutIds\n);\n\nexport const injectCombination = combination => ids => {\n const { id, concepts=[] } = combination;\n const conceptsSet = new Set(concepts);\n let inject = true;\n const refined = R.reduce((acc, i) => {\n if (!conceptsSet.has(i)) {\n return R.append(i, acc);\n }\n if (inject) {\n inject = false;\n return R.append(id, acc);\n }\n return acc;\n }, [], ids);\n return inject ? R.append(id, refined) : refined;\n};\n\nexport const getCombinationLevelCompatibility = (layoutRelationships, combination) => {\n const { relationship=[] } = combination;\n const idsInHeaderSet = new Set(layoutRelationships.header);\n const idsInSectionsSet = new Set(layoutRelationships.sections);\n const idsInRowsSet = new Set(layoutRelationships.rows);\n const [idsInHeader, rest] = R.partition(\n i => idsInHeaderSet.has(i),\n relationship\n );\n const [idsInSections, idsInRows] = R.reduce((_acc, id) => {\n if (idsInSectionsSet.has(id))\n return R.over(R.lensIndex(0), R.append(id), _acc);\n if (idsInRowsSet.has(id))\n return R.over(R.lensIndex(1), R.append(id), _acc);\n return R.over(R.lensIndex(2), R.append(id), _acc);\n }, [[], [], []], rest);\n if (!R.isEmpty(idsInHeader) && R.isEmpty(idsInSections) && R.isEmpty(idsInRows)) {\n return 'header';\n }\n if (!R.isEmpty(idsInHeader)) {\n return null;\n }\n if (!R.isEmpty(idsInSections) && R.isEmpty(idsInRows)) {\n return 'sections';\n }\n if (!R.isEmpty(idsInRows)) {\n return 'rows';\n }\n return 'blank';\n}\n\nconst filterLayoutIds = (indexedCombinations, layoutDimsIds, obsAttributes) => (layoutIds) => {\n const layoutConcepts = R.map(\n R.reduce((acc, id) => {\n if (R.has(id, indexedCombinations)) {\n return R.concat(acc, R.path([id, 'concepts'], indexedCombinations));\n }\n return R.append(id, acc);\n }, []),\n layoutIds\n );\n\n return R.mapObjIndexed(\n (ids, level) => R.filter(id => {\n if (id === 'OBS_ATTRIBUTES') {\n return !R.isEmpty(obsAttributes);\n }\n if (R.has(id, indexedCombinations)) {\n const comb = R.prop(id, indexedCombinations);\n const dims = R.filter(i => layoutDimsIds.has(i), comb.concepts);\n if (!R.isEmpty(dims)) {\n return true;\n }\n const oppositeIds = level === 'header'\n ? R.concat(R.prop('sections', layoutConcepts), R.prop('rows', layoutConcepts))\n : R.prop('header', layoutConcepts);\n return R.isEmpty(R.intersection(comb.relationship, oppositeIds));\n }\n return layoutDimsIds.has(id);\n }, ids),\n layoutIds\n );\n};\n\nexport const injectCombinationsInLayout = (combinations, layoutIds, defaultLayoutIds = {}) => {\n const notInLayoutCombs = getCombinationsNotInLayout(combinations, layoutIds);\n if (R.isEmpty(notInLayoutCombs)) {\n return layoutIds;\n }\n const indexedCombsRelationships = indexCombsRelationships(combinations);\n let layoutRelationships = getLayoutRelationships(indexedCombsRelationships, layoutIds);\n const defaultLayoutRelationships = getLayoutRelationships(indexedCombsRelationships, defaultLayoutIds);\n return R.reduce((acc, comb) => {\n let levelCompatibility = getCombinationLevelCompatibility(layoutRelationships, comb);\n if (R.isNil(levelCompatibility)) {\n return acc;\n }\n if (R.equals('blank', levelCompatibility)) {\n levelCompatibility = getCombinationLevelCompatibility(defaultLayoutRelationships, comb);\n if (R.isNil(levelCompatibility)) {\n return acc;\n }\n levelCompatibility = R.equals('blank', levelCompatibility) ? 'rows' : levelCompatibility;\n }\n\n layoutRelationships[levelCompatibility] = R.concat(layoutRelationships[levelCompatibility], comb.relationship);\n const ids = injectCombination(comb)(acc[levelCompatibility]);\n return R.assoc(levelCompatibility, ids)(acc);\n }, layoutIds, notInLayoutCombs);\n};\n\nexport const getLayoutDimsIds = dimensions => R.reduce(\n (acc, d) => (d.header ? acc : acc.add(d.id)),\n new Set([]),\n dimensions,\n);\n\nexport const getLayoutCombinations = (combinations, layoutDimsIds, attributes) => {\n const indexedAttributes = R.indexBy(R.prop('id'), attributes);\n return R.reduce(\n (acc, comb) => {\n const { layoutConcepts, relationship } = R.reduce(\n (_acc, concept) => {\n if (layoutDimsIds.has(concept)) {\n return R.map(R.append(concept), _acc);\n }\n if (R.has(concept, indexedAttributes)) {\n const attr = R.prop(concept, indexedAttributes);\n return attr.series\n ? {\n ..._acc,\n relationship: R.concat(_acc.relationship, attr.relationship),\n }\n : _acc;\n }\n return _acc;\n },\n { layoutConcepts: [], relationship: [] },\n comb.concepts || [],\n );\n if (R.isEmpty(relationship)) {\n return acc;\n }\n return R.append({ ...comb, relationship, concepts: layoutConcepts }, acc);\n },\n [],\n combinations,\n );\n};\n\nconst extractConcepts = (ids, indexedCombinations, layoutDimsIds) => {\n const entry = R.find(id => {\n if (R.has(id, indexedCombinations)) {\n const dimId = R.find(i => layoutDimsIds.has(i), R.pathOr([], [id, 'concepts'], indexedCombinations));\n return !R.isNil(dimId);\n }\n return true;\n }, ids);\n\n const getRelationship = id => {\n if (R.has(id, indexedCombinations)) {\n return R.append(id, R.path([id, 'relationship'], indexedCombinations));\n }\n return [id];\n };\n let indexedRels = R.reduce((acc, id) =>\n R.assoc(id, getRelationship(id), acc)\n , {}, ids);\n \n let relationship = [entry];\n while (!R.isEmpty(indexedRels)) {\n const related = R.pickBy(rels => !R.isEmpty(R.intersection(relationship, rels)), indexedRels);\n if (R.isEmpty(related)) {\n break;\n }\n indexedRels = R.omit(R.keys(related), indexedRels);\n relationship = R.concat(relationship, R.unnest(R.values(related)));\n }\n const set = new Set(relationship);\n return R.partition(id => set.has(id), ids);\n}\n\nexport const injectRemainingDimensionsInLayout = (layoutIds, remainingDims, indexedCombinations, layoutDimsIds) => {\n let _layout = layoutIds;\n let _remaining = remainingDims;\n\n const dimInRows = R.find(id => {\n if (layoutDimsIds.has(id)) {\n return true;\n }\n const dimId = R.find(i => layoutDimsIds.has(i), R.pathOr([], [id, 'concepts'], indexedCombinations));\n return !R.isNil(dimId);\n }, _layout.rows);\n\n if (R.isNil(dimInRows)) {\n if (R.isEmpty(_remaining)) {\n const toTakeIn = R.isEmpty(_layout.sections) ? 'header' : 'sections';\n const [extracted, remains] = extractConcepts(R.prop(toTakeIn, _layout), indexedCombinations, layoutDimsIds);\n _layout = ({ ..._layout, rows: R.concat(_layout.rows, extracted), [toTakeIn]: remains });\n }\n else {\n _layout = R.over(R.lensProp('rows'), R.append(R.head(_remaining)))(_layout);\n _remaining = R.tail(_remaining)\n }\n }\n if (!R.isEmpty(_remaining)) {\n const hasNoHeader = R.isEmpty(_layout.header);\n const firstRemaining = R.head(_remaining);\n _remaining = hasNoHeader ? R.tail(_remaining) : _remaining;\n _layout = {\n ..._layout,\n sections: R.concat(_layout.sections, _remaining),\n header: hasNoHeader ? [firstRemaining] : _layout.header,\n };\n }\n return _layout;\n};\n\nexport const getTableLayoutIds = (\n defaultLayoutIds,\n currentLayoutIds,\n dimensions,\n attributes,\n combinations\n) => {\n const layoutDimsIds = getLayoutDimsIds(dimensions);\n const layoutCombinations = getLayoutCombinations(\n combinations,\n layoutDimsIds,\n attributes,\n );\n const isBlank = R.pipe(R.values, R.all(R.isEmpty))(currentLayoutIds);\n\n const combinationsConcepts = R.pipe(R.pluck('_concepts'), R.unnest, ids => new Set(ids))(combinations);\n const obsAttributes = R.filter(a => \n a.series && R.isEmpty(a.relationship || []) && a.display && !combinationsConcepts.has(a)\n , attributes);\n const indexedCombinations = R.indexBy(R.prop('id'), layoutCombinations);\n const filteredLayoutIds = filterLayoutIds(indexedCombinations, layoutDimsIds, obsAttributes)\n (isBlank ? defaultLayoutIds : currentLayoutIds);\n\n const layoutWithCombs = injectCombinationsInLayout(layoutCombinations, filteredLayoutIds, defaultLayoutIds);\n const layoutRelationshipsSets = R.map(R.pipe(\n ids => R.pick(ids, indexedCombinations),\n R.values,\n R.pluck('relationship'),\n R.unnest,\n i => new Set(i)\n ), layoutWithCombs);\n const layoutConceptsSets = R.pipe(\n R.map(\n R.reduce((acc, id) => {\n if (R.has(id, indexedCombinations)) {\n return R.concat(acc, R.path([id, 'concepts'], indexedCombinations));\n }\n return R.append(id, acc);\n }, []),\n ),\n R.values,\n R.unnest,\n ids => new Set(ids)\n )(layoutWithCombs);\n const defaultLayoutConceptsSets = R.map(\n ids => new Set(ids),\n defaultLayoutIds\n );\n\n const { nextLayout, remaining } = R.reduce((acc, dim) => {\n if (layoutConceptsSets.has(dim.id) || dim.header) {\n return acc;\n }\n if (layoutRelationshipsSets.header.has(dim.id) || defaultLayoutConceptsSets.header.has(dim.id)) {\n return R.over(R.lensPath(['nextLayout', 'header']), R.append(dim.id))(acc);\n }\n if (layoutRelationshipsSets.sections.has(dim.id) || defaultLayoutConceptsSets.sections.has(dim.id)) {\n return R.over(R.lensPath(['nextLayout', 'sections']), R.append(dim.id))(acc);\n }\n if (layoutRelationshipsSets.rows.has(dim.id) || defaultLayoutConceptsSets.rows.has(dim.id)) {\n return R.over(R.lensPath(['nextLayout','rows']), R.append(dim.id))(acc);\n }\n if (isTimePeriodDimension(dim)) {\n return R.over(R.lensPath(['nextLayout','header']), R.append(dim.id))(acc);\n }\n if (isRefAreaDimension(dim)) {\n return R.over(R.lensPath(['nextLayout','rows']), R.append(dim.id))(acc);\n }\n return R.over(R.lensProp('remaining'), R.append(dim.id))(acc);\n }, { nextLayout: layoutWithCombs, remaining: [] }, dimensions);\n\n return injectRemainingDimensionsInLayout(nextLayout, remaining, indexedCombinations, layoutDimsIds);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTableLayoutIds.js","sources":["../../../../src/rules2/src/table/getTableLayoutIds.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isTimePeriodDimension, isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nconst getCombinationsNotInLayout = (combinations, layoutIds) => {\n const { header=[], sections=[], rows=[] } = layoutIds;\n const idsInLayout = new Set([...header, ...sections, ...rows]);\n return R.reject(comb => idsInLayout.has(comb.id), combinations);\n};\n\nconst indexCombsRelationships = (combinations) => R.reduce((acc, comb) => {\n const { id, relationship=[] } = comb;\n return R.assoc(id, relationship, acc);\n}, {}, combinations);\n\nconst getLayoutLevelRelationship = indexedRelationships => ids => R.reduce((acc, id) => {\n if (R.has(id, indexedRelationships)) {\n return R.concat(acc, R.prop(id, indexedRelationships));\n }\n return R.append(id, acc);\n}, [], ids);\n\nconst getLayoutRelationships = (indexedRelationships, layoutIds) => R.map(\n getLayoutLevelRelationship(indexedRelationships),\n layoutIds\n);\n\nconst injectCombination = combination => ids => {\n const { id, concepts=[] } = combination;\n const conceptsSet = new Set(concepts);\n let inject = true;\n const refined = R.reduce((acc, i) => {\n if (!conceptsSet.has(i)) {\n return R.append(i, acc);\n }\n if (inject) {\n inject = false;\n return R.append(id, acc);\n }\n return acc;\n }, [], ids);\n return inject ? R.append(id, refined) : refined;\n};\n\nconst getCombinationLevelCompatibility = (layoutRelationships, combination) => {\n const { relationship=[] } = combination;\n const idsInHeaderSet = new Set(layoutRelationships.header);\n const idsInSectionsSet = new Set(layoutRelationships.sections);\n const idsInRowsSet = new Set(layoutRelationships.rows);\n const [idsInHeader, rest] = R.partition(\n i => idsInHeaderSet.has(i),\n relationship\n );\n const [idsInSections, idsInRows] = R.reduce((_acc, id) => {\n if (idsInSectionsSet.has(id))\n return R.over(R.lensIndex(0), R.append(id), _acc);\n if (idsInRowsSet.has(id))\n return R.over(R.lensIndex(1), R.append(id), _acc);\n return R.over(R.lensIndex(2), R.append(id), _acc);\n }, [[], [], []], rest);\n if (!R.isEmpty(idsInHeader) && R.isEmpty(idsInSections) && R.isEmpty(idsInRows)) {\n return 'header';\n }\n if (!R.isEmpty(idsInHeader)) {\n return null;\n }\n if (!R.isEmpty(idsInSections) && R.isEmpty(idsInRows)) {\n return 'sections';\n }\n if (!R.isEmpty(idsInRows)) {\n return 'rows';\n }\n return 'blank';\n}\n\nconst filterLayoutIds = (indexedCombinations, layoutDimsIds, obsAttributes) => (layoutIds) => {\n const layoutConcepts = R.map(\n R.reduce((acc, id) => {\n if (R.has(id, indexedCombinations)) {\n return R.concat(acc, R.path([id, 'concepts'], indexedCombinations));\n }\n return R.append(id, acc);\n }, []),\n layoutIds\n );\n\n return R.mapObjIndexed(\n (ids, level) => R.filter(id => {\n if (id === 'OBS_ATTRIBUTES') {\n return !R.isEmpty(obsAttributes);\n }\n if (R.has(id, indexedCombinations)) {\n const comb = R.prop(id, indexedCombinations);\n const dims = R.filter(i => layoutDimsIds.has(i), comb.concepts);\n if (!R.isEmpty(dims)) {\n return true;\n }\n const oppositeIds = level === 'header'\n ? R.concat(R.prop('sections', layoutConcepts), R.prop('rows', layoutConcepts))\n : R.prop('header', layoutConcepts);\n return R.isEmpty(R.intersection(comb.relationship, oppositeIds));\n }\n return layoutDimsIds.has(id);\n }, ids),\n layoutIds\n );\n};\n\nexport const injectCombinationsInLayout = (combinations, layoutIds, defaultLayoutIds = {}) => {\n const notInLayoutCombs = getCombinationsNotInLayout(combinations, layoutIds);\n if (R.isEmpty(notInLayoutCombs)) {\n return layoutIds;\n }\n const indexedCombsRelationships = indexCombsRelationships(combinations);\n let layoutRelationships = getLayoutRelationships(indexedCombsRelationships, layoutIds);\n const defaultLayoutRelationships = getLayoutRelationships(indexedCombsRelationships, defaultLayoutIds);\n return R.reduce((acc, comb) => {\n let levelCompatibility = getCombinationLevelCompatibility(layoutRelationships, comb);\n if (R.isNil(levelCompatibility)) {\n return acc;\n }\n if (R.equals('blank', levelCompatibility)) {\n levelCompatibility = getCombinationLevelCompatibility(defaultLayoutRelationships, comb);\n if (R.isNil(levelCompatibility)) {\n return acc;\n }\n levelCompatibility = R.equals('blank', levelCompatibility) ? 'rows' : levelCompatibility;\n }\n\n layoutRelationships[levelCompatibility] = R.concat(layoutRelationships[levelCompatibility], comb.relationship);\n const ids = injectCombination(comb)(acc[levelCompatibility]);\n return R.assoc(levelCompatibility, ids)(acc);\n }, layoutIds, notInLayoutCombs);\n};\n\nconst getLayoutDimsIds = dimensions => R.reduce(\n (acc, d) => (d.header ? acc : acc.add(d.id)),\n new Set([]),\n dimensions,\n);\n\nconst getLayoutCombinations = (combinations, layoutDimsIds, attributes) => {\n const indexedAttributes = R.indexBy(R.prop('id'), attributes);\n return R.reduce(\n (acc, comb) => {\n const { layoutConcepts, relationship } = R.reduce(\n (_acc, concept) => {\n if (layoutDimsIds.has(concept)) {\n return R.map(R.append(concept), _acc);\n }\n if (R.has(concept, indexedAttributes)) {\n const attr = R.prop(concept, indexedAttributes);\n return attr.series\n ? {\n ..._acc,\n relationship: R.concat(_acc.relationship, attr.relationship),\n }\n : _acc;\n }\n return _acc;\n },\n { layoutConcepts: [], relationship: [] },\n comb.concepts || [],\n );\n if (R.isEmpty(relationship)) {\n return acc;\n }\n return R.append({ ...comb, relationship, concepts: layoutConcepts }, acc);\n },\n [],\n combinations,\n );\n};\n\nconst extractConcepts = (ids, indexedCombinations, layoutDimsIds) => {\n const entry = R.find(id => {\n if (R.has(id, indexedCombinations)) {\n const dimId = R.find(i => layoutDimsIds.has(i), R.pathOr([], [id, 'concepts'], indexedCombinations));\n return !R.isNil(dimId);\n }\n return true;\n }, ids);\n\n const getRelationship = id => {\n if (R.has(id, indexedCombinations)) {\n return R.append(id, R.path([id, 'relationship'], indexedCombinations));\n }\n return [id];\n };\n let indexedRels = R.reduce((acc, id) =>\n R.assoc(id, getRelationship(id), acc)\n , {}, ids);\n \n let relationship = [entry];\n while (!R.isEmpty(indexedRels)) {\n const related = R.pickBy(rels => !R.isEmpty(R.intersection(relationship, rels)), indexedRels);\n if (R.isEmpty(related)) {\n break;\n }\n indexedRels = R.omit(R.keys(related), indexedRels);\n relationship = R.concat(relationship, R.unnest(R.values(related)));\n }\n const set = new Set(relationship);\n return R.partition(id => set.has(id), ids);\n}\n\nconst injectRemainingDimensionsInLayout = (layoutIds, remainingDims, indexedCombinations, layoutDimsIds) => {\n let _layout = layoutIds;\n let _remaining = remainingDims;\n\n const dimInRows = R.find(id => {\n if (layoutDimsIds.has(id)) {\n return true;\n }\n const dimId = R.find(i => layoutDimsIds.has(i), R.pathOr([], [id, 'concepts'], indexedCombinations));\n return !R.isNil(dimId);\n }, _layout.rows);\n\n if (R.isNil(dimInRows)) {\n if (R.isEmpty(_remaining)) {\n const toTakeIn = R.isEmpty(_layout.sections) ? 'header' : 'sections';\n const [extracted, remains] = extractConcepts(R.prop(toTakeIn, _layout), indexedCombinations, layoutDimsIds);\n _layout = ({ ..._layout, rows: R.concat(_layout.rows, extracted), [toTakeIn]: remains });\n }\n else {\n _layout = R.over(R.lensProp('rows'), R.append(R.head(_remaining)))(_layout);\n _remaining = R.tail(_remaining)\n }\n }\n if (!R.isEmpty(_remaining)) {\n const hasNoHeader = R.isEmpty(_layout.header);\n const firstRemaining = R.head(_remaining);\n _remaining = hasNoHeader ? R.tail(_remaining) : _remaining;\n _layout = {\n ..._layout,\n sections: R.concat(_layout.sections, _remaining),\n header: hasNoHeader ? [firstRemaining] : _layout.header,\n };\n }\n return _layout;\n};\n\nexport const getTableLayoutIds = (\n defaultLayoutIds,\n currentLayoutIds,\n dimensions,\n attributes,\n combinations\n) => {\n const layoutDimsIds = getLayoutDimsIds(dimensions);\n const layoutCombinations = getLayoutCombinations(\n combinations,\n layoutDimsIds,\n attributes,\n );\n const isBlank = R.pipe(R.values, R.all(R.isEmpty))(currentLayoutIds);\n\n const combinationsConcepts = R.pipe(R.pluck('_concepts'), R.unnest, ids => new Set(ids))(combinations);\n const obsAttributes = R.filter(a => \n a.series && R.isEmpty(a.relationship || []) && a.display && !combinationsConcepts.has(a)\n , attributes);\n const indexedCombinations = R.indexBy(R.prop('id'), layoutCombinations);\n const filteredLayoutIds = filterLayoutIds(indexedCombinations, layoutDimsIds, obsAttributes)\n (isBlank ? defaultLayoutIds : currentLayoutIds);\n\n const layoutWithCombs = injectCombinationsInLayout(layoutCombinations, filteredLayoutIds, defaultLayoutIds);\n const layoutRelationshipsSets = R.map(R.pipe(\n ids => R.pick(ids, indexedCombinations),\n R.values,\n R.pluck('relationship'),\n R.unnest,\n i => new Set(i)\n ), layoutWithCombs);\n const layoutConceptsSets = R.pipe(\n R.map(\n R.reduce((acc, id) => {\n if (R.has(id, indexedCombinations)) {\n return R.concat(acc, R.path([id, 'concepts'], indexedCombinations));\n }\n return R.append(id, acc);\n }, []),\n ),\n R.values,\n R.unnest,\n ids => new Set(ids)\n )(layoutWithCombs);\n const defaultLayoutConceptsSets = R.map(\n ids => new Set(ids),\n defaultLayoutIds\n );\n\n const { nextLayout, remaining } = R.reduce((acc, dim) => {\n if (layoutConceptsSets.has(dim.id) || dim.header) {\n return acc;\n }\n if (layoutRelationshipsSets.header.has(dim.id) || defaultLayoutConceptsSets.header.has(dim.id)) {\n return R.over(R.lensPath(['nextLayout', 'header']), R.append(dim.id))(acc);\n }\n if (layoutRelationshipsSets.sections.has(dim.id) || defaultLayoutConceptsSets.sections.has(dim.id)) {\n return R.over(R.lensPath(['nextLayout', 'sections']), R.append(dim.id))(acc);\n }\n if (layoutRelationshipsSets.rows.has(dim.id) || defaultLayoutConceptsSets.rows.has(dim.id)) {\n return R.over(R.lensPath(['nextLayout','rows']), R.append(dim.id))(acc);\n }\n if (isTimePeriodDimension(dim)) {\n return R.over(R.lensPath(['nextLayout','header']), R.append(dim.id))(acc);\n }\n if (isRefAreaDimension(dim)) {\n return R.over(R.lensPath(['nextLayout','rows']), R.append(dim.id))(acc);\n }\n return R.over(R.lensProp('remaining'), R.append(dim.id))(acc);\n }, { nextLayout: layoutWithCombs, remaining: [] }, dimensions);\n\n return injectRemainingDimensionsInLayout(nextLayout, remaining, indexedCombinations, layoutDimsIds);\n};\n"],"names":[],"mappings":"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"}
@@ -72,7 +72,6 @@ const getTableProps = ({ data, layoutIds, customAttributes, limit, isTimeInverte
72
72
  const indexedCombinations = getIndexedCombinationsByDisplay(layout, seriesCombinations);
73
73
  const cellsMetadataCoordinates = getCellsMetadataCoordinates(metadataCoordinates, oneValueDimensions, layoutDimsIds);
74
74
  const cells = getCells(customAttributes, cellsAttributesIds, indexedCombinations, attributesSeries, cellsMetadataCoordinates)(dupObs);
75
- //console.log({ cellsAttributesIds, customAttributes, indexedCombinations });
76
75
 
77
76
  return ({
78
77
  ...layoutData,