@sis-cc/dotstatsuite-components 22.6.0 → 23.1.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 (199) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bridge-d3-react/src/index.js +1 -2
  3. package/dist/bridge-d3-react/src/index.js.map +1 -1
  4. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +2 -2
  5. package/dist/node_modules/css-vendor/dist/css-vendor.esm.js +1 -1
  6. package/dist/node_modules/jss/dist/jss.esm.js +1 -1
  7. package/dist/rules/src/chart/getChartOptions.js +1 -1
  8. package/dist/rules/src/chart/getChartOptions.js.map +1 -1
  9. package/dist/rules/src/constants.js +1 -35
  10. package/dist/rules/src/constants.js.map +1 -1
  11. package/dist/rules/src/dimension-utils.js +26 -24
  12. package/dist/rules/src/dimension-utils.js.map +1 -1
  13. package/dist/rules/src/factories/choro-series.js +43 -32
  14. package/dist/rules/src/factories/choro-series.js.map +1 -1
  15. package/dist/rules/src/factories/focus.js +20 -0
  16. package/dist/rules/src/factories/focus.js.map +1 -0
  17. package/dist/rules/src/factories/getChartSeries.js +11 -0
  18. package/dist/rules/src/factories/getChartSeries.js.map +1 -0
  19. package/dist/rules/src/factories/sample-focus.js +14 -18
  20. package/dist/rules/src/factories/sample-focus.js.map +1 -1
  21. package/dist/rules/src/factories/sample-series.js +20 -20
  22. package/dist/rules/src/factories/sample-series.js.map +1 -1
  23. package/dist/rules/src/factories/scatter-focus.js +21 -35
  24. package/dist/rules/src/factories/scatter-focus.js.map +1 -1
  25. package/dist/rules/src/factories/scatter-series.js +5 -5
  26. package/dist/rules/src/factories/scatter-series.js.map +1 -1
  27. package/dist/rules/src/factories/series.js +48 -0
  28. package/dist/rules/src/factories/series.js.map +1 -0
  29. package/dist/rules/src/factories/stacked-series.js +6 -7
  30. package/dist/rules/src/factories/stacked-series.js.map +1 -1
  31. package/dist/rules/src/factories/symbol-series.js +39 -46
  32. package/dist/rules/src/factories/symbol-series.js.map +1 -1
  33. package/dist/rules/src/factories/timeline-focus.js +10 -14
  34. package/dist/rules/src/factories/timeline-focus.js.map +1 -1
  35. package/dist/rules/src/factories/timeline-series.js +37 -41
  36. package/dist/rules/src/factories/timeline-series.js.map +1 -1
  37. package/dist/rules/src/get-values-enhanced.js +6 -0
  38. package/dist/rules/src/get-values-enhanced.js.map +1 -1
  39. package/dist/rules/src/index.js +6 -371
  40. package/dist/rules/src/index.js.map +1 -1
  41. package/dist/rules/src/layout.js +4 -2
  42. package/dist/rules/src/layout.js.map +1 -1
  43. package/dist/rules/src/observation-formater.js +8 -14
  44. package/dist/rules/src/observation-formater.js.map +1 -1
  45. package/dist/rules/src/properties/focus.js +51 -3
  46. package/dist/rules/src/properties/focus.js.map +1 -1
  47. package/dist/rules/src/properties/getHeaderProps.js +2 -53
  48. package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
  49. package/dist/rules/src/properties/index.js +7 -98
  50. package/dist/rules/src/properties/index.js.map +1 -1
  51. package/dist/rules/src/properties/linear.js +5 -5
  52. package/dist/rules/src/properties/linear.js.map +1 -1
  53. package/dist/rules/src/properties/scatter.js +5 -5
  54. package/dist/rules/src/properties/scatter.js.map +1 -1
  55. package/dist/rules/src/properties/stacked.js +5 -7
  56. package/dist/rules/src/properties/stacked.js.map +1 -1
  57. package/dist/rules/src/properties/symbol.js +1 -1
  58. package/dist/rules/src/properties/symbol.js.map +1 -1
  59. package/dist/rules/src/properties/utils.js +11 -12
  60. package/dist/rules/src/properties/utils.js.map +1 -1
  61. package/dist/rules/src/sdmx-data/index.js +2 -27
  62. package/dist/rules/src/sdmx-data/index.js.map +1 -1
  63. package/dist/rules2/src/combinedValuesDisplay.js +2 -2
  64. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
  65. package/dist/rules2/src/getAttributes.js +37 -0
  66. package/dist/rules2/src/getAttributes.js.map +1 -0
  67. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  68. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
  69. package/dist/rules2/src/getHeaderCombinations.js +1 -1
  70. package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
  71. package/dist/rules2/src/getHeaderSubtitle.js +1 -1
  72. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
  73. package/dist/rules2/src/getHeaderTitle.js +1 -1
  74. package/dist/rules2/src/getHeaderTitle.js.map +1 -1
  75. package/dist/rules2/src/getMetadataCoordinates.js +1 -1
  76. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
  77. package/dist/rules2/src/getNotDisplayedIds.js +1 -1
  78. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
  79. package/dist/rules2/src/index.js +1 -0
  80. package/dist/rules2/src/index.js.map +1 -1
  81. package/dist/rules2/src/parseAttributes.js +2 -2
  82. package/dist/rules2/src/parseAttributes.js.map +1 -1
  83. package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
  84. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
  85. package/dist/rules2/src/parseMetadataSeries.js +1 -1
  86. package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
  87. package/dist/rules2/src/prepareData.js +10 -3
  88. package/dist/rules2/src/prepareData.js.map +1 -1
  89. package/dist/rules2/src/refineDimensions.js +53 -8
  90. package/dist/rules2/src/refineDimensions.js.map +1 -1
  91. package/dist/rules2/src/table/getCells.js +1 -1
  92. package/dist/rules2/src/table/getCells.js.map +1 -1
  93. package/dist/rules2/src/table/getLayout.js +1 -1
  94. package/dist/rules2/src/table/getLayout.js.map +1 -1
  95. package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
  96. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
  97. package/dist/rules2/src/table/getTableProps.js +0 -1
  98. package/dist/rules2/src/table/getTableProps.js.map +1 -1
  99. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
  100. package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
  101. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
  102. package/dist/rules2/src/utils.js.map +1 -1
  103. package/dist/viewer/src/chart.js +13 -2
  104. package/dist/viewer/src/chart.js.map +1 -1
  105. package/dist/viewer/src/legends/FocusLegend.js +1 -1
  106. package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
  107. package/package.json +6 -5
  108. package/src/bridge-d3-react/src/index.js +0 -1
  109. package/src/rules/src/chart/getChartOptions.js +2 -2
  110. package/src/rules/src/constants.js +0 -35
  111. package/src/rules/src/dimension-utils.js +25 -23
  112. package/src/rules/src/factories/choro-series.js +41 -30
  113. package/src/rules/src/factories/focus.js +17 -0
  114. package/src/rules/src/factories/getChartSeries.js +8 -0
  115. package/src/rules/src/factories/sample-focus.js +14 -18
  116. package/src/rules/src/factories/sample-series.js +20 -20
  117. package/src/rules/src/factories/scatter-focus.js +22 -36
  118. package/src/rules/src/factories/scatter-series.js +8 -8
  119. package/src/rules/src/factories/series.js +45 -0
  120. package/src/rules/src/factories/stacked-series.js +4 -5
  121. package/src/rules/src/factories/symbol-series.js +37 -44
  122. package/src/rules/src/factories/timeline-focus.js +10 -14
  123. package/src/rules/src/factories/timeline-series.js +35 -39
  124. package/src/rules/src/get-values-enhanced.js +6 -0
  125. package/src/rules/src/index.js +7 -384
  126. package/src/rules/src/layout.js +4 -2
  127. package/src/rules/src/observation-formater.js +14 -20
  128. package/src/rules/src/properties/focus.js +50 -2
  129. package/src/rules/src/properties/getHeaderProps.js +1 -53
  130. package/src/rules/src/properties/index.js +2 -93
  131. package/src/rules/src/properties/linear.js +2 -2
  132. package/src/rules/src/properties/scatter.js +4 -4
  133. package/src/rules/src/properties/stacked.js +4 -6
  134. package/src/rules/src/properties/symbol.js +0 -1
  135. package/src/rules/src/properties/utils.js +11 -21
  136. package/src/rules/src/sdmx-data/index.js +2 -31
  137. package/src/rules2/src/combinedValuesDisplay.js +2 -2
  138. package/src/rules2/src/getAttributes.js +34 -0
  139. package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  140. package/src/rules2/src/getHeaderCombinations.js +1 -1
  141. package/src/rules2/src/getHeaderSubtitle.js +2 -2
  142. package/src/rules2/src/getHeaderTitle.js +1 -1
  143. package/src/rules2/src/getMetadataCoordinates.js +1 -1
  144. package/src/rules2/src/getNotDisplayedIds.js +1 -1
  145. package/src/rules2/src/index.js +1 -0
  146. package/src/rules2/src/parseAttributes.js +2 -2
  147. package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
  148. package/src/rules2/src/parseMetadataSeries.js +1 -1
  149. package/src/rules2/src/prepareData.js +10 -3
  150. package/src/rules2/src/refineDimensions.js +53 -8
  151. package/src/rules2/src/table/getCells.js +2 -2
  152. package/src/rules2/src/table/getLayout.js +2 -2
  153. package/src/rules2/src/table/getTableLayoutIds.js +9 -9
  154. package/src/rules2/src/table/getTableProps.js +0 -1
  155. package/src/rules2/src/table/parseValueHierarchy.js +0 -7
  156. package/src/rules2/src/table/refineLayoutSize2.js +5 -5
  157. package/src/rules2/src/utils.js +0 -11
  158. package/src/viewer/src/app/leg.js +0 -1
  159. package/src/viewer/src/chart.jsx +23 -1
  160. package/src/viewer/src/legends/FocusLegend.jsx +1 -1
  161. package/dist/rules/src/factories/scatter-dimension.js +0 -35
  162. package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
  163. package/dist/rules/src/factories/stacked-dimension.js +0 -32
  164. package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
  165. package/dist/rules/src/factories/symbol-dimension.js +0 -32
  166. package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
  167. package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
  168. package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
  169. package/dist/rules/src/header/getHeaderUnits.js +0 -21
  170. package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
  171. package/dist/rules/src/header/getSubtitleFlags.js +0 -47
  172. package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
  173. package/dist/rules/src/header/getTitleFlags.js +0 -12
  174. package/dist/rules/src/header/getTitleFlags.js.map +0 -1
  175. package/dist/rules/src/properties/errors.js +0 -22
  176. package/dist/rules/src/properties/errors.js.map +0 -1
  177. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
  178. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
  179. package/dist/rules/src/v8-transformer.js +0 -174
  180. package/dist/rules/src/v8-transformer.js.map +0 -1
  181. package/src/bridge-d3-react/src/app.js +0 -64
  182. package/src/bridge-d3-react/src/mock-choro.js +0 -394
  183. package/src/rules/src/factories/scatter-dimension.js +0 -32
  184. package/src/rules/src/factories/stacked-dimension.js +0 -29
  185. package/src/rules/src/factories/symbol-dimension.js +0 -29
  186. package/src/rules/src/header/getDefaultSubtitle.js +0 -40
  187. package/src/rules/src/header/getHeaderUnits.js +0 -17
  188. package/src/rules/src/header/getSubtitleFlags.js +0 -43
  189. package/src/rules/src/header/getTitleFlags.js +0 -8
  190. package/src/rules/src/header/index.js +0 -4
  191. package/src/rules/src/preparators/enhanceObservations.js +0 -152
  192. package/src/rules/src/properties/errors.js +0 -19
  193. package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
  194. package/src/rules/src/properties/information.js +0 -84
  195. package/src/rules/src/v8-transformer.js +0 -177
  196. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
  197. package/src/rules2/src/getMetadataStructureFromData.js +0 -17
  198. package/src/rules2/src/refineMetadataCoordinates.js +0 -28
  199. package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright © OECD 2019-2025
3
+ Copyright © OECD 2019-2026
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -5,7 +5,6 @@ import * as rcwCharts from '@sis-cc/dotstatsuite-d3-charts';
5
5
  const BarChart = createFactory(factory(rcwCharts.BarChart));
6
6
  const RowChart = createFactory(factory(rcwCharts.RowChart));
7
7
  const ScatterChart = createFactory(factory(rcwCharts.ScatterChart));
8
- const LineChart = createFactory(factory(rcwCharts.LineChart));
9
8
  const TimelineChart = createFactory(factory(rcwCharts.TimelineChart));
10
9
  const VerticalSymbolChart = createFactory(factory(rcwCharts.VerticalSymbolChart));
11
10
  const HorizontalSymbolChart = createFactory(factory(rcwCharts.HorizontalSymbolChart));
@@ -14,5 +13,5 @@ const StackedRowChart = createFactory(factory(rcwCharts.StackedRowChart));
14
13
  const ChoroplethChart = createFactory(factory(rcwCharts.ChoroplethChart));
15
14
  const ChoroplethLegend = createFactory(factory(rcwCharts.ChoroplethLegend));
16
15
 
17
- export { BarChart, ChoroplethChart, ChoroplethLegend, HorizontalSymbolChart, LineChart, RowChart, ScatterChart, StackedBarChart, StackedRowChart, TimelineChart, VerticalSymbolChart };
16
+ export { BarChart, ChoroplethChart, ChoroplethLegend, HorizontalSymbolChart, RowChart, ScatterChart, StackedBarChart, StackedRowChart, TimelineChart, VerticalSymbolChart };
18
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/bridge-d3-react/src/index.js"],"sourcesContent":["import { createFactory } from 'react';\n\nimport factory from './react-chart-factory.jsx';\nimport * as rcwCharts from '@sis-cc/dotstatsuite-d3-charts';\n\nexport const BarChart = createFactory(factory(rcwCharts.BarChart));\nexport const RowChart = createFactory(factory(rcwCharts.RowChart));\nexport const ScatterChart = createFactory(factory(rcwCharts.ScatterChart));\nexport const LineChart = createFactory(factory(rcwCharts.LineChart));\nexport const TimelineChart = createFactory(factory(rcwCharts.TimelineChart));\nexport const VerticalSymbolChart = createFactory(factory(rcwCharts.VerticalSymbolChart));\nexport const HorizontalSymbolChart = createFactory(factory(rcwCharts.HorizontalSymbolChart));\nexport const StackedBarChart = createFactory(factory(rcwCharts.StackedBarChart));\nexport const StackedRowChart = createFactory(factory(rcwCharts.StackedRowChart));\nexport const ChoroplethChart = createFactory(factory(rcwCharts.ChoroplethChart));\nexport const ChoroplethLegend = createFactory(factory(rcwCharts.ChoroplethLegend));\n"],"names":[],"mappings":";;;;AAKY,MAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrD,MAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrD,MAAC,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;AAC7D,MAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;AACvD,MAAC,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;AAC/D,MAAC,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC;AAC3E,MAAC,qBAAqB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;AAC/E,MAAC,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACnE,MAAC,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACnE,MAAC,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACnE,MAAC,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/bridge-d3-react/src/index.js"],"sourcesContent":["import { createFactory } from 'react';\n\nimport factory from './react-chart-factory.jsx';\nimport * as rcwCharts from '@sis-cc/dotstatsuite-d3-charts';\n\nexport const BarChart = createFactory(factory(rcwCharts.BarChart));\nexport const RowChart = createFactory(factory(rcwCharts.RowChart));\nexport const ScatterChart = createFactory(factory(rcwCharts.ScatterChart));\nexport const TimelineChart = createFactory(factory(rcwCharts.TimelineChart));\nexport const VerticalSymbolChart = createFactory(factory(rcwCharts.VerticalSymbolChart));\nexport const HorizontalSymbolChart = createFactory(factory(rcwCharts.HorizontalSymbolChart));\nexport const StackedBarChart = createFactory(factory(rcwCharts.StackedBarChart));\nexport const StackedRowChart = createFactory(factory(rcwCharts.StackedRowChart));\nexport const ChoroplethChart = createFactory(factory(rcwCharts.ChoroplethChart));\nexport const ChoroplethLegend = createFactory(factory(rcwCharts.ChoroplethLegend));\n"],"names":[],"mappings":";;;;AAKY,MAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrD,MAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrD,MAAC,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;AAC7D,MAAC,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;AAC/D,MAAC,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC;AAC3E,MAAC,qBAAqB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;AAC/E,MAAC,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACnE,MAAC,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACnE,MAAC,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACnE,MAAC,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC;;;;"}
@@ -4,8 +4,8 @@ import * as React from 'react';
4
4
  import PropTypes from '../../../../_virtual/index3.js';
5
5
  import { create as createJss } from '../../../jss/dist/jss.esm.js';
6
6
  import { j as jsxRuntimeExports } from '../../../../_virtual/jsx-runtime2.js';
7
- import createGenerateClassName from '../createGenerateClassName/createGenerateClassName.js';
8
7
  import jssPreset from '../jssPreset/jssPreset.js';
8
+ import createGenerateClassName from '../createGenerateClassName/createGenerateClassName.js';
9
9
  import exactProp from '../../utils/esm/exactProp/exactProp.js';
10
10
 
11
11
  const _excluded = ["children", "injectFirst", "disableGeneration"];
@@ -147,5 +147,5 @@ if (process.env.NODE_ENV !== 'production') {
147
147
  process.env.NODE_ENV !== "production" ? StylesProvider.propTypes = exactProp(StylesProvider.propTypes) : void 0;
148
148
  }
149
149
 
150
- export { StylesContext, StylesProvider as default, defaultSheetsManager as sheetsManager };
150
+ export { StylesContext, defaultSheetsManager as sheetsManager };
151
151
  //# sourceMappingURL=StylesProvider.js.map
@@ -1,4 +1,4 @@
1
- import { isBrowser } from '../../is-in-browser/dist/module.js';
1
+ import isBrowser from '../../is-in-browser/dist/module.js';
2
2
  import _toConsumableArray from '../../@babel/runtime/helpers/esm/toConsumableArray.js';
3
3
 
4
4
  // Export javascript style and css style vendor prefixes.
@@ -1,5 +1,5 @@
1
1
  import _extends from '../../@babel/runtime/helpers/esm/extends.js';
2
- import { isBrowser } from '../../is-in-browser/dist/module.js';
2
+ import isBrowser from '../../is-in-browser/dist/module.js';
3
3
  import warning from '../../tiny-warning/dist/tiny-warning.esm.js';
4
4
  import _createClass from '../../@babel/runtime/helpers/esm/createClass.js';
5
5
  import _inheritsLoose from '../../@babel/runtime/helpers/esm/inheritsLoose.js';
@@ -116,5 +116,5 @@ const getChartOptions = (data, type, options, tooltipFonts, timeFormats, locale)
116
116
  });
117
117
  };
118
118
 
119
- export { FOCUS_COLORS, getChartOptions, symbolMarkers };
119
+ export { getChartOptions };
120
120
  //# sourceMappingURL=getChartOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getChartOptions.js","sources":["../../../../src/rules/src/chart/getChartOptions.js"],"sourcesContent":["import * as R from 'ramda'; \nimport numeral from 'numeral';\nimport { getAxisOptions } from './getAxisOptions';\nimport { getBaseOptions } from './getBaseOptions';\nimport { getGridOptions } from './getGridOptions';\nimport { getTooltipOptions } from './getTooltipOptions';\nimport { SCATTER, STACKED_BAR, STACKED_ROW, TIMELINE } from '../constants';\n\nexport const FOCUS_COLORS = {\n highlightColors: ['#E73741', '#0F8FD9', '#993484', '#DF521E', '#719E24', '#E1B400', '#32A674', '#0B68AF'],\n baselineColors: ['#0B1E2D']\n};\n\nexport const symbolMarkers = () => {\n const paths = {\n circle: size => {\n const r = Math.sqrt(size) / 2;\n return `M0,${r} A${r},${r} 0 1,1 0,${-r} A${r},${r} 0 1,1 0,${r} Z`;\n },\n square: size => {\n const r = Math.sqrt(size) / 2;\n return `M${-r},${-r} L${r},${-r} ${r},${r} ${-r},${r} Z`;\n },\n cross: size => {\n const r = Math.sqrt(size) / 2;\n return `M${-r},${r} L${r},${-r} M${r},${r} L${-r},${-r}`;\n },\n 'triangle': size => {\n const rx = Math.sqrt(size) / Math.sqrt(3);\n const ry = Math.sqrt(size) / 2;\n return `M0,${-ry} L${rx},${ry} ${-rx},${ry} Z`;\n }\n }\n return ([\n { style: { stroke: '#39617D', fill: '#39617D' }, path: paths.circle },\n { style: { stroke: '#39617D', fill: '#DBEBF2' }, rotate: 45, path: paths.square },\n { style: { stroke: '#39617D', fill: '#39617D', strokeWidth: 2 }, path: paths.cross },\n { style: { stroke: '#39617D', fill: '#DBEBF2' }, path: paths.square },\n { style: { stroke: '#39617D', fill: '#39617D' }, path: paths.triangle }\n ]);\n};\n\nconst getAnnotationOptions = (type, options) => R.pipe(\n R.pathOr({}, ['serie', 'annotation']),\n R.mergeRight({\n format: {\n datapoint: { proc: d => numeral(d).format('0,0.[00]') }\n }\n }),\n R.cond([\n [\n R.always(R.equals(SCATTER, type)),\n R.mergeRight({ display: 'never' })\n ],\n [\n R.always(R.equals(TIMELINE, type)),\n R.mergeDeepRight({ format: { datapoint: { pattern: '.2f' } } })\n ],\n [R.T, R.identity]\n ])\n)(options);\n\nexport const getChartOptions = (data, type, options, tooltipFonts, timeFormats, locale) => {\n const defaultSerieColors = R.ifElse(\n R.anyPass([R.equals(STACKED_BAR), R.equals(STACKED_ROW)]),\n R.always(['#607D8B']),\n R.always(['#8EA4B1'])\n )(type);\n\n return ({\n axis: getAxisOptions(data, type, options, timeFormats, locale),\n background: R.pipe(\n R.propOr({}, 'background'),\n R.mergeRight({ color: '#DBEBF2' })\n )(options),\n base: getBaseOptions(type, options),\n grid: getGridOptions(type, options),\n map: R.pipe(\n R.propOr({}, 'map'),\n R.mergeRight({ intBoundariesColor: '#8EA4B1' })\n )(options),\n serie: {\n ...R.propOr({}, 'serie', options),\n annotation: getAnnotationOptions(type, options),\n choropleth: R.pipe(\n R.pathOr({}, ['serie', 'choropleth']),\n R.mergeRight({\n divisions: 4,\n domain: 'YlorRd',\n invert: false,\n labelDisplay: 'none',\n })\n )(options),\n stacked: R.pipe(\n R.pathOr({}, ['serie', 'stacked']),\n R.mergeRight({ strokeThickness: 1, strokeColor: '#F8FAFC' })\n )(options),\n symbol: R.pipe(\n R.pathOr({}, ['serie', 'symbol']),\n R.mergeRight({\n markers: symbolMarkers(),\n markerDefaultSize: 60,\n markerDefaultStrokeWidth: 1,\n gapMinMaxColor: '#607D8B',\n gapMinMaxThickness: 1,\n gapAxisMinColor: 'white',\n gapAxisMinThickness: 1\n })\n )(options),\n colors: R.pathOr(defaultSerieColors, ['serie', 'colors'], options),\n overColors: R.pathOr(['#39617D'], ['serie', 'overColors'], options),\n highlightColors: R.pathOr(FOCUS_COLORS.highlightColors, ['serie', 'highlightColors'], options),\n baselineColors: R.pathOr(FOCUS_COLORS.baselineColors, ['serie', 'baselineColors'], options),\n tooltip: getTooltipOptions(data, type, options, tooltipFonts, timeFormats, locale)\n }\n });\n};\n\n"],"names":[],"mappings":";;;;;;;;AAQY,MAAC,YAAY,GAAG;AAC5B,EAAE,eAAe,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAC3G,EAAE,cAAc,EAAE,CAAC,SAAS;AAC5B;;AAEY,MAAC,aAAa,GAAG,MAAM;AACnC,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,MAAM,EAAE,IAAI,IAAI;AACpB,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;AACzE,IAAI,CAAC;AACL,IAAI,MAAM,EAAE,IAAI,IAAI;AACpB,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9D,IAAI,CAAC;AACL,IAAI,KAAK,EAAE,IAAI,IAAI;AACnB,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,IAAI,IAAI;AACxB,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACpD,IAAI;AACJ;AACA,EAAE,QAAQ;AACV,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;AACzE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;AACrF,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;AACxF,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;AACzE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ;AACzE,GAAG;AACH;;AAEA,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,IAAI;AACtD,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACvC,EAAE,CAAC,CAAC,UAAU,CAAC;AACf,IAAI,MAAM,EAAE;AACZ,MAAM,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3D;AACA,GAAG,CAAC;AACJ,EAAE,CAAC,CAAC,IAAI,CAAC;AACT,IAAI;AACJ,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;AACvC,KAAK;AACL,IAAI;AACJ,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;AACpE,KAAK;AACL,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ;AACpB,GAAG;AACH,CAAC,CAAC,OAAO,CAAC;;AAEE,MAAC,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,KAAK;AAC3F,EAAE,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM;AACrC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7D,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AACzB,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AACxB,GAAG,CAAC,IAAI,CAAC;;AAET,EAAE,QAAQ;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;AAClE,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI;AACtB,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC;AAChC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;AACvC,KAAK,CAAC,OAAO,CAAC;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;AACvC,IAAI,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;AACvC,IAAI,GAAG,EAAE,CAAC,CAAC,IAAI;AACf,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;AACzB,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE;AACpD,KAAK,CAAC,OAAO,CAAC;AACd,IAAI,KAAK,EAAE;AACX,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;AACvC,MAAM,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;AACrD,MAAM,UAAU,EAAE,CAAC,CAAC,IAAI;AACxB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC7C,QAAQ,CAAC,CAAC,UAAU,CAAC;AACrB,UAAU,SAAS,EAAE,CAAC;AACtB,UAAU,MAAM,EAAE,QAAQ;AAC1B,UAAU,MAAM,EAAE,KAAK;AACvB,UAAU,YAAY,EAAE,MAAM;AAC9B,SAAS;AACT,OAAO,CAAC,OAAO,CAAC;AAChB,MAAM,OAAO,EAAE,CAAC,CAAC,IAAI;AACrB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC1C,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE;AACnE,OAAO,CAAC,OAAO,CAAC;AAChB,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI;AACpB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzC,QAAQ,CAAC,CAAC,UAAU,CAAC;AACrB,UAAU,OAAO,EAAE,aAAa,EAAE;AAClC,UAAU,iBAAiB,EAAE,EAAE;AAC/B,UAAU,wBAAwB,EAAE,CAAC;AACrC,UAAU,cAAc,EAAE,SAAS;AACnC,UAAU,kBAAkB,EAAE,CAAC;AAC/B,UAAU,eAAe,EAAE,OAAO;AAClC,UAAU,mBAAmB,EAAE;AAC/B,SAAS;AACT,OAAO,CAAC,OAAO,CAAC;AAChB,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;AACxE,MAAM,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC;AACzE,MAAM,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;AACpG,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;AACjG,MAAM,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM;AACvF;AACA,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"getChartOptions.js","sources":["../../../../src/rules/src/chart/getChartOptions.js"],"sourcesContent":["import * as R from 'ramda'; \nimport numeral from 'numeral';\nimport { getAxisOptions } from './getAxisOptions';\nimport { getBaseOptions } from './getBaseOptions';\nimport { getGridOptions } from './getGridOptions';\nimport { getTooltipOptions } from './getTooltipOptions';\nimport { SCATTER, STACKED_BAR, STACKED_ROW, TIMELINE } from '../constants';\n\nconst FOCUS_COLORS = {\n highlightColors: ['#E73741', '#0F8FD9', '#993484', '#DF521E', '#719E24', '#E1B400', '#32A674', '#0B68AF'],\n baselineColors: ['#0B1E2D']\n};\n\nconst symbolMarkers = () => {\n const paths = {\n circle: size => {\n const r = Math.sqrt(size) / 2;\n return `M0,${r} A${r},${r} 0 1,1 0,${-r} A${r},${r} 0 1,1 0,${r} Z`;\n },\n square: size => {\n const r = Math.sqrt(size) / 2;\n return `M${-r},${-r} L${r},${-r} ${r},${r} ${-r},${r} Z`;\n },\n cross: size => {\n const r = Math.sqrt(size) / 2;\n return `M${-r},${r} L${r},${-r} M${r},${r} L${-r},${-r}`;\n },\n 'triangle': size => {\n const rx = Math.sqrt(size) / Math.sqrt(3);\n const ry = Math.sqrt(size) / 2;\n return `M0,${-ry} L${rx},${ry} ${-rx},${ry} Z`;\n }\n }\n return ([\n { style: { stroke: '#39617D', fill: '#39617D' }, path: paths.circle },\n { style: { stroke: '#39617D', fill: '#DBEBF2' }, rotate: 45, path: paths.square },\n { style: { stroke: '#39617D', fill: '#39617D', strokeWidth: 2 }, path: paths.cross },\n { style: { stroke: '#39617D', fill: '#DBEBF2' }, path: paths.square },\n { style: { stroke: '#39617D', fill: '#39617D' }, path: paths.triangle }\n ]);\n};\n\nconst getAnnotationOptions = (type, options) => R.pipe(\n R.pathOr({}, ['serie', 'annotation']),\n R.mergeRight({\n format: {\n datapoint: { proc: d => numeral(d).format('0,0.[00]') }\n }\n }),\n R.cond([\n [\n R.always(R.equals(SCATTER, type)),\n R.mergeRight({ display: 'never' })\n ],\n [\n R.always(R.equals(TIMELINE, type)),\n R.mergeDeepRight({ format: { datapoint: { pattern: '.2f' } } })\n ],\n [R.T, R.identity]\n ])\n)(options);\n\nexport const getChartOptions = (data, type, options, tooltipFonts, timeFormats, locale) => {\n const defaultSerieColors = R.ifElse(\n R.anyPass([R.equals(STACKED_BAR), R.equals(STACKED_ROW)]),\n R.always(['#607D8B']),\n R.always(['#8EA4B1'])\n )(type);\n\n return ({\n axis: getAxisOptions(data, type, options, timeFormats, locale),\n background: R.pipe(\n R.propOr({}, 'background'),\n R.mergeRight({ color: '#DBEBF2' })\n )(options),\n base: getBaseOptions(type, options),\n grid: getGridOptions(type, options),\n map: R.pipe(\n R.propOr({}, 'map'),\n R.mergeRight({ intBoundariesColor: '#8EA4B1' })\n )(options),\n serie: {\n ...R.propOr({}, 'serie', options),\n annotation: getAnnotationOptions(type, options),\n choropleth: R.pipe(\n R.pathOr({}, ['serie', 'choropleth']),\n R.mergeRight({\n divisions: 4,\n domain: 'YlorRd',\n invert: false,\n labelDisplay: 'none',\n })\n )(options),\n stacked: R.pipe(\n R.pathOr({}, ['serie', 'stacked']),\n R.mergeRight({ strokeThickness: 1, strokeColor: '#F8FAFC' })\n )(options),\n symbol: R.pipe(\n R.pathOr({}, ['serie', 'symbol']),\n R.mergeRight({\n markers: symbolMarkers(),\n markerDefaultSize: 60,\n markerDefaultStrokeWidth: 1,\n gapMinMaxColor: '#607D8B',\n gapMinMaxThickness: 1,\n gapAxisMinColor: 'white',\n gapAxisMinThickness: 1\n })\n )(options),\n colors: R.pathOr(defaultSerieColors, ['serie', 'colors'], options),\n overColors: R.pathOr(['#39617D'], ['serie', 'overColors'], options),\n highlightColors: R.pathOr(FOCUS_COLORS.highlightColors, ['serie', 'highlightColors'], options),\n baselineColors: R.pathOr(FOCUS_COLORS.baselineColors, ['serie', 'baselineColors'], options),\n tooltip: getTooltipOptions(data, type, options, tooltipFonts, timeFormats, locale)\n }\n });\n};\n\n"],"names":[],"mappings":"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"}
@@ -20,40 +20,6 @@ const TYPES = {
20
20
  [STACKED_ROW]: STACKED_ROW,
21
21
  [CHORO]: CHORO,
22
22
  };
23
- const FREQ_A = 'annual';
24
- const FREQ_Q = 'quarterly';
25
- const FREQ_M = 'monthly';
26
- const DEFAULT_UPR_IDS = {
27
- U: ['UNIT', 'UNIT_MEASURE', 'UNIT_MEAS', 'UNITS'],
28
- P: ['UNIT_MULT', 'POWERCODE', 'POWER', 'MAGNITUDE', 'SCALE'],
29
- R: ['REF_PERIOD', 'REFERENCEPERIOD', 'BASE_PER']
30
- };
31
-
32
- const DEFAULT_REJECTED_UPR_VALUES_IDS = {
33
- U: [],
34
- P: ['0'],
35
- R: []
36
- };
37
-
38
- const DEFAULT_REJECTED_SUBTITLE_IDS = ['_L', '_T', '_Z'];
39
-
40
- const DIMENSION_DISPLAY_PARTS = {
41
- DESCRIPTION: 'description',
42
- CODE: 'code',
43
- BOTH: 'both',
44
- };
45
-
46
- const DEFAULT_MAJOR_ATTRIBUTES = {
47
- DECIMALS: {
48
- ID: 'DECIMALS',
49
- ROLE: 'DECIMALS'
50
- },
51
- SCALE: {
52
- ID: 'SCALE'
53
- }
54
- };
55
-
56
- const V8_SDMX_JSON = "application/vnd.sdmx.data+json;version=1.0.0-wd";
57
23
 
58
24
  const OBS_TYPE_NUMBER = 'OBS_TYPE_NUMBER';
59
25
  const OBS_TYPE_NUMERICAL_STRING = 'OBS_TYPE_NUMERICAL_STRING';
@@ -61,5 +27,5 @@ const OBS_TYPE_STRING = 'OBS_TYPE_STRING';
61
27
  const REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';
62
28
  const REPYEARSTART = 'REPYEARSTART';
63
29
 
64
- export { BAR, CHORO, DEFAULT_MAJOR_ATTRIBUTES, DEFAULT_REJECTED_SUBTITLE_IDS, DEFAULT_REJECTED_UPR_VALUES_IDS, DEFAULT_UPR_IDS, DIMENSION_DISPLAY_PARTS, FREQ_A, FREQ_M, FREQ_Q, H_SYMBOL, OBS_TYPE_NUMBER, OBS_TYPE_NUMERICAL_STRING, OBS_TYPE_STRING, PERCENT, REPORTING_YEAR_START_DAY, REPYEARSTART, ROW, SCATTER, STACKED_BAR, STACKED_ROW, TIMELINE, TYPES, V8_SDMX_JSON, VALUES, V_SYMBOL };
30
+ export { BAR, CHORO, H_SYMBOL, OBS_TYPE_NUMBER, OBS_TYPE_NUMERICAL_STRING, OBS_TYPE_STRING, PERCENT, REPORTING_YEAR_START_DAY, REPYEARSTART, ROW, SCATTER, STACKED_BAR, STACKED_ROW, TIMELINE, TYPES, VALUES, V_SYMBOL };
65
31
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../src/rules/src/constants.js"],"sourcesContent":["export const BAR = 'BarChart';\nexport const ROW = 'RowChart';\nexport const SCATTER = 'ScatterChart';\nexport const TIMELINE = 'TimelineChart';\nexport const H_SYMBOL = 'HorizontalSymbolChart';\nexport const V_SYMBOL = 'VerticalSymbolChart';\nexport const STACKED_BAR = 'StackedBarChart';\nexport const STACKED_ROW = 'StackedRowChart';\nexport const CHORO = 'ChoroplethChart';\nexport const PERCENT = 'percent';\nexport const VALUES = 'values';\nexport const TYPES = {\n [BAR]: BAR,\n [ROW]: ROW,\n [SCATTER]: SCATTER,\n [TIMELINE]: TIMELINE,\n [H_SYMBOL]: H_SYMBOL,\n [V_SYMBOL]: V_SYMBOL,\n [STACKED_BAR]: STACKED_BAR,\n [STACKED_ROW]: STACKED_ROW,\n [CHORO]: CHORO,\n};\nexport const FREQ_A = 'annual';\nexport const FREQ_S = 'semesterly';\nexport const FREQ_Q = 'quarterly';\nexport const FREQ_M = 'monthly';\nexport const DEFAULT_UPR_IDS = {\n U: ['UNIT', 'UNIT_MEASURE', 'UNIT_MEAS', 'UNITS'],\n P: ['UNIT_MULT', 'POWERCODE', 'POWER', 'MAGNITUDE', 'SCALE'],\n R: ['REF_PERIOD', 'REFERENCEPERIOD', 'BASE_PER']\n};\n\nexport const DEFAULT_REJECTED_UPR_VALUES_IDS = {\n U: [],\n P: ['0'],\n R: []\n};\n\nexport const DEFAULT_REJECTED_SUBTITLE_IDS = ['_L', '_T', '_Z'];\n\nexport const DIMENSION_DISPLAY_PARTS = {\n DESCRIPTION: 'description',\n CODE: 'code',\n BOTH: 'both',\n};\n\nexport const DEFAULT_MAJOR_ATTRIBUTES = {\n DECIMALS: {\n ID: 'DECIMALS',\n ROLE: 'DECIMALS'\n },\n SCALE: {\n ID: 'SCALE'\n }\n};\n\nexport const V8_SDMX_JSON = \"application/vnd.sdmx.data+json;version=1.0.0-wd\";\n\nexport const OBS_TYPE_NUMBER = 'OBS_TYPE_NUMBER';\nexport const OBS_TYPE_NUMERICAL_STRING = 'OBS_TYPE_NUMERICAL_STRING';\nexport const OBS_TYPE_STRING = 'OBS_TYPE_STRING';\nexport const REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';\nexport const REPYEARSTART = 'REPYEARSTART';\n\n"],"names":[],"mappings":"AAAY,MAAC,GAAG,GAAG;AACP,MAAC,GAAG,GAAG;AACP,MAAC,OAAO,GAAG;AACX,MAAC,QAAQ,GAAG;AACZ,MAAC,QAAQ,GAAG;AACZ,MAAC,QAAQ,GAAG;AACZ,MAAC,WAAW,GAAG;AACf,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;AACT,MAAC,OAAO,GAAG;AACX,MAAC,MAAM,GAAG;AACV,MAAC,KAAK,GAAG;AACrB,EAAE,CAAC,GAAG,GAAG,GAAG;AACZ,EAAE,CAAC,GAAG,GAAG,GAAG;AACZ,EAAE,CAAC,OAAO,GAAG,OAAO;AACpB,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACtB,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACtB,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACtB,EAAE,CAAC,WAAW,GAAG,WAAW;AAC5B,EAAE,CAAC,WAAW,GAAG,WAAW;AAC5B,EAAE,CAAC,KAAK,GAAG,KAAK;AAChB;AACY,MAAC,MAAM,GAAG;AAEV,MAAC,MAAM,GAAG;AACV,MAAC,MAAM,GAAG;AACV,MAAC,eAAe,GAAG;AAC/B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC;AACnD,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;AAC9D,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU;AACjD;;AAEY,MAAC,+BAA+B,GAAG;AAC/C,EAAE,CAAC,EAAE,EAAE;AACP,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;AACV,EAAE,CAAC,EAAE;AACL;;AAEY,MAAC,6BAA6B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;;AAElD,MAAC,uBAAuB,GAAG;AACvC,EAAE,WAAW,EAAE,aAAa;AAC5B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd;;AAEY,MAAC,wBAAwB,GAAG;AACxC,EAAE,QAAQ,EAAE;AACZ,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,IAAI,EAAE;AACV,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,EAAE,EAAE;AACR;AACA;;AAEY,MAAC,YAAY,GAAG;;AAEhB,MAAC,eAAe,GAAG;AACnB,MAAC,yBAAyB,GAAG;AAC7B,MAAC,eAAe,GAAG;AACnB,MAAC,wBAAwB,GAAG;AAC5B,MAAC,YAAY,GAAG;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../src/rules/src/constants.js"],"sourcesContent":["export const BAR = 'BarChart';\nexport const ROW = 'RowChart';\nexport const SCATTER = 'ScatterChart';\nexport const TIMELINE = 'TimelineChart';\nexport const H_SYMBOL = 'HorizontalSymbolChart';\nexport const V_SYMBOL = 'VerticalSymbolChart';\nexport const STACKED_BAR = 'StackedBarChart';\nexport const STACKED_ROW = 'StackedRowChart';\nexport const CHORO = 'ChoroplethChart';\nexport const PERCENT = 'percent';\nexport const VALUES = 'values';\nexport const TYPES = {\n [BAR]: BAR,\n [ROW]: ROW,\n [SCATTER]: SCATTER,\n [TIMELINE]: TIMELINE,\n [H_SYMBOL]: H_SYMBOL,\n [V_SYMBOL]: V_SYMBOL,\n [STACKED_BAR]: STACKED_BAR,\n [STACKED_ROW]: STACKED_ROW,\n [CHORO]: CHORO,\n};\n\nexport const OBS_TYPE_NUMBER = 'OBS_TYPE_NUMBER';\nexport const OBS_TYPE_NUMERICAL_STRING = 'OBS_TYPE_NUMERICAL_STRING';\nexport const OBS_TYPE_STRING = 'OBS_TYPE_STRING';\nexport const REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';\nexport const REPYEARSTART = 'REPYEARSTART';\n\n"],"names":[],"mappings":"AAAY,MAAC,GAAG,GAAG;AACP,MAAC,GAAG,GAAG;AACP,MAAC,OAAO,GAAG;AACX,MAAC,QAAQ,GAAG;AACZ,MAAC,QAAQ,GAAG;AACZ,MAAC,QAAQ,GAAG;AACZ,MAAC,WAAW,GAAG;AACf,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;AACT,MAAC,OAAO,GAAG;AACX,MAAC,MAAM,GAAG;AACV,MAAC,KAAK,GAAG;AACrB,EAAE,CAAC,GAAG,GAAG,GAAG;AACZ,EAAE,CAAC,GAAG,GAAG,GAAG;AACZ,EAAE,CAAC,OAAO,GAAG,OAAO;AACpB,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACtB,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACtB,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACtB,EAAE,CAAC,WAAW,GAAG,WAAW;AAC5B,EAAE,CAAC,WAAW,GAAG,WAAW;AAC5B,EAAE,CAAC,KAAK,GAAG,KAAK;AAChB;;AAEY,MAAC,eAAe,GAAG;AACnB,MAAC,yBAAyB,GAAG;AAC7B,MAAC,eAAe,GAAG;AACnB,MAAC,wBAAwB,GAAG;AAC5B,MAAC,YAAY,GAAG;;;;"}
@@ -1,22 +1,29 @@
1
- import { get, isEmpty, isNil, reduce, has } from 'lodash';
1
+ import * as R from 'ramda';
2
+
3
+ const parseDisplay = (display) =>
4
+ (R.isNil(display) || !(R.includes(display, ['both', 'code'])))
5
+ ? 'label' : display;
2
6
 
3
7
  const dimensionValueDisplay =
4
8
  (display, accessors = {}) =>
5
9
  (dimensionValue) => {
6
- const id = get(dimensionValue, accessors.id || 'id', '');
7
- const name = get(dimensionValue, accessors.name || 'name', '');
10
+ const id = R.propOr('', accessors.id || 'id', dimensionValue);
11
+ const name = R.propOr('', accessors.name || 'name', dimensionValue);
8
12
  // a non-coded component (dim | attr) has no name, names nor label
9
13
  // the only valid thing to display is the id
10
- if (get(dimensionValue, 'isNonCoded', false)) return id;
14
+ if (R.propOr(false, 'isNonCoded', dimensionValue))
15
+ return id;
11
16
  //auto-generated flags have no id nor name
12
- if (isEmpty(id) && isEmpty(name)) return ''
17
+ if (R.isEmpty(id) && R.isEmpty(name))
18
+ return ''
13
19
  switch (display) {
14
20
  case 'label':
15
- return isEmpty(name) ? `[${id}]` : name;
21
+ return R.isEmpty(name) ? `[${id}]` : name;
16
22
  case 'code':
17
23
  return id;
18
24
  case 'both':
19
- if (isNil(id) || isEmpty(id)) return name;
25
+ if (R.isNil(id) || R.isEmpty(id))
26
+ return name;
20
27
  return `(${id}) ${name}`;
21
28
  default:
22
29
  return null;
@@ -24,7 +31,7 @@ const dimensionValueDisplay =
24
31
  };
25
32
 
26
33
  const dimensionValueDisplayAt = (dimension, index, display) => {
27
- const dimensionValue = get(dimension, `values[${Number(index)}]`, {});
34
+ const dimensionValue = R.pathOr({}, ['values', Number(index)], dimension);
28
35
  return dimensionValueDisplay(display)(dimensionValue);
29
36
  };
30
37
 
@@ -35,23 +42,18 @@ const categoryDisplay = (
35
42
  rejectedId,
36
43
  display,
37
44
  ) => {
38
- return reduce(
39
- splitObservationKey,
40
- (memo, dimensionValueIndex, dimensionIndex) => {
41
- const dimension = get(dimensions, `[${dimensionIndex}]`, {});
42
- if (
43
- has(dimensionsWithValuesIndexedById, dimension.id) &&
44
- dimension.id !== rejectedId
45
- ) {
46
- memo.push(
47
- dimensionValueDisplayAt(dimension, dimensionValueIndex, display),
48
- );
45
+ return R.pipe(
46
+ R.addIndex(R.reduce)((acc, dimensionValueIndex, dimensionIndex) => {
47
+ const dimension = R.nth(dimensionIndex, dimensions) || {};
48
+ if (R.has(dimension.id, dimensionsWithValuesIndexedById)
49
+ && dimension.id !== rejectedId) {
50
+ return R.append(dimensionValueDisplayAt(dimension, dimensionValueIndex, display), acc);
49
51
  }
50
- return memo;
51
- },
52
- [],
53
- ).join(' - ');
52
+ return acc;
53
+ }, []),
54
+ R.join(' - ')
55
+ )(splitObservationKey);
54
56
  };
55
57
 
56
- export { categoryDisplay, dimensionValueDisplay, dimensionValueDisplayAt };
58
+ export { categoryDisplay, dimensionValueDisplay, dimensionValueDisplayAt, parseDisplay };
57
59
  //# sourceMappingURL=dimension-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dimension-utils.js","sources":["../../../src/rules/src/dimension-utils.js"],"sourcesContent":["import { isEmpty, isNil, get, has, reduce } from 'lodash';\n\nexport const dimensionValueDisplay =\n (display, accessors = {}) =>\n (dimensionValue) => {\n const id = get(dimensionValue, accessors.id || 'id', '');\n const name = get(dimensionValue, accessors.name || 'name', '');\n // a non-coded component (dim | attr) has no name, names nor label\n // the only valid thing to display is the id\n if (get(dimensionValue, 'isNonCoded', false)) return id;\n //auto-generated flags have no id nor name\n if (isEmpty(id) && isEmpty(name)) return ''\n switch (display) {\n case 'label':\n return isEmpty(name) ? `[${id}]` : name;\n case 'code':\n return id;\n case 'both':\n if (isNil(id) || isEmpty(id)) return name;\n return `(${id}) ${name}`;\n default:\n return null;\n }\n };\n\nexport const dimensionValueDisplayAt = (dimension, index, display) => {\n const dimensionValue = get(dimension, `values[${Number(index)}]`, {});\n return dimensionValueDisplay(display)(dimensionValue);\n};\n\nexport const categoryDisplay = (\n splitObservationKey,\n dimensions,\n dimensionsWithValuesIndexedById,\n rejectedId,\n display,\n) => {\n return reduce(\n splitObservationKey,\n (memo, dimensionValueIndex, dimensionIndex) => {\n const dimension = get(dimensions, `[${dimensionIndex}]`, {});\n if (\n has(dimensionsWithValuesIndexedById, dimension.id) &&\n dimension.id !== rejectedId\n ) {\n memo.push(\n dimensionValueDisplayAt(dimension, dimensionValueIndex, display),\n );\n }\n return memo;\n },\n [],\n ).join(' - ');\n};\n"],"names":[],"mappings":";;AAEY,MAAC,qBAAqB;AAClC,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AAC1B,EAAE,CAAC,cAAc,KAAK;AACtB,IAAI,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;AAC5D,IAAI,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC;AAClE;AACA;AACA,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO;AAC7C,IAAI,QAAQ,OAAO;AACnB,MAAM,KAAK,OAAO;AAClB,QAAQ,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;AAC/C,MAAM,KAAK,MAAM;AACjB,QAAQ,OAAO,EAAE;AACjB,MAAM,KAAK,MAAM;AACjB,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI;AACjD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAChC,MAAM;AACN,QAAQ,OAAO,IAAI;AACnB;AACA,EAAE;;AAEU,MAAC,uBAAuB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK;AACtE,EAAE,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvE,EAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;AACvD;;AAEY,MAAC,eAAe,GAAG;AAC/B,EAAE,mBAAmB;AACrB,EAAE,UAAU;AACZ,EAAE,+BAA+B;AACjC,EAAE,UAAU;AACZ,EAAE,OAAO;AACT,KAAK;AACL,EAAE,OAAO,MAAM;AACf,IAAI,mBAAmB;AACvB,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,cAAc,KAAK;AACnD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClE,MAAM;AACN,QAAQ,GAAG,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAE,CAAC;AAC1D,QAAQ,SAAS,CAAC,EAAE,KAAK;AACzB,QAAQ;AACR,QAAQ,IAAI,CAAC,IAAI;AACjB,UAAU,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC;AAC1E,SAAS;AACT,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,EAAE;AACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACf;;;;"}
1
+ {"version":3,"file":"dimension-utils.js","sources":["../../../src/rules/src/dimension-utils.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const parseDisplay = (display) =>\n (R.isNil(display) || !(R.includes(display, ['both', 'code'])))\n ? 'label' : display;\n\nexport const dimensionValueDisplay =\n (display, accessors = {}) =>\n (dimensionValue) => {\n const id = R.propOr('', accessors.id || 'id', dimensionValue);\n const name = R.propOr('', accessors.name || 'name', dimensionValue);\n // a non-coded component (dim | attr) has no name, names nor label\n // the only valid thing to display is the id\n if (R.propOr(false, 'isNonCoded', dimensionValue))\n return id;\n //auto-generated flags have no id nor name\n if (R.isEmpty(id) && R.isEmpty(name))\n return ''\n switch (display) {\n case 'label':\n return R.isEmpty(name) ? `[${id}]` : name;\n case 'code':\n return id;\n case 'both':\n if (R.isNil(id) || R.isEmpty(id))\n return name;\n return `(${id}) ${name}`;\n default:\n return null;\n }\n };\n\nexport const dimensionValueDisplayAt = (dimension, index, display) => {\n const dimensionValue = R.pathOr({}, ['values', Number(index)], dimension);\n return dimensionValueDisplay(display)(dimensionValue);\n};\n\nexport const categoryDisplay = (\n splitObservationKey,\n dimensions,\n dimensionsWithValuesIndexedById,\n rejectedId,\n display,\n) => {\n return R.pipe(\n R.addIndex(R.reduce)((acc, dimensionValueIndex, dimensionIndex) => {\n const dimension = R.nth(dimensionIndex, dimensions) || {};\n if (R.has(dimension.id, dimensionsWithValuesIndexedById)\n && dimension.id !== rejectedId) {\n return R.append(dimensionValueDisplayAt(dimension, dimensionValueIndex, display), acc);\n }\n return acc;\n }, []),\n R.join(' - ')\n )(splitObservationKey);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,YAAY,GAAG,CAAC,OAAO;AACpC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG;;AAEJ,MAAC,qBAAqB;AAClC,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AAC1B,EAAE,CAAC,cAAc,KAAK;AACtB,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE,cAAc,CAAC;AACjE,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE,cAAc,CAAC;AACvE;AACA;AACA,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC;AACrD,MAAM,OAAO,EAAE;AACf;AACA,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACxC,MAAM,OAAO;AACb,IAAI,QAAQ,OAAO;AACnB,MAAM,KAAK,OAAO;AAClB,QAAQ,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;AACjD,MAAM,KAAK,MAAM;AACjB,QAAQ,OAAO,EAAE;AACjB,MAAM,KAAK,MAAM;AACjB,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AACxC,UAAU,OAAO,IAAI;AACrB,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAChC,MAAM;AACN,QAAQ,OAAO,IAAI;AACnB;AACA,EAAE;;AAEU,MAAC,uBAAuB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK;AACtE,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;AAC3E,EAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;AACvD;;AAEY,MAAC,eAAe,GAAG;AAC/B,EAAE,mBAAmB;AACrB,EAAE,UAAU;AACZ,EAAE,+BAA+B;AACjC,EAAE,UAAU;AACZ,EAAE,OAAO;AACT,KAAK;AACL,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,cAAc,KAAK;AACvE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE;AAC/D,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,+BAA+B;AAC7D,WAAW,SAAS,CAAC,EAAE,KAAK,UAAU,EAAE;AACxC,QAAQ,OAAO,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC;AAC9F,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC,EAAE,EAAE,CAAC;AACV,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;AAChB,GAAG,CAAC,mBAAmB,CAAC;AACxB;;;;"}
@@ -1,55 +1,66 @@
1
- import { get, map, head, isUndefined, transform, split, has } from 'lodash';
1
+ import * as R from 'ramda';
2
2
  import { getRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
3
  import { categoryDisplay, dimensionValueDisplay } from '../dimension-utils.js';
4
4
 
5
5
  const parseByAreas = (observations, refAreaDimension) => {
6
- if (isUndefined(refAreaDimension)) {
6
+ if (R.isNil(refAreaDimension)) {
7
7
  return null;
8
8
  }
9
- const refAreaDimIndex = get(refAreaDimension, 'index');
10
- const refAreaValues = refAreaDimension.values;
9
+ const { __index, values=[] } = refAreaDimension;
11
10
 
12
- return transform(
13
- observations,
14
- (acc, value, key) => {
15
- const splitedKey = split(key, ':');
16
- const areaValueIndex = get(splitedKey, `[${refAreaDimIndex}]`, null);
17
- const areaValue = get(refAreaValues, `[${areaValueIndex}]`, null);
18
- const areaId = get(areaValue, 'id', null);
19
- if (!has(acc, areaId)) {
20
- acc[areaId] = [];
21
- }
22
- acc[areaId].push({ splitedKey, value, areaValueIndex });
23
- },
24
- {}
25
- );
11
+ return R.pipe(
12
+ R.keys,
13
+ R.reduce((acc, key) => {
14
+ const value = observations[key];
15
+ const splitedKey = R.split(':', key);
16
+ const areaValueIndex = Number(R.nth(__index, splitedKey));
17
+ const areaValue = isNaN(areaValueIndex)
18
+ ? null : R.nth(areaValueIndex, values);
19
+ const areaId = R.prop('id', areaValue || {});
20
+ return R.over(
21
+ R.lensProp(areaId),
22
+ vals => R.append({ splitedKey, value, areaValueIndex }, vals || []),
23
+ acc
24
+ );
25
+ }, {})
26
+ )(observations);
26
27
  };
27
28
 
28
- var __choroSeries = ({ observations, dimensions }, dimensionsWithValuesIndexedById, topoMap, display) => {
29
+ var choroSeries = ({ observations, dimensions }, dimensionsWithValuesIndexedById, topoMap, display) => {
29
30
  const refAreaDimension = getRefAreaDimension({ dimensions });
30
31
  const observationsByAreas = parseByAreas(observations, refAreaDimension);
31
- const topology = get(topoMap, 'topology', {});
32
- const areaSelection = get(topoMap, 'areaSelection', null);
33
- const topoAreas = get(topology, `objects.${areaSelection}`, null);
32
+ const topology = R.propOr({}, 'topology', topoMap);
33
+ const areaSelection = R.propOr(null, 'areaSelection', topoMap);
34
+ const topoAreas = R.pathOr(null, ['objects', areaSelection], topology);
34
35
  if (!observationsByAreas || !topoAreas) {
35
36
  return null;
36
37
  }
37
- const topoAreasWithData = map(
38
- topoAreas.geometries,
38
+ const topoAreasWithData = R.map(
39
39
  (areaGeometry) => {
40
- const areaObservation = head(get(observationsByAreas, get(areaGeometry, 'properties.id', null), []));
41
- const areaValueIndex = get(areaObservation, 'areaValueIndex', null);
42
- const areaValue = get(refAreaDimension, `values[${areaValueIndex}]`, null);
40
+ const areaObservation = R.pipe(
41
+ R.pathOr(null, ['properties', 'id']),
42
+ id => R.propOr([], id, observationsByAreas),
43
+ R.head
44
+ )(areaGeometry);
45
+ const areaValueIndex = R.propOr(null, 'areaValueIndex', areaObservation);
46
+ const areaValue = R.pathOr(null, ['values', areaValueIndex], refAreaDimension);
43
47
  return {
44
48
  ...areaGeometry,
45
49
  properties: {
46
- ...get(areaGeometry, 'properties', {}),
50
+ ...R.propOr({}, 'properties', areaGeometry),
47
51
  label: dimensionValueDisplay(display)(areaValue),
48
- value: head(get(areaObservation, 'value', [])),
49
- category: categoryDisplay(get(areaObservation, 'splitedKey', null), dimensions, dimensionsWithValuesIndexedById, refAreaDimension.id, display),
52
+ value: R.head(R.propOr([], 'value', areaObservation)),
53
+ category: categoryDisplay(
54
+ R.propOr([], 'splitedKey', areaObservation),
55
+ dimensions,
56
+ dimensionsWithValuesIndexedById,
57
+ refAreaDimension.id,
58
+ display
59
+ ),
50
60
  }
51
61
  };
52
- }
62
+ },
63
+ topoAreas.geometries,
53
64
  );
54
65
  return ({
55
66
  objects: {
@@ -64,5 +75,5 @@ var __choroSeries = ({ observations, dimensions }, dimensionsWithValuesIndexedBy
64
75
  });
65
76
  };
66
77
 
67
- export { __choroSeries as default };
78
+ export { choroSeries as default };
68
79
  //# sourceMappingURL=choro-series.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"choro-series.js","sources":["../../../../src/rules/src/factories/choro-series.js"],"sourcesContent":["import { get, has, head, isUndefined, map, split, transform } from 'lodash';\nimport { getRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { categoryDisplay, dimensionValueDisplay } from '../dimension-utils';\n\nconst parseByAreas = (observations, refAreaDimension) => {\n if (isUndefined(refAreaDimension)) {\n return null;\n }\n const refAreaDimIndex = get(refAreaDimension, 'index');\n const refAreaValues = refAreaDimension.values;\n\n return transform(\n observations,\n (acc, value, key) => {\n const splitedKey = split(key, ':');\n const areaValueIndex = get(splitedKey, `[${refAreaDimIndex}]`, null);\n const areaValue = get(refAreaValues, `[${areaValueIndex}]`, null);\n const areaId = get(areaValue, 'id', null);\n if (!has(acc, areaId)) {\n acc[areaId] = [];\n }\n acc[areaId].push({ splitedKey, value, areaValueIndex });\n },\n {}\n );\n};\n\nexport default ({ observations, dimensions }, dimensionsWithValuesIndexedById, topoMap, display) => {\n const refAreaDimension = getRefAreaDimension({ dimensions });\n const observationsByAreas = parseByAreas(observations, refAreaDimension);\n const topology = get(topoMap, 'topology', {});\n const areaSelection = get(topoMap, 'areaSelection', null);\n const topoAreas = get(topology, `objects.${areaSelection}`, null);\n if (!observationsByAreas || !topoAreas) {\n return null;\n }\n const topoAreasWithData = map(\n topoAreas.geometries,\n (areaGeometry) => {\n const areaObservation = head(get(observationsByAreas, get(areaGeometry, 'properties.id', null), []));\n const areaValueIndex = get(areaObservation, 'areaValueIndex', null);\n const areaValue = get(refAreaDimension, `values[${areaValueIndex}]`, null);\n return {\n ...areaGeometry,\n properties: {\n ...get(areaGeometry, 'properties', {}),\n label: dimensionValueDisplay(display)(areaValue),\n value: head(get(areaObservation, 'value', [])),\n category: categoryDisplay(get(areaObservation, 'splitedKey', null), dimensions, dimensionsWithValuesIndexedById, refAreaDimension.id, display),\n }\n };\n }\n );\n return ({\n objects: {\n areas: {\n type: topoAreas.type,\n geometries: topoAreasWithData\n }\n },\n arcs: topology.arcs,\n bbox: topology.bbox,\n transform: topology.transform\n });\n}\n"],"names":[],"mappings":";;;;AAIA,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,gBAAgB,KAAK;AACzD,EAAE,IAAI,WAAW,CAAC,gBAAgB,CAAC,EAAE;AACrC,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,eAAe,GAAG,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;AACxD,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM;;AAE/C,EAAE,OAAO,SAAS;AAClB,IAAI,YAAY;AAChB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK;AACzB,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AACxC,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AAC1E,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACvE,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/C,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;AAC7B,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;AACxB,MAAM;AACN,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAC7D,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH,CAAC;;AAED,oBAAe,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,+BAA+B,EAAE,OAAO,EAAE,OAAO,KAAK;AACpG,EAAE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,CAAC;AAC9D,EAAE,MAAM,mBAAmB,GAAG,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC;AAC1E,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AAC/C,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC;AAC3D,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;AACnE,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,EAAE;AAC1C,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,iBAAiB,GAAG,GAAG;AAC/B,IAAI,SAAS,CAAC,UAAU;AACxB,IAAI,CAAC,YAAY,KAAK;AACtB,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1G,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC;AACzE,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AAChF,MAAM,OAAO;AACb,QAAQ,GAAG,YAAY;AACvB,QAAQ,UAAU,EAAE;AACpB,UAAU,GAAG,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;AAChD,UAAU,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;AAC1D,UAAU,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACxD,UAAU,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,+BAA+B,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC;AACxJ;AACA,OAAO;AACP,IAAI;AACJ,GAAG;AACH,EAAE,QAAQ;AACV,IAAI,OAAO,EAAE;AACb,MAAM,KAAK,EAAE;AACb,QAAQ,IAAI,EAAE,SAAS,CAAC,IAAI;AAC5B,QAAQ,UAAU,EAAE;AACpB;AACA,KAAK;AACL,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI;AACvB,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI;AACvB,IAAI,SAAS,EAAE,QAAQ,CAAC;AACxB,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"choro-series.js","sources":["../../../../src/rules/src/factories/choro-series.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { categoryDisplay, dimensionValueDisplay } from '../dimension-utils';\n\nconst parseByAreas = (observations, refAreaDimension) => {\n if (R.isNil(refAreaDimension)) {\n return null;\n }\n const { __index, values=[] } = refAreaDimension;\n\n return R.pipe(\n R.keys,\n R.reduce((acc, key) => {\n const value = observations[key];\n const splitedKey = R.split(':', key);\n const areaValueIndex = Number(R.nth(__index, splitedKey));\n const areaValue = isNaN(areaValueIndex)\n ? null : R.nth(areaValueIndex, values);\n const areaId = R.prop('id', areaValue || {});\n return R.over(\n R.lensProp(areaId),\n vals => R.append({ splitedKey, value, areaValueIndex }, vals || []),\n acc\n ); \n }, {})\n )(observations);\n};\n\nexport default ({ observations, dimensions }, dimensionsWithValuesIndexedById, topoMap, display) => {\n const refAreaDimension = getRefAreaDimension({ dimensions });\n const observationsByAreas = parseByAreas(observations, refAreaDimension);\n const topology = R.propOr({}, 'topology', topoMap);\n const areaSelection = R.propOr(null, 'areaSelection', topoMap);\n const topoAreas = R.pathOr(null, ['objects', areaSelection], topology);\n if (!observationsByAreas || !topoAreas) {\n return null;\n }\n const topoAreasWithData = R.map(\n (areaGeometry) => {\n const areaObservation = R.pipe(\n R.pathOr(null, ['properties', 'id']),\n id => R.propOr([], id, observationsByAreas),\n R.head\n )(areaGeometry);\n const areaValueIndex = R.propOr(null, 'areaValueIndex', areaObservation);\n const areaValue = R.pathOr(null, ['values', areaValueIndex], refAreaDimension);\n return {\n ...areaGeometry,\n properties: {\n ...R.propOr({}, 'properties', areaGeometry),\n label: dimensionValueDisplay(display)(areaValue),\n value: R.head(R.propOr([], 'value', areaObservation)),\n category: categoryDisplay(\n R.propOr([], 'splitedKey', areaObservation),\n dimensions,\n dimensionsWithValuesIndexedById,\n refAreaDimension.id,\n display\n ),\n }\n };\n },\n topoAreas.geometries,\n );\n return ({\n objects: {\n areas: {\n type: topoAreas.type,\n geometries: topoAreasWithData\n }\n },\n arcs: topology.arcs,\n bbox: topology.bbox,\n transform: topology.transform\n });\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import focus from './sample-focus.js';
2
+ import focus$2 from './scatter-focus.js';
3
+ import focus$1 from './timeline-focus.js';
4
+
5
+ var getFocusedSeries = ({ type, series, focusOptions }) => {
6
+ switch(type) {
7
+ case 'ScatterChart':
8
+ return focus$2(series, focusOptions);
9
+ case 'TimelineChart':
10
+ return focus$1(series, focusOptions);
11
+ case 'BarChart': case 'RowChart': case 'StackedBarChart':
12
+ case 'StackedRowChart': case 'HorizontalSymbolChart': case 'VerticalSymbolChart':
13
+ return focus(series, focusOptions);
14
+ default:
15
+ return series;
16
+ }
17
+ };
18
+
19
+ export { getFocusedSeries as default };
20
+ //# sourceMappingURL=focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.js","sources":["../../../../src/rules/src/factories/focus.js"],"sourcesContent":["import sampleFocus from './sample-focus';\nimport scatterFocus from './scatter-focus';\nimport timelineFocus from './timeline-focus';\n\nexport default ({ type, series, focusOptions }) => {\n switch(type) {\n case 'ScatterChart':\n return scatterFocus(series, focusOptions);\n case 'TimelineChart':\n return timelineFocus(series, focusOptions);\n case 'BarChart': case 'RowChart': case 'StackedBarChart':\n case 'StackedRowChart': case 'HorizontalSymbolChart': case 'VerticalSymbolChart':\n return sampleFocus(series, focusOptions);\n default:\n return series;\n }\n};"],"names":["scatterFocus","timelineFocus","sampleFocus"],"mappings":";;;;AAIA,uBAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK;AACnD,EAAE,OAAO,IAAI;AACb,IAAI,KAAK,cAAc;AACvB,MAAM,OAAOA,OAAY,CAAC,MAAM,EAAE,YAAY,CAAC;AAC/C,IAAI,KAAK,eAAe;AACxB,MAAM,OAAOC,OAAa,CAAC,MAAM,EAAE,YAAY,CAAC;AAChD,IAAI,KAAK,UAAU,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,KAAK,iBAAiB;AAC5D,IAAI,KAAK,iBAAiB,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,KAAK,qBAAqB;AACpF,MAAM,OAAOC,KAAW,CAAC,MAAM,EAAE,YAAY,CAAC;AAC9C,IAAI;AACJ,MAAM,OAAO,MAAM;AACnB;AACA,CAAC;;;;"}
@@ -0,0 +1,11 @@
1
+ import getFocusedSeries from './focus.js';
2
+ import getSeries from './series.js';
3
+
4
+ const getChartSeries = ({ type, data, options, singularity, focusOptions }) => {
5
+ const chartSeries = getSeries({ type, data, options, singularity });
6
+ const focusedSeries = getFocusedSeries({ type, series: chartSeries, focusOptions });
7
+ return focusedSeries;
8
+ };
9
+
10
+ export { getChartSeries };
11
+ //# sourceMappingURL=getChartSeries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getChartSeries.js","sources":["../../../../src/rules/src/factories/getChartSeries.js"],"sourcesContent":["import getFocusedSeries from './focus';\nimport getSeries from './series';\n\nexport const getChartSeries = ({ type, data, options, singularity, focusOptions }) => {\n const chartSeries = getSeries({ type, data, options, singularity });\n const focusedSeries = getFocusedSeries({ type, series: chartSeries, focusOptions });\n return focusedSeries;\n};\n"],"names":[],"mappings":";;;AAGY,MAAC,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK;AACtF,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACrE,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AACrF,EAAE,OAAO,aAAa;AACtB;;;;"}
@@ -1,24 +1,20 @@
1
- import { head, get, map, omit, keys, each, isArray } from 'lodash';
1
+ import * as R from 'ramda';
2
2
 
3
3
  function focus(series, focusSelections) {
4
- const serie = head(series);
5
- const datapoints = get(serie, 'datapoints', []);
4
+ const { highlight = [], baseline = [] } = focusSelections || {};
5
+ if (R.isEmpty(highlight) && R.isEmpty(baseline)) {
6
+ return series;
7
+ }
6
8
 
7
- const _datapoints = map(datapoints, (datapoint) => {
8
- let _datapoint = omit(datapoint, map(keys(focusSelections), focusKey => `${focusKey}Index`));
9
-
10
- each(focusSelections, (focusSelection, focusKey) => {
11
- const _focusKey = `${focusKey}Index`;
12
-
13
- each(isArray(focusSelection) ? focusSelection : [focusSelection], (focus, index) => {
14
- if (get(focus, 'value') === _datapoint.key) _datapoint[_focusKey] = index;
15
- });
16
- });
17
-
18
- return _datapoint;
19
- });
20
-
21
- return [{ ...serie, datapoints: _datapoints }];
9
+ return R.over(
10
+ R.lensPath([0, 'datapoints']),
11
+ R.map(dp => ({
12
+ ...dp,
13
+ highlightIndex: R.findIndex(R.propEq(dp.key, 'value'), highlight),
14
+ baselineIndex: R.path([0, 'value'], baseline) === dp.key ? 0 : -1
15
+ })),
16
+ series || []
17
+ );
22
18
  }
23
19
 
24
20
  export { focus as default };
@@ -1 +1 @@
1
- {"version":3,"file":"sample-focus.js","sources":["../../../../src/rules/src/factories/sample-focus.js"],"sourcesContent":["import { map, each, get, omit, isArray, keys, head } from 'lodash';\n\nexport default function focus(series, focusSelections) {\n const serie = head(series);\n const datapoints = get(serie, 'datapoints', []);\n\n const _datapoints = map(datapoints, (datapoint) => {\n let _datapoint = omit(datapoint, map(keys(focusSelections), focusKey => `${focusKey}Index`));\n \n each(focusSelections, (focusSelection, focusKey) => {\n const _focusKey = `${focusKey}Index`;\n\n each(isArray(focusSelection) ? focusSelection : [focusSelection], (focus, index) => {\n if (get(focus, 'value') === _datapoint.key) _datapoint[_focusKey] = index;\n });\n });\n\n return _datapoint;\n });\n\n return [{ ...serie, datapoints: _datapoints }];\n}\n"],"names":[],"mappings":";;AAEe,SAAS,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE;AACvD,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC5B,EAAE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;AAEjD,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,KAAK;AACrD,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAChG;AACA,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,EAAE,QAAQ,KAAK;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;;AAE1C,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK;AAC1F,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK;AACjF,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;;AAEN,IAAI,OAAO,UAAU;AACrB,EAAE,CAAC,CAAC;;AAEJ,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"sample-focus.js","sources":["../../../../src/rules/src/factories/sample-focus.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport default function focus(series, focusSelections) {\n const { highlight = [], baseline = [] } = focusSelections || {};\n if (R.isEmpty(highlight) && R.isEmpty(baseline)) {\n return series;\n }\n\n return R.over(\n R.lensPath([0, 'datapoints']),\n R.map(dp => ({\n ...dp,\n highlightIndex: R.findIndex(R.propEq(dp.key, 'value'), highlight),\n baselineIndex: R.path([0, 'value'], baseline) === dp.key ? 0 : -1\n })),\n series || []\n );\n}\n"],"names":[],"mappings":";;AAEe,SAAS,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE;AACvD,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,eAAe,IAAI,EAAE;AACjE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnD,IAAI,OAAO,MAAM;AACjB,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACjC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE;AACX,MAAM,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC;AACvE,MAAM,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG;AACrE,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,IAAI;AACd,GAAG;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- import { sortBy, map, head, split, isNil, isEmpty } from 'lodash';
1
+ import * as R from 'ramda';
2
2
  import { categoryDisplay } from '../dimension-utils.js';
3
3
  import { getFormatedObservation } from '../observation-formater.js';
4
4
 
@@ -8,25 +8,25 @@ const getDatapoints = (
8
8
  const [categoryKey, valueKey] = keys;
9
9
  const sortFunc = dp => dp[valueKey] * sortDirection;
10
10
 
11
- return sortBy(
12
- map(
13
- observations,
14
- (observationValue, observationKey) => {
15
- const value = head(observationValue);
16
- const category = categoryDisplay(split(observationKey, ':'), dimensions, dimensionsWithValuesIndexedById, null, display);
17
- const categoryIds = categoryDisplay(split(observationKey, ':'), dimensions, dimensionsWithValuesIndexedById, null, 'code');
18
- const formatedValue = getFormatedObservation(observationValue, formaterAttrs);
11
+ return R.pipe(
12
+ R.keys,
13
+ R.map((observationKey) => {
14
+ const observationValue = R.prop(observationKey, observations);
15
+ const value = R.head(observationValue);
16
+ const splitKey = R.split(':', observationKey);
17
+ const category = categoryDisplay(splitKey, dimensions, dimensionsWithValuesIndexedById, null, display);
18
+ const categoryIds = categoryDisplay(splitKey, dimensions, dimensionsWithValuesIndexedById, null, 'code');
19
+ const formatedValue = getFormatedObservation(observationValue, formaterAttrs);
19
20
 
20
- let key = categoryIds;
21
- if (isNil(key) || isEmpty(key)) {
22
- key = 'uniq-dp';
23
- }
24
-
25
- return { value, category, [valueKey]: value, [categoryKey]: category, key, formatedValue };
21
+ let key = categoryIds;
22
+ if (R.isNil(key) || R.isEmpty(key)) {
23
+ key = 'uniq-dp';
26
24
  }
27
- ),
28
- sortFunc
29
- );
25
+
26
+ return { value, category, [valueKey]: value, [categoryKey]: category, key, formatedValue };
27
+ }),
28
+ R.sortBy(sortFunc)
29
+ )(observations);
30
30
  };
31
31
 
32
32
  const series = (
@@ -39,7 +39,7 @@ const series = (
39
39
  }]
40
40
  };
41
41
 
42
- var __sampleSeries = (chartType, { observations, dimensions }, dimensionsWithValuesIndexedById, display, formaterAttrs) => {
42
+ var sampleSeries = (chartType, { observations, dimensions }, dimensionsWithValuesIndexedById, display, formaterAttrs) => {
43
43
  switch(chartType) {
44
44
  case 'BarChart':
45
45
  return series(['x', 'y'], observations, dimensions, dimensionsWithValuesIndexedById, 1, display, formaterAttrs);
@@ -50,5 +50,5 @@ var __sampleSeries = (chartType, { observations, dimensions }, dimensionsWithVal
50
50
  }
51
51
  };
52
52
 
53
- export { __sampleSeries as default, getDatapoints, series };
53
+ export { sampleSeries as default };
54
54
  //# sourceMappingURL=sample-series.js.map