@sis-cc/dotstatsuite-components 22.6.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 (194) hide show
  1. package/dist/bridge-d3-react/src/index.js +1 -2
  2. package/dist/bridge-d3-react/src/index.js.map +1 -1
  3. package/dist/rules/src/chart/getChartOptions.js +1 -1
  4. package/dist/rules/src/chart/getChartOptions.js.map +1 -1
  5. package/dist/rules/src/constants.js +1 -35
  6. package/dist/rules/src/constants.js.map +1 -1
  7. package/dist/rules/src/dimension-utils.js +26 -24
  8. package/dist/rules/src/dimension-utils.js.map +1 -1
  9. package/dist/rules/src/factories/choro-series.js +43 -32
  10. package/dist/rules/src/factories/choro-series.js.map +1 -1
  11. package/dist/rules/src/factories/focus.js +20 -0
  12. package/dist/rules/src/factories/focus.js.map +1 -0
  13. package/dist/rules/src/factories/getChartSeries.js +11 -0
  14. package/dist/rules/src/factories/getChartSeries.js.map +1 -0
  15. package/dist/rules/src/factories/sample-focus.js +14 -18
  16. package/dist/rules/src/factories/sample-focus.js.map +1 -1
  17. package/dist/rules/src/factories/sample-series.js +20 -20
  18. package/dist/rules/src/factories/sample-series.js.map +1 -1
  19. package/dist/rules/src/factories/scatter-focus.js +21 -35
  20. package/dist/rules/src/factories/scatter-focus.js.map +1 -1
  21. package/dist/rules/src/factories/scatter-series.js +5 -5
  22. package/dist/rules/src/factories/scatter-series.js.map +1 -1
  23. package/dist/rules/src/factories/series.js +48 -0
  24. package/dist/rules/src/factories/series.js.map +1 -0
  25. package/dist/rules/src/factories/stacked-series.js +6 -7
  26. package/dist/rules/src/factories/stacked-series.js.map +1 -1
  27. package/dist/rules/src/factories/symbol-series.js +39 -46
  28. package/dist/rules/src/factories/symbol-series.js.map +1 -1
  29. package/dist/rules/src/factories/timeline-focus.js +10 -14
  30. package/dist/rules/src/factories/timeline-focus.js.map +1 -1
  31. package/dist/rules/src/factories/timeline-series.js +37 -41
  32. package/dist/rules/src/factories/timeline-series.js.map +1 -1
  33. package/dist/rules/src/get-values-enhanced.js +6 -0
  34. package/dist/rules/src/get-values-enhanced.js.map +1 -1
  35. package/dist/rules/src/index.js +6 -371
  36. package/dist/rules/src/index.js.map +1 -1
  37. package/dist/rules/src/layout.js +4 -2
  38. package/dist/rules/src/layout.js.map +1 -1
  39. package/dist/rules/src/observation-formater.js +8 -14
  40. package/dist/rules/src/observation-formater.js.map +1 -1
  41. package/dist/rules/src/properties/focus.js +51 -3
  42. package/dist/rules/src/properties/focus.js.map +1 -1
  43. package/dist/rules/src/properties/getHeaderProps.js +2 -53
  44. package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
  45. package/dist/rules/src/properties/index.js +3 -94
  46. package/dist/rules/src/properties/index.js.map +1 -1
  47. package/dist/rules/src/properties/linear.js +4 -4
  48. package/dist/rules/src/properties/linear.js.map +1 -1
  49. package/dist/rules/src/properties/scatter.js +4 -4
  50. package/dist/rules/src/properties/scatter.js.map +1 -1
  51. package/dist/rules/src/properties/stacked.js +5 -7
  52. package/dist/rules/src/properties/stacked.js.map +1 -1
  53. package/dist/rules/src/properties/symbol.js.map +1 -1
  54. package/dist/rules/src/properties/utils.js +11 -12
  55. package/dist/rules/src/properties/utils.js.map +1 -1
  56. package/dist/rules/src/sdmx-data/index.js +2 -27
  57. package/dist/rules/src/sdmx-data/index.js.map +1 -1
  58. package/dist/rules2/src/combinedValuesDisplay.js +2 -2
  59. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
  60. package/dist/rules2/src/getAttributes.js +37 -0
  61. package/dist/rules2/src/getAttributes.js.map +1 -0
  62. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  63. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
  64. package/dist/rules2/src/getHeaderCombinations.js +1 -1
  65. package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
  66. package/dist/rules2/src/getHeaderSubtitle.js +1 -1
  67. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
  68. package/dist/rules2/src/getHeaderTitle.js +1 -1
  69. package/dist/rules2/src/getHeaderTitle.js.map +1 -1
  70. package/dist/rules2/src/getMetadataCoordinates.js +1 -1
  71. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
  72. package/dist/rules2/src/getNotDisplayedIds.js +1 -1
  73. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
  74. package/dist/rules2/src/index.js +1 -0
  75. package/dist/rules2/src/index.js.map +1 -1
  76. package/dist/rules2/src/parseAttributes.js +2 -2
  77. package/dist/rules2/src/parseAttributes.js.map +1 -1
  78. package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
  79. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
  80. package/dist/rules2/src/parseMetadataSeries.js +1 -1
  81. package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
  82. package/dist/rules2/src/prepareData.js +10 -3
  83. package/dist/rules2/src/prepareData.js.map +1 -1
  84. package/dist/rules2/src/refineDimensions.js +53 -8
  85. package/dist/rules2/src/refineDimensions.js.map +1 -1
  86. package/dist/rules2/src/table/getCells.js +1 -1
  87. package/dist/rules2/src/table/getCells.js.map +1 -1
  88. package/dist/rules2/src/table/getLayout.js +1 -1
  89. package/dist/rules2/src/table/getLayout.js.map +1 -1
  90. package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
  91. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
  92. package/dist/rules2/src/table/getTableProps.js +0 -1
  93. package/dist/rules2/src/table/getTableProps.js.map +1 -1
  94. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
  95. package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
  96. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
  97. package/dist/rules2/src/utils.js.map +1 -1
  98. package/dist/viewer/src/chart.js +13 -2
  99. package/dist/viewer/src/chart.js.map +1 -1
  100. package/dist/viewer/src/legends/FocusLegend.js +1 -1
  101. package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
  102. package/package.json +6 -5
  103. package/src/bridge-d3-react/src/index.js +0 -1
  104. package/src/rules/src/chart/getChartOptions.js +2 -2
  105. package/src/rules/src/constants.js +0 -35
  106. package/src/rules/src/dimension-utils.js +25 -23
  107. package/src/rules/src/factories/choro-series.js +41 -30
  108. package/src/rules/src/factories/focus.js +17 -0
  109. package/src/rules/src/factories/getChartSeries.js +8 -0
  110. package/src/rules/src/factories/sample-focus.js +14 -18
  111. package/src/rules/src/factories/sample-series.js +20 -20
  112. package/src/rules/src/factories/scatter-focus.js +22 -36
  113. package/src/rules/src/factories/scatter-series.js +8 -8
  114. package/src/rules/src/factories/series.js +45 -0
  115. package/src/rules/src/factories/stacked-series.js +4 -5
  116. package/src/rules/src/factories/symbol-series.js +37 -44
  117. package/src/rules/src/factories/timeline-focus.js +10 -14
  118. package/src/rules/src/factories/timeline-series.js +35 -39
  119. package/src/rules/src/get-values-enhanced.js +6 -0
  120. package/src/rules/src/index.js +7 -384
  121. package/src/rules/src/layout.js +4 -2
  122. package/src/rules/src/observation-formater.js +14 -20
  123. package/src/rules/src/properties/focus.js +50 -2
  124. package/src/rules/src/properties/getHeaderProps.js +1 -53
  125. package/src/rules/src/properties/index.js +2 -93
  126. package/src/rules/src/properties/linear.js +2 -2
  127. package/src/rules/src/properties/scatter.js +4 -4
  128. package/src/rules/src/properties/stacked.js +4 -6
  129. package/src/rules/src/properties/symbol.js +0 -1
  130. package/src/rules/src/properties/utils.js +11 -22
  131. package/src/rules/src/sdmx-data/index.js +2 -31
  132. package/src/rules2/src/combinedValuesDisplay.js +2 -2
  133. package/src/rules2/src/getAttributes.js +34 -0
  134. package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  135. package/src/rules2/src/getHeaderCombinations.js +1 -1
  136. package/src/rules2/src/getHeaderSubtitle.js +2 -2
  137. package/src/rules2/src/getHeaderTitle.js +1 -1
  138. package/src/rules2/src/getMetadataCoordinates.js +1 -1
  139. package/src/rules2/src/getNotDisplayedIds.js +1 -1
  140. package/src/rules2/src/index.js +1 -0
  141. package/src/rules2/src/parseAttributes.js +2 -2
  142. package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
  143. package/src/rules2/src/parseMetadataSeries.js +1 -1
  144. package/src/rules2/src/prepareData.js +10 -3
  145. package/src/rules2/src/refineDimensions.js +53 -8
  146. package/src/rules2/src/table/getCells.js +2 -2
  147. package/src/rules2/src/table/getLayout.js +2 -2
  148. package/src/rules2/src/table/getTableLayoutIds.js +9 -9
  149. package/src/rules2/src/table/getTableProps.js +0 -1
  150. package/src/rules2/src/table/parseValueHierarchy.js +0 -7
  151. package/src/rules2/src/table/refineLayoutSize2.js +5 -5
  152. package/src/rules2/src/utils.js +0 -11
  153. package/src/viewer/src/app/leg.js +0 -1
  154. package/src/viewer/src/chart.jsx +23 -1
  155. package/src/viewer/src/legends/FocusLegend.jsx +1 -1
  156. package/dist/rules/src/factories/scatter-dimension.js +0 -35
  157. package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
  158. package/dist/rules/src/factories/stacked-dimension.js +0 -32
  159. package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
  160. package/dist/rules/src/factories/symbol-dimension.js +0 -32
  161. package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
  162. package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
  163. package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
  164. package/dist/rules/src/header/getHeaderUnits.js +0 -21
  165. package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
  166. package/dist/rules/src/header/getSubtitleFlags.js +0 -47
  167. package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
  168. package/dist/rules/src/header/getTitleFlags.js +0 -12
  169. package/dist/rules/src/header/getTitleFlags.js.map +0 -1
  170. package/dist/rules/src/properties/errors.js +0 -22
  171. package/dist/rules/src/properties/errors.js.map +0 -1
  172. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
  173. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
  174. package/dist/rules/src/v8-transformer.js +0 -174
  175. package/dist/rules/src/v8-transformer.js.map +0 -1
  176. package/src/bridge-d3-react/src/app.js +0 -64
  177. package/src/bridge-d3-react/src/mock-choro.js +0 -394
  178. package/src/rules/src/factories/scatter-dimension.js +0 -32
  179. package/src/rules/src/factories/stacked-dimension.js +0 -29
  180. package/src/rules/src/factories/symbol-dimension.js +0 -29
  181. package/src/rules/src/header/getDefaultSubtitle.js +0 -40
  182. package/src/rules/src/header/getHeaderUnits.js +0 -17
  183. package/src/rules/src/header/getSubtitleFlags.js +0 -43
  184. package/src/rules/src/header/getTitleFlags.js +0 -8
  185. package/src/rules/src/header/index.js +0 -4
  186. package/src/rules/src/preparators/enhanceObservations.js +0 -152
  187. package/src/rules/src/properties/errors.js +0 -19
  188. package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
  189. package/src/rules/src/properties/information.js +0 -84
  190. package/src/rules/src/v8-transformer.js +0 -177
  191. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
  192. package/src/rules2/src/getMetadataStructureFromData.js +0 -17
  193. package/src/rules2/src/refineMetadataCoordinates.js +0 -28
  194. package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
@@ -1,22 +0,0 @@
1
- import * as R from 'ramda';
2
- import { TIMELINE } from '../constants.js';
3
- import { getTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
4
-
5
- const getHasNoTimePeriodError = ({ data, type }) => {
6
- if (!R.equals(TIMELINE, type)) {
7
- return false;
8
- }
9
- const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);
10
- const timeDimension = getTimePeriodDimension({ dimensions });
11
- if (R.isNil(timeDimension)) {
12
- return true;
13
- }
14
- return R.pipe(
15
- R.propOr([], 'values'),
16
- R.length,
17
- R.gte(1)
18
- )(timeDimension);
19
- };
20
-
21
- export { getHasNoTimePeriodError };
22
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sources":["../../../../src/rules/src/properties/errors.js"],"sourcesContent":["import * as R from 'ramda';\nimport { TIMELINE } from '../constants';\nimport { getTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nexport const getHasNoTimePeriodError = ({ data, type }) => {\n if (!R.equals(TIMELINE, type)) {\n return false;\n }\n const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);\n const timeDimension = getTimePeriodDimension({ dimensions });\n if (R.isNil(timeDimension)) {\n return true;\n }\n return R.pipe(\n R.propOr([], 'values'),\n R.length,\n R.gte(1)\n )(timeDimension);\n};\n"],"names":[],"mappings":";;;;AAIY,MAAC,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;AAC3D,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;AACjC,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC;AACnF,EAAE,MAAM,aAAa,GAAG,sBAAsB,CAAC,EAAE,UAAU,EAAE,CAAC;AAC9D,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AAC9B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC;AAC1B,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACX,GAAG,CAAC,aAAa,CAAC;AAClB;;;;"}
@@ -1,50 +0,0 @@
1
- import * as R from 'ramda';
2
- import { extractSdmxArtefacts, prepareData } from '../index.js';
3
-
4
- const initialState = {
5
- dataflow: null,
6
- dataflowAttributes: null,
7
- dimensions: null,
8
- units: null,
9
- id: null,
10
- sourceLabel: null,
11
- subtitle: null,
12
- title: null,
13
- withCopyright: true,
14
- withLogo: true
15
- };
16
-
17
- const getInformationsStateFromNewProps = (props, state) => {
18
- if (R.isNil(props.data)) {
19
- return initialState
20
- }
21
- const id = R.pipe(
22
- R.prop('data'),
23
- extractSdmxArtefacts,
24
- R.prop('id')
25
- )(props);
26
- if (id === state.id && props.display === state.display) {
27
- return {};
28
- }
29
- const {
30
- dataflowAttributes,
31
- dataflowName,
32
- dimensions,
33
- units
34
- } = prepareData({ data: props.data }, props.customAttributes, props.units);
35
- return {
36
- ...initialState,
37
- dataflow: {
38
- id: props.dataflowId,
39
- name: dataflowName
40
- },
41
- dataflowAttributes,
42
- dimensions,
43
- display: props.display,
44
- id,
45
- units
46
- };
47
- };
48
-
49
- export { getInformationsStateFromNewProps };
50
- //# sourceMappingURL=getInformationsStateFromNewProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getInformationsStateFromNewProps.js","sources":["../../../../src/rules/src/properties/getInformationsStateFromNewProps.js"],"sourcesContent":["import * as R from 'ramda';\nimport { extractSdmxArtefacts, prepareData } from '../';\n\nconst initialState = {\n dataflow: null,\n dataflowAttributes: null,\n dimensions: null,\n units: null,\n id: null,\n sourceLabel: null,\n subtitle: null,\n title: null,\n withCopyright: true,\n withLogo: true\n};\n\nexport const getInformationsStateFromNewProps = (props, state) => {\n if (R.isNil(props.data)) {\n return initialState\n }\n const id = R.pipe(\n R.prop('data'),\n extractSdmxArtefacts,\n R.prop('id')\n )(props);\n if (id === state.id && props.display === state.display) {\n return {};\n }\n const {\n dataflowAttributes,\n dataflowName,\n dimensions,\n units\n } = prepareData({ data: props.data }, props.customAttributes, props.units);\n return {\n ...initialState,\n dataflow: {\n id: props.dataflowId,\n name: dataflowName\n },\n dataflowAttributes,\n dimensions,\n display: props.display,\n id,\n units\n };\n};\n"],"names":[],"mappings":";;;AAGA,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,kBAAkB,EAAE,IAAI;AAC1B,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAEW,MAAC,gCAAgC,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AAClE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC3B,IAAI,OAAO;AACX,EAAE;AACF,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI;AACnB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAClB,IAAI,oBAAoB;AACxB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;AACf,GAAG,CAAC,KAAK,CAAC;AACV,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE;AAC1D,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,MAAM;AACR,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI;AACJ,GAAG,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC;AAC5E,EAAE,OAAO;AACT,IAAI,GAAG,YAAY;AACnB,IAAI,QAAQ,EAAE;AACd,MAAM,EAAE,EAAE,KAAK,CAAC,UAAU;AAC1B,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,kBAAkB;AACtB,IAAI,UAAU;AACd,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO;AAC1B,IAAI,EAAE;AACN,IAAI;AACJ,GAAG;AACH;;;;"}
@@ -1,174 +0,0 @@
1
- import * as R from 'ramda';
2
- import { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
- import { getIsHidden, setAnnotationsLayout, getRelationnalAnnotations } from './sdmx-data/index.js';
4
- import { getReportingYearStart } from './preparators/getReportingYearStart.js';
5
- import { getValuesEnhanced } from './get-values-enhanced.js';
6
- import { getNotDisplayedIds } from '../../rules2/src/getNotDisplayedIds.js';
7
-
8
- const TIME_PERIOD_ID = 'TIME_PERIOD';
9
-
10
- const dataTransformer = (dataNew, options = {}) => {
11
- const { locale } = options;
12
- const reportYearStart = getReportingYearStart(dataNew);
13
- const getName = R.prop('name');
14
- //---------------------------------------------------------------------------------------Annotations
15
- const getStructure = R.pathOr({}, ['data', 'structure']);
16
- const structure = getStructure(dataNew);
17
- const getAnnotations = R.propOr([], 'annotations');
18
- const annotations = getAnnotations(structure);
19
- const getDataSets = R.pathOr({}, ['data', 'dataSets']);
20
- const dataSets = getDataSets(dataNew);
21
-
22
- const dataSetsAnnotations = R.props(
23
- R.pathOr([], [0, 'annotations'], dataSets),
24
- annotations,
25
- );
26
-
27
- /*
28
- hiddenValues => codelistIds or codelistValuesIds for display computation
29
- hiddenCombinations => used only for dimensions, if dimension values match the provided set, all dimension is removed
30
- */
31
- const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(dataSetsAnnotations);
32
- const getIsAllDimHidden = ({ id, values }) => {
33
- if (!R.has(id, hiddenCombinations)) {
34
- return false;
35
- }
36
- const valuesIds = R.pluck('id', values);
37
- return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));
38
- };
39
-
40
- //--------------------------------------------------------------------------------------------Header
41
- const getMeta = R.propOr({}, 'meta');
42
- const meta = getMeta(dataNew);
43
-
44
- const getSender = R.propOr({}, 'sender');
45
- const sender = getSender(meta);
46
-
47
- const resHeader = {
48
- ...meta,
49
- sender: { ...sender, name: getName(sender) },
50
- };
51
-
52
- //----------------------------------------------------------------------------------------Attributes
53
- const getAttributes = R.propOr({}, 'attributes');
54
- const attributes = getAttributes(structure);
55
-
56
- const getAttrObservations = R.propOr([], 'observation');
57
- const attrObservations = getAttrObservations(attributes);
58
-
59
- const resAttrObservations = R.addIndex(R.map)((observation, index) => {
60
- const obsAnnotations = R.props(observation.annotations || [], annotations);
61
- return {
62
- ...observation,
63
- __index: index,
64
- display:
65
- !R.has(observation.id, hiddenValues) && !getIsHidden(obsAnnotations),
66
- name: getName(observation),
67
- values: getValuesEnhanced({
68
- locale,
69
- annotations,
70
- parent: observation.id,
71
- reportYearStart,
72
- hiddenIds: hiddenValues,
73
- options,
74
- })(R.propOr([], 'values', observation)),
75
- roles: !R.isNil(observation.role) ? R.head(observation.role) : null,
76
- };
77
- }, attrObservations);
78
-
79
- const datasetAttributes = R.map((attr) => {
80
- const attrAnnotations = R.props(attr.annotations || [], annotations);
81
- return {
82
- ...attr,
83
- display: !R.has(attr.id, hiddenValues) && !getIsHidden(attrAnnotations),
84
- name: getName(attr),
85
- values: getValuesEnhanced({
86
- locale,
87
- annotations,
88
- parent: attr.id,
89
- hiddenIds: hiddenValues,
90
- options,
91
- reportYearStart,
92
- })(R.propOr([], 'values', attr)),
93
- };
94
- }, R.propOr([], 'dataSet', attributes));
95
-
96
- const resAttributes = {
97
- ...attributes,
98
- observation: R.concat(resAttrObservations, datasetAttributes),
99
- };
100
-
101
- //----------------------------------------------------------------------------------------Dimensions
102
- const getDimensions = R.propOr({}, 'dimensions');
103
- const dimensions = getDimensions(structure);
104
-
105
- const getDimObservations = R.propOr([], 'observation');
106
- const dimObservations = getDimObservations(dimensions);
107
-
108
- const getObservations = (locale) =>
109
- R.addIndex(R.reduce)(
110
- (acc, observation, obsIndex) => {
111
- const id = R.prop('id')(observation);
112
- const dimAnnotations = getRelationnalAnnotations(
113
- R.propOr([], 'annotations')(observation),
114
- )(annotations);
115
- const isTimeDimension = isTimePeriodDimension(observation);
116
- const values = getValuesEnhanced({
117
- locale,
118
- annotations,
119
- isTimeDimension,
120
- reportYearStart,
121
- parent: id,
122
- hiddenIds: hiddenValues,
123
- options,
124
- })(R.propOr([], 'values', observation));
125
- const isAllDimHidden = getIsAllDimHidden({ id, values });
126
- const isHidden = isAllDimHidden || R.has(id, hiddenValues)
127
- || getIsHidden(dimAnnotations);
128
- return {
129
- observation: R.append({
130
- ...observation,
131
- rejected: isAllDimHidden || R.isEmpty(values),
132
- display: !isHidden,
133
- __index: obsIndex,
134
- name: getName(observation),
135
- values,
136
- role: isTimeDimension
137
- ? TIME_PERIOD_ID
138
- : R.head(R.propOr([], 'roles', observation)),
139
- })(acc.observation),
140
- dimensionsLayout: setAnnotationsLayout(
141
- id,
142
- acc.dimensionsLayout,
143
- )(dimAnnotations),
144
- };
145
- },
146
- { observation: [], dimensionsLayout: {} },
147
- );
148
-
149
- //-----------------------------------------------------------------------------------------Structure
150
- const { dimensionsLayout, observation } =
151
- getObservations(locale)(dimObservations);
152
- const resStructure = {
153
- ...structure,
154
- name: getName({ ...structure, id: options.dataflowId }),
155
- annotations,
156
- attributes: resAttributes,
157
- dimensions: { observation },
158
- };
159
-
160
- //------------------------------------------------------------------------------------------------------Layout
161
- const dataSetsLayout = R.reduce((acc, dataSetsAnnotation) => {
162
- const title = R.propOr('', 'title')(dataSetsAnnotation);
163
- if (R.isEmpty(title)) return acc;
164
- return setAnnotationsLayout(title, acc)([dataSetsAnnotation]);
165
- }, {})(dataSetsAnnotations);
166
-
167
- return {
168
- data: { header: resHeader, dataSets, structure: resStructure },
169
- layout: R.mergeRight(dimensionsLayout, dataSetsLayout),
170
- };
171
- };
172
-
173
- export { dataTransformer };
174
- //# sourceMappingURL=v8-transformer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v8-transformer.js","sources":["../../../src/rules/src/v8-transformer.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n isTimePeriodDimension,\n} from '@sis-cc/dotstatsuite-sdmxjs';\nimport {\n getRelationnalAnnotations,\n setAnnotationsLayout,\n getIsHidden,\n} from './sdmx-data';\nimport { getReportingYearStart } from './preparators/getReportingYearStart';\nimport { getNotDisplayedIds } from '../../rules2/src';\nimport { getValuesEnhanced } from './get-values-enhanced';\n\nconst TIME_PERIOD_ID = 'TIME_PERIOD';\n\nexport const dataTransformer = (dataNew, options = {}) => {\n const { locale } = options;\n const reportYearStart = getReportingYearStart(dataNew);\n const getName = R.prop('name')\n //---------------------------------------------------------------------------------------Annotations\n const getStructure = R.pathOr({}, ['data', 'structure']);\n const structure = getStructure(dataNew);\n const getAnnotations = R.propOr([], 'annotations');\n const annotations = getAnnotations(structure);\n const getDataSets = R.pathOr({}, ['data', 'dataSets']);\n const dataSets = getDataSets(dataNew);\n\n const dataSetsAnnotations = R.props(\n R.pathOr([], [0, 'annotations'], dataSets),\n annotations,\n );\n\n /*\n hiddenValues => codelistIds or codelistValuesIds for display computation\n hiddenCombinations => used only for dimensions, if dimension values match the provided set, all dimension is removed\n */\n const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(dataSetsAnnotations);\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 //--------------------------------------------------------------------------------------------Header\n const getMeta = R.propOr({}, 'meta');\n const meta = getMeta(dataNew);\n\n const getSender = R.propOr({}, 'sender');\n const sender = getSender(meta);\n\n const resHeader = {\n ...meta,\n sender: { ...sender, name: getName(sender) },\n };\n\n //----------------------------------------------------------------------------------------Attributes\n const getAttributes = R.propOr({}, 'attributes');\n const attributes = getAttributes(structure);\n\n const getAttrObservations = R.propOr([], 'observation');\n const attrObservations = getAttrObservations(attributes);\n\n const resAttrObservations = R.addIndex(R.map)((observation, index) => {\n const obsAnnotations = R.props(observation.annotations || [], annotations);\n return {\n ...observation,\n __index: index,\n display:\n !R.has(observation.id, hiddenValues) && !getIsHidden(obsAnnotations),\n name: getName(observation),\n values: getValuesEnhanced({\n locale,\n annotations,\n parent: observation.id,\n reportYearStart,\n hiddenIds: hiddenValues,\n options,\n })(R.propOr([], 'values', observation)),\n roles: !R.isNil(observation.role) ? R.head(observation.role) : null,\n };\n }, attrObservations);\n\n const datasetAttributes = R.map((attr) => {\n const attrAnnotations = R.props(attr.annotations || [], annotations);\n return {\n ...attr,\n display: !R.has(attr.id, hiddenValues) && !getIsHidden(attrAnnotations),\n name: getName(attr),\n values: getValuesEnhanced({\n locale,\n annotations,\n parent: attr.id,\n hiddenIds: hiddenValues,\n options,\n reportYearStart,\n })(R.propOr([], 'values', attr)),\n };\n }, R.propOr([], 'dataSet', attributes));\n\n const resAttributes = {\n ...attributes,\n observation: R.concat(resAttrObservations, datasetAttributes),\n };\n\n //----------------------------------------------------------------------------------------Dimensions\n const getDimensions = R.propOr({}, 'dimensions');\n const dimensions = getDimensions(structure);\n\n const getDimObservations = R.propOr([], 'observation');\n const dimObservations = getDimObservations(dimensions);\n\n const getObservations = (locale) =>\n R.addIndex(R.reduce)(\n (acc, observation, obsIndex) => {\n const id = R.prop('id')(observation);\n const dimAnnotations = getRelationnalAnnotations(\n R.propOr([], 'annotations')(observation),\n )(annotations);\n const isTimeDimension = isTimePeriodDimension(observation);\n const values = getValuesEnhanced({\n locale,\n annotations,\n isTimeDimension,\n reportYearStart,\n parent: id,\n hiddenIds: hiddenValues,\n options,\n })(R.propOr([], 'values', observation));\n const isAllDimHidden = getIsAllDimHidden({ id, values });\n const isHidden = isAllDimHidden || R.has(id, hiddenValues)\n || getIsHidden(dimAnnotations);\n return {\n observation: R.append({\n ...observation,\n rejected: isAllDimHidden || R.isEmpty(values),\n display: !isHidden,\n __index: obsIndex,\n name: getName(observation),\n values,\n role: isTimeDimension\n ? TIME_PERIOD_ID\n : R.head(R.propOr([], 'roles', observation)),\n })(acc.observation),\n dimensionsLayout: setAnnotationsLayout(\n id,\n acc.dimensionsLayout,\n )(dimAnnotations),\n };\n },\n { observation: [], dimensionsLayout: {} },\n );\n\n //-----------------------------------------------------------------------------------------Structure\n const { dimensionsLayout, observation } =\n getObservations(locale)(dimObservations);\n const resStructure = {\n ...structure,\n name: getName({ ...structure, id: options.dataflowId }),\n annotations,\n attributes: resAttributes,\n dimensions: { observation },\n };\n\n //------------------------------------------------------------------------------------------------------Layout\n const dataSetsLayout = R.reduce((acc, dataSetsAnnotation) => {\n const title = R.propOr('', 'title')(dataSetsAnnotation);\n if (R.isEmpty(title)) return acc;\n return setAnnotationsLayout(title, acc)([dataSetsAnnotation]);\n }, {})(dataSetsAnnotations);\n\n return {\n data: { header: resHeader, dataSets, structure: resStructure },\n layout: R.mergeRight(dimensionsLayout, dataSetsLayout),\n };\n};\n"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- import React from 'react';
2
- import { render } from 'react-dom';
3
- import { map, random, range, size } from 'lodash';
4
- import { BarChart, RowChart, ScatterChart, LineChart, TimelineChart, ChoroplethChart, ChoroplethLegend } from './';
5
- import choroData from './mock-choro';
6
-
7
- function _render(id, chart) {
8
- let root = document.createElement('div');
9
- root.id = id;
10
- document.getElementById('root').appendChild(root);
11
- render(chart, root);
12
- }
13
-
14
- const datapoints = [
15
- {label: 'label1', x: -90, y: -4 },
16
- {label: 'label2', x: 110, y: 10 },
17
- {label: 'label3', x: 120, y: 14 },
18
- {label: 'label4', x: 137, y: 22 },
19
- {label: 'label5', x: 155, y: 36 },
20
- {label: 'label6', x: 268, y: 37, baselineIndex: 0 },
21
- {label: 'label7', x: 320, y: 41, highlightIndex: 0},
22
- {label: 'label8', x: 569, y: 89, highlightIndex: 1}
23
- ];
24
-
25
- const barData = [{ datapoints }];
26
- const rowData = [{ datapoints: map(datapoints, dp => ({ ...dp, x: dp.y, y: dp.x })) }];
27
- const scatterData = [{ datapoints: map(datapoints, dp => ({ ...dp, x: dp.y })) }];
28
- const lineFuncs = [
29
- (x) => 10*x+7,
30
- (x) => x*2+4,
31
- (x) => x*.3+20,
32
- (x) => x*4+14,
33
- (x) => x*.8-4,
34
- (x) => x**.5+5,
35
- (x) => x*(x/40),
36
- (x) => x*(x/40)*(x/40)
37
- ]
38
- const lineData = map(range(size(lineFuncs)), (r, i) => ({
39
- datapoints: map(range(50), (j) => ({ x: 2*j+1, y: lineFuncs[i%size(lineFuncs)](2*j+1) })),
40
- baselineIndex: i == 0 ? i : -1,
41
- highlightIndex: i == 2 || i == 7 ? i : -1
42
- }));
43
- const options = {
44
- base: {
45
- width: 800,
46
- height: 400,
47
- isAnnotated: true
48
- },
49
- legend: {
50
- choropleth: {
51
- width: 300,
52
- height: 50
53
- }
54
- }
55
- };
56
- const log = options => console.log(options);
57
-
58
- _render('root1', <BarChart options={ options } data={ barData } getInitialOptions={ log } />);
59
- _render('root2', <RowChart options={ options } data={ rowData } />);
60
- _render('root3', <ScatterChart options={ options } data={ scatterData } />);
61
- _render('root4', <LineChart options={ options } data={ lineData } />);
62
- _render('root5', <TimelineChart options={ options } data={ lineData } />);
63
- _render('root6', <ChoroplethChart options={ options } data={ choroData } />);
64
- _render('root7', <ChoroplethLegend options={ options } data={ choroData } />);