@sis-cc/dotstatsuite-components 22.5.0 → 23.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index.js +4 -5
- package/dist/_virtual/index.js.map +1 -1
- package/dist/_virtual/index2.js +4 -5
- package/dist/_virtual/index2.js.map +1 -1
- package/dist/_virtual/index3.js +4 -4
- package/dist/_virtual/index4.js +2 -6
- package/dist/_virtual/index4.js.map +1 -1
- package/dist/_virtual/index5.js +3 -5
- package/dist/_virtual/index5.js.map +1 -1
- package/dist/_virtual/index6.js +2 -6
- package/dist/_virtual/index6.js.map +1 -1
- package/dist/_virtual/index7.js +2 -6
- package/dist/_virtual/index7.js.map +1 -1
- package/dist/bridge-d3-react/src/index.js +1 -2
- package/dist/bridge-d3-react/src/index.js.map +1 -1
- package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +1 -1
- package/dist/node_modules/@mui/system/colorManipulator.js +2 -2
- package/dist/node_modules/@mui/system/esm/responsivePropType.js +1 -1
- package/dist/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +1 -1
- package/dist/node_modules/@mui/utils/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/date-fns/esm/_lib/defaultOptions/index.js +7 -0
- package/dist/node_modules/date-fns/esm/_lib/defaultOptions/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js +12 -0
- package/dist/node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/_lib/requiredArgs/index.js +8 -0
- package/dist/node_modules/date-fns/esm/_lib/requiredArgs/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js +25 -0
- package/dist/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/_lib/toInteger/index.js +13 -0
- package/dist/node_modules/date-fns/esm/_lib/toInteger/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/getISOWeek/index.js +39 -0
- package/dist/node_modules/date-fns/esm/getISOWeek/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/getISOWeekYear/index.js +47 -0
- package/dist/node_modules/date-fns/esm/getISOWeekYear/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/getTime/index.js +29 -0
- package/dist/node_modules/date-fns/esm/getTime/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isFriday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isFriday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isMonday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isMonday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isSaturday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isSaturday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isSunday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isSunday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isThursday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isThursday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isTuesday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isTuesday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/isWednesday/index.js +27 -0
- package/dist/node_modules/date-fns/esm/isWednesday/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js +12 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js +21 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js +45 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js +20 -0
- package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatDistance/index.js +119 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatRelative/index.js +14 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/localize/index.js +121 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/match/index.js +102 -0
- package/dist/node_modules/date-fns/esm/locale/ar/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/ar/index.js +30 -0
- package/dist/node_modules/date-fns/esm/locale/ar/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js +178 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js +42 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js +14 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/localize/index.js +137 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/match/index.js +103 -0
- package/dist/node_modules/date-fns/esm/locale/de/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/de/index.js +33 -0
- package/dist/node_modules/date-fns/esm/locale/de/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js +85 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js +14 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js +146 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js +101 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/index.js +30 -0
- package/dist/node_modules/date-fns/esm/locale/en-US/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js +85 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js +26 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/localize/index.js +122 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/match/index.js +102 -0
- package/dist/node_modules/date-fns/esm/locale/es/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/es/index.js +33 -0
- package/dist/node_modules/date-fns/esm/locale/es/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js +85 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js +14 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/localize/index.js +97 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/match/index.js +101 -0
- package/dist/node_modules/date-fns/esm/locale/fr/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/fr/index.js +30 -0
- package/dist/node_modules/date-fns/esm/locale/fr/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js +85 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js +54 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/localize/index.js +122 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/match/index.js +101 -0
- package/dist/node_modules/date-fns/esm/locale/it/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/it/index.js +31 -0
- package/dist/node_modules/date-fns/esm/locale/it/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js +85 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js +14 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/localize/index.js +88 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/match/index.js +100 -0
- package/dist/node_modules/date-fns/esm/locale/nl/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/nl/index.js +34 -0
- package/dist/node_modules/date-fns/esm/locale/nl/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js +89 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js +37 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js +14 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/localize/index.js +121 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/localize/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/match/index.js +100 -0
- package/dist/node_modules/date-fns/esm/locale/th/_lib/match/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/locale/th/index.js +31 -0
- package/dist/node_modules/date-fns/esm/locale/th/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/startOfISOWeek/index.js +32 -0
- package/dist/node_modules/date-fns/esm/startOfISOWeek/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/startOfISOWeekYear/index.js +37 -0
- package/dist/node_modules/date-fns/esm/startOfISOWeekYear/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/startOfWeek/index.js +52 -0
- package/dist/node_modules/date-fns/esm/startOfWeek/index.js.map +1 -0
- package/dist/node_modules/date-fns/esm/toDate/index.js +56 -0
- package/dist/node_modules/date-fns/esm/toDate/index.js.map +1 -0
- package/dist/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/react-is/index.js +1 -1
- package/dist/rules/src/chart/getAxisOptions.js +22 -22
- package/dist/rules/src/chart/getAxisOptions.js.map +1 -1
- package/dist/rules/src/chart/getChartOptions.js +1 -1
- package/dist/rules/src/chart/getChartOptions.js.map +1 -1
- package/dist/rules/src/constants.js +1 -35
- package/dist/rules/src/constants.js.map +1 -1
- package/dist/rules/src/date.js +40 -40
- package/dist/rules/src/date.js.map +1 -1
- package/dist/rules/src/dimension-utils.js +26 -24
- package/dist/rules/src/dimension-utils.js.map +1 -1
- package/dist/rules/src/factories/choro-series.js +43 -32
- package/dist/rules/src/factories/choro-series.js.map +1 -1
- package/dist/rules/src/factories/focus.js +20 -0
- package/dist/rules/src/factories/focus.js.map +1 -0
- package/dist/rules/src/factories/getChartSeries.js +11 -0
- package/dist/rules/src/factories/getChartSeries.js.map +1 -0
- package/dist/rules/src/factories/sample-focus.js +14 -18
- package/dist/rules/src/factories/sample-focus.js.map +1 -1
- package/dist/rules/src/factories/sample-series.js +20 -20
- package/dist/rules/src/factories/sample-series.js.map +1 -1
- package/dist/rules/src/factories/scatter-focus.js +21 -35
- package/dist/rules/src/factories/scatter-focus.js.map +1 -1
- package/dist/rules/src/factories/scatter-series.js +5 -5
- package/dist/rules/src/factories/scatter-series.js.map +1 -1
- package/dist/rules/src/factories/series.js +48 -0
- package/dist/rules/src/factories/series.js.map +1 -0
- package/dist/rules/src/factories/stacked-series.js +6 -7
- package/dist/rules/src/factories/stacked-series.js.map +1 -1
- package/dist/rules/src/factories/symbol-series.js +39 -46
- package/dist/rules/src/factories/symbol-series.js.map +1 -1
- package/dist/rules/src/factories/timeline-focus.js +10 -14
- package/dist/rules/src/factories/timeline-focus.js.map +1 -1
- package/dist/rules/src/factories/timeline-series.js +37 -41
- package/dist/rules/src/factories/timeline-series.js.map +1 -1
- package/dist/rules/src/get-values-enhanced.js +8 -2
- package/dist/rules/src/get-values-enhanced.js.map +1 -1
- package/dist/rules/src/index.js +6 -371
- package/dist/rules/src/index.js.map +1 -1
- package/dist/rules/src/layout.js +4 -2
- package/dist/rules/src/layout.js.map +1 -1
- package/dist/rules/src/observation-formater.js +8 -14
- package/dist/rules/src/observation-formater.js.map +1 -1
- package/dist/rules/src/properties/focus.js +51 -3
- package/dist/rules/src/properties/focus.js.map +1 -1
- package/dist/rules/src/properties/getHeaderProps.js +2 -53
- package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
- package/dist/rules/src/properties/index.js +3 -94
- package/dist/rules/src/properties/index.js.map +1 -1
- package/dist/rules/src/properties/linear.js +4 -4
- package/dist/rules/src/properties/linear.js.map +1 -1
- package/dist/rules/src/properties/scatter.js +4 -4
- package/dist/rules/src/properties/scatter.js.map +1 -1
- package/dist/rules/src/properties/stacked.js +5 -7
- package/dist/rules/src/properties/stacked.js.map +1 -1
- package/dist/rules/src/properties/symbol.js.map +1 -1
- package/dist/rules/src/properties/utils.js +11 -12
- package/dist/rules/src/properties/utils.js.map +1 -1
- package/dist/rules/src/sdmx-data/index.js +2 -27
- package/dist/rules/src/sdmx-data/index.js.map +1 -1
- package/dist/rules2/src/combinedValuesDisplay.js +2 -2
- package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
- package/dist/rules2/src/getAttributes.js +37 -0
- package/dist/rules2/src/getAttributes.js.map +1 -0
- package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
- package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
- package/dist/rules2/src/getHeaderCombinations.js +1 -1
- package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
- package/dist/rules2/src/getHeaderSubtitle.js +1 -1
- package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
- package/dist/rules2/src/getHeaderTitle.js +1 -1
- package/dist/rules2/src/getHeaderTitle.js.map +1 -1
- package/dist/rules2/src/getMetadataCoordinates.js +1 -1
- package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
- package/dist/rules2/src/getNotDisplayedIds.js +1 -1
- package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
- package/dist/rules2/src/index.js +1 -0
- package/dist/rules2/src/index.js.map +1 -1
- package/dist/rules2/src/parseAttributes.js +2 -2
- package/dist/rules2/src/parseAttributes.js.map +1 -1
- package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
- package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
- package/dist/rules2/src/parseMetadataSeries.js +1 -1
- package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
- package/dist/rules2/src/prepareData.js +10 -3
- package/dist/rules2/src/prepareData.js.map +1 -1
- package/dist/rules2/src/refineDimensions.js +53 -8
- package/dist/rules2/src/refineDimensions.js.map +1 -1
- package/dist/rules2/src/refineTimePeriod.js +12 -16
- package/dist/rules2/src/refineTimePeriod.js.map +1 -1
- package/dist/rules2/src/table/getCells.js +1 -1
- package/dist/rules2/src/table/getCells.js.map +1 -1
- package/dist/rules2/src/table/getLayout.js +1 -1
- package/dist/rules2/src/table/getLayout.js.map +1 -1
- package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
- package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
- package/dist/rules2/src/table/getTableProps.js +0 -1
- package/dist/rules2/src/table/getTableProps.js.map +1 -1
- package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
- package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
- package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
- package/dist/rules2/src/utils.js.map +1 -1
- package/dist/viewer/src/chart.js +13 -2
- package/dist/viewer/src/chart.js.map +1 -1
- package/dist/viewer/src/legends/FocusLegend.js +1 -1
- package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
- package/package.json +7 -6
- package/src/bridge-d3-react/src/index.js +0 -1
- package/src/rules/src/chart/getAxisOptions.js +33 -21
- package/src/rules/src/chart/getChartOptions.js +2 -2
- package/src/rules/src/constants.js +0 -35
- package/src/rules/src/date.js +6 -12
- package/src/rules/src/dimension-utils.js +25 -23
- package/src/rules/src/factories/choro-series.js +41 -30
- package/src/rules/src/factories/focus.js +17 -0
- package/src/rules/src/factories/getChartSeries.js +8 -0
- package/src/rules/src/factories/sample-focus.js +14 -18
- package/src/rules/src/factories/sample-series.js +20 -20
- package/src/rules/src/factories/scatter-focus.js +22 -36
- package/src/rules/src/factories/scatter-series.js +8 -8
- package/src/rules/src/factories/series.js +45 -0
- package/src/rules/src/factories/stacked-series.js +4 -5
- package/src/rules/src/factories/symbol-series.js +37 -44
- package/src/rules/src/factories/timeline-focus.js +10 -14
- package/src/rules/src/factories/timeline-series.js +35 -39
- package/src/rules/src/get-values-enhanced.js +8 -2
- package/src/rules/src/index.js +7 -384
- package/src/rules/src/layout.js +4 -2
- package/src/rules/src/observation-formater.js +14 -20
- package/src/rules/src/properties/focus.js +50 -2
- package/src/rules/src/properties/getHeaderProps.js +1 -53
- package/src/rules/src/properties/index.js +2 -93
- package/src/rules/src/properties/linear.js +2 -2
- package/src/rules/src/properties/scatter.js +4 -4
- package/src/rules/src/properties/stacked.js +4 -6
- package/src/rules/src/properties/symbol.js +0 -1
- package/src/rules/src/properties/utils.js +11 -22
- package/src/rules/src/sdmx-data/index.js +2 -31
- package/src/rules2/src/combinedValuesDisplay.js +2 -2
- package/src/rules2/src/getAttributes.js +34 -0
- package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
- package/src/rules2/src/getHeaderCombinations.js +1 -1
- package/src/rules2/src/getHeaderSubtitle.js +2 -2
- package/src/rules2/src/getHeaderTitle.js +1 -1
- package/src/rules2/src/getMetadataCoordinates.js +1 -1
- package/src/rules2/src/getNotDisplayedIds.js +1 -1
- package/src/rules2/src/index.js +1 -0
- package/src/rules2/src/parseAttributes.js +2 -2
- package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
- package/src/rules2/src/parseMetadataSeries.js +1 -1
- package/src/rules2/src/prepareData.js +10 -3
- package/src/rules2/src/refineDimensions.js +53 -8
- package/src/rules2/src/refineTimePeriod.js +12 -16
- package/src/rules2/src/table/getCells.js +2 -2
- package/src/rules2/src/table/getLayout.js +2 -2
- package/src/rules2/src/table/getTableLayoutIds.js +9 -9
- package/src/rules2/src/table/getTableProps.js +0 -1
- package/src/rules2/src/table/parseValueHierarchy.js +0 -7
- package/src/rules2/src/table/refineLayoutSize2.js +5 -5
- package/src/rules2/src/utils.js +0 -11
- package/src/viewer/src/app/leg.js +0 -1
- package/src/viewer/src/chart.jsx +23 -1
- package/src/viewer/src/legends/FocusLegend.jsx +1 -1
- package/dist/_virtual/index10.js +0 -8
- package/dist/_virtual/index10.js.map +0 -1
- package/dist/_virtual/index11.js +0 -8
- package/dist/_virtual/index11.js.map +0 -1
- package/dist/_virtual/index12.js +0 -8
- package/dist/_virtual/index12.js.map +0 -1
- package/dist/_virtual/index13.js +0 -8
- package/dist/_virtual/index13.js.map +0 -1
- package/dist/_virtual/index14.js +0 -8
- package/dist/_virtual/index14.js.map +0 -1
- package/dist/_virtual/index15.js +0 -8
- package/dist/_virtual/index15.js.map +0 -1
- package/dist/_virtual/index16.js +0 -8
- package/dist/_virtual/index16.js.map +0 -1
- package/dist/_virtual/index17.js +0 -7
- package/dist/_virtual/index17.js.map +0 -1
- package/dist/_virtual/index18.js +0 -7
- package/dist/_virtual/index18.js.map +0 -1
- package/dist/_virtual/index19.js +0 -8
- package/dist/_virtual/index19.js.map +0 -1
- package/dist/_virtual/index20.js +0 -4
- package/dist/_virtual/index20.js.map +0 -1
- package/dist/_virtual/index21.js +0 -6
- package/dist/_virtual/index21.js.map +0 -1
- package/dist/_virtual/index22.js +0 -4
- package/dist/_virtual/index22.js.map +0 -1
- package/dist/_virtual/index23.js +0 -4
- package/dist/_virtual/index23.js.map +0 -1
- package/dist/_virtual/index8.js +0 -8
- package/dist/_virtual/index8.js.map +0 -1
- package/dist/_virtual/index9.js +0 -8
- package/dist/_virtual/index9.js.map +0 -1
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js +0 -32
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js.map +0 -1
- package/dist/node_modules/date-fns/get_iso_week/index.js +0 -49
- package/dist/node_modules/date-fns/get_iso_week/index.js.map +0 -1
- package/dist/node_modules/date-fns/get_iso_year/index.js +0 -59
- package/dist/node_modules/date-fns/get_iso_year/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_date/index.js +0 -32
- package/dist/node_modules/date-fns/is_date/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_friday/index.js +0 -35
- package/dist/node_modules/date-fns/is_friday/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_monday/index.js +0 -35
- package/dist/node_modules/date-fns/is_monday/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_saturday/index.js +0 -35
- package/dist/node_modules/date-fns/is_saturday/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_sunday/index.js +0 -35
- package/dist/node_modules/date-fns/is_sunday/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_thursday/index.js +0 -35
- package/dist/node_modules/date-fns/is_thursday/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_tuesday/index.js +0 -35
- package/dist/node_modules/date-fns/is_tuesday/index.js.map +0 -1
- package/dist/node_modules/date-fns/is_wednesday/index.js +0 -35
- package/dist/node_modules/date-fns/is_wednesday/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js +0 -39
- package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js +0 -110
- package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js +0 -86
- package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/ar/index.js +0 -26
- package/dist/node_modules/date-fns/locale/ar/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js +0 -196
- package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js +0 -90
- package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/de/index.js +0 -27
- package/dist/node_modules/date-fns/locale/de/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js +0 -110
- package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js +0 -101
- package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/en/index.js +0 -25
- package/dist/node_modules/date-fns/locale/en/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js +0 -110
- package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js +0 -86
- package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/es/index.js +0 -28
- package/dist/node_modules/date-fns/locale/es/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js +0 -110
- package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js +0 -135
- package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/fr/index.js +0 -27
- package/dist/node_modules/date-fns/locale/fr/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js +0 -110
- package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js +0 -86
- package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/it/index.js +0 -26
- package/dist/node_modules/date-fns/locale/it/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js +0 -110
- package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js +0 -86
- package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/nl/index.js +0 -27
- package/dist/node_modules/date-fns/locale/nl/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js +0 -114
- package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js +0 -74
- package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/th/index.js +0 -26
- package/dist/node_modules/date-fns/locale/th/index.js.map +0 -1
- package/dist/node_modules/date-fns/parse/index.js +0 -346
- package/dist/node_modules/date-fns/parse/index.js.map +0 -1
- package/dist/node_modules/date-fns/start_of_iso_week/index.js +0 -38
- package/dist/node_modules/date-fns/start_of_iso_week/index.js.map +0 -1
- package/dist/node_modules/date-fns/start_of_iso_year/index.js +0 -46
- package/dist/node_modules/date-fns/start_of_iso_year/index.js.map +0 -1
- package/dist/node_modules/date-fns/start_of_week/index.js +0 -51
- package/dist/node_modules/date-fns/start_of_week/index.js.map +0 -1
- package/dist/rules/src/factories/scatter-dimension.js +0 -35
- package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
- package/dist/rules/src/factories/stacked-dimension.js +0 -32
- package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
- package/dist/rules/src/factories/symbol-dimension.js +0 -32
- package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
- package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
- package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
- package/dist/rules/src/header/getHeaderUnits.js +0 -21
- package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
- package/dist/rules/src/header/getSubtitleFlags.js +0 -47
- package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
- package/dist/rules/src/header/getTitleFlags.js +0 -12
- package/dist/rules/src/header/getTitleFlags.js.map +0 -1
- package/dist/rules/src/properties/errors.js +0 -22
- package/dist/rules/src/properties/errors.js.map +0 -1
- package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
- package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
- package/dist/rules/src/v8-transformer.js +0 -174
- package/dist/rules/src/v8-transformer.js.map +0 -1
- package/src/bridge-d3-react/src/app.js +0 -64
- package/src/bridge-d3-react/src/mock-choro.js +0 -394
- package/src/rules/src/factories/scatter-dimension.js +0 -32
- package/src/rules/src/factories/stacked-dimension.js +0 -29
- package/src/rules/src/factories/symbol-dimension.js +0 -29
- package/src/rules/src/header/getDefaultSubtitle.js +0 -40
- package/src/rules/src/header/getHeaderUnits.js +0 -17
- package/src/rules/src/header/getSubtitleFlags.js +0 -43
- package/src/rules/src/header/getTitleFlags.js +0 -8
- package/src/rules/src/header/index.js +0 -4
- package/src/rules/src/preparators/enhanceObservations.js +0 -152
- package/src/rules/src/properties/errors.js +0 -19
- package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
- package/src/rules/src/properties/information.js +0 -84
- package/src/rules/src/v8-transformer.js +0 -177
- package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
- package/src/rules2/src/getMetadataStructureFromData.js +0 -17
- package/src/rules2/src/refineMetadataCoordinates.js +0 -28
- package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
package/dist/rules/src/index.js
CHANGED
|
@@ -1,379 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import __sampleSeries from './factories/sample-series.js';
|
|
5
|
-
import focus$1 from './factories/sample-focus.js';
|
|
6
|
-
import __scatterSeries from './factories/scatter-series.js';
|
|
7
|
-
import focus$3 from './factories/scatter-focus.js';
|
|
8
|
-
import __scatterDimension from './factories/scatter-dimension.js';
|
|
9
|
-
import __symbolSeries from './factories/symbol-series.js';
|
|
10
|
-
import __symbolDimension from './factories/symbol-dimension.js';
|
|
11
|
-
import __timelineSeries from './factories/timeline-series.js';
|
|
12
|
-
import focus$2 from './factories/timeline-focus.js';
|
|
13
|
-
import __stackedSeries from './factories/stacked-series.js';
|
|
14
|
-
import __stackedDimension from './factories/stacked-dimension.js';
|
|
15
|
-
import __choroSeries from './factories/choro-series.js';
|
|
16
|
-
import { FREQ_A, FREQ_Q, FREQ_M, DEFAULT_REJECTED_SUBTITLE_IDS, DEFAULT_UPR_IDS, DEFAULT_REJECTED_UPR_VALUES_IDS } from './constants.js';
|
|
17
|
-
export { DEFAULT_MAJOR_ATTRIBUTES, DIMENSION_DISPLAY_PARTS, V8_SDMX_JSON, TYPES as chartTypes } from './constants.js';
|
|
18
|
-
import { dimensionValueDisplay } from './dimension-utils.js';
|
|
19
|
-
import { getObservationsFormaterAttributes } from './observation-formater.js';
|
|
20
|
-
export { getErrors, initialState, onChangeProperties, stateFromNewProps, toChartData, toChartOptions, toProperties, toSingularity } from './properties/index.js';
|
|
21
|
-
export { dataTransformer as v8Transformer } from './v8-transformer.js';
|
|
1
|
+
export { dimensionValueDisplay, parseDisplay } from './dimension-utils.js';
|
|
2
|
+
export { stateFromNewProps, toChartOptions, toProperties, toSingularity } from './properties/index.js';
|
|
3
|
+
export { parseFocus } from './properties/focus.js';
|
|
22
4
|
export { getFullName } from './sdmx-data/index.js';
|
|
23
5
|
export { getTimePeriodLabel } from './date.js';
|
|
24
|
-
export { getFooterProps
|
|
25
|
-
export { getInformationsStateFromNewProps } from './properties/getInformationsStateFromNewProps.js';
|
|
26
|
-
export { getObservationsType } from './properties/getObservationsType.js';
|
|
6
|
+
export { getFooterProps } from './properties/getHeaderProps.js';
|
|
27
7
|
export { getAvailableChartTypes } from './properties/getAvailableChartTypes.js';
|
|
28
8
|
export { isSharedLayoutCompatible } from './layout.js';
|
|
29
9
|
export { getObservations } from './preparators/getObservations.js';
|
|
30
10
|
export { getChartOptions } from './chart/getChartOptions.js';
|
|
11
|
+
export { getReportingYearStart } from './preparators/getReportingYearStart.js';
|
|
12
|
+
export { getChartSeries } from './factories/getChartSeries.js';
|
|
31
13
|
export { getCellValue } from './table/factories/getCellValue.js';
|
|
32
|
-
|
|
33
|
-
const freqA = FREQ_A;
|
|
34
|
-
const freqQ = FREQ_Q;
|
|
35
|
-
const freqM = FREQ_M;
|
|
36
|
-
|
|
37
|
-
// --------------------------------------------------------------------------------extractSdmxErrors
|
|
38
|
-
const _extractSdmxErrors = (data) => R.compose(
|
|
39
|
-
(errors) => map(errors, (error) => ({ label: error.code, description: error.message })),
|
|
40
|
-
(data) => get(data, 'errors', [])
|
|
41
|
-
);
|
|
42
|
-
const extractSdmxErrors = memoizee(_extractSdmxErrors);
|
|
43
|
-
|
|
44
|
-
const extractDataName = (data) => R.pathOr(null, ['structure', 'name'], data);
|
|
45
|
-
|
|
46
|
-
// -----------------------------------------------------------------------------extractSdmxArtefacts
|
|
47
|
-
const _extractSdmxArtefacts = (data) => {
|
|
48
|
-
const parseStructure = (data) => get(data, 'structure', {});
|
|
49
|
-
const parseItem = (item) => parseComponents(get(item, 'observation', []));
|
|
50
|
-
const parseDimensions = (structure) => parseItem(get(structure, 'dimensions', {}));
|
|
51
|
-
const parseAttributes = (structure) => parseItem(get(structure, 'attributes', {}));
|
|
52
|
-
const parseComponents = (components) => map(components, parseComponent);
|
|
53
|
-
const parseComponent = (component, index) => {
|
|
54
|
-
let parsed = { ...pick(component, 'id', 'name', 'values', 'role', 'isHidden'), index };
|
|
55
|
-
if (isEmpty(parsed))
|
|
56
|
-
return parsed;
|
|
57
|
-
if (isNil(parsed.role))
|
|
58
|
-
parsed.role = parsed.id;
|
|
59
|
-
parsed.values = R.sortBy(R.prop('__index'))(parsed.values);
|
|
60
|
-
return parsed;
|
|
61
|
-
};
|
|
62
|
-
const parseDatasetItem = (item) => parseComponents(get(item, 'dataSet', []));
|
|
63
|
-
const parseDatasetAttributes = (structure) => parseDatasetItem(get(structure, 'attributes', {}));
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
attributes: parseAttributes(parseStructure(data)),
|
|
67
|
-
datasetAttributes: parseDatasetAttributes(parseStructure(data)),
|
|
68
|
-
dimensions: parseDimensions(parseStructure(data)),
|
|
69
|
-
id: get(data, 'header.id', null),
|
|
70
|
-
name: extractDataName(data),
|
|
71
|
-
observations: R.pipe(
|
|
72
|
-
R.pathOr({}, ['dataSets', 0, 'observations']),
|
|
73
|
-
R.mapObjIndexed(obs => R.over(R.lensIndex(0), val => R.isNil(val) ? null : Number(val))(obs)),
|
|
74
|
-
R.reject(R.pipe(R.head, R.anyPass([R.isNil, isNaN]))),
|
|
75
|
-
)(data),
|
|
76
|
-
source: get(data, 'header.links[0].href', null),
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
const extractSdmxArtefacts = memoizee(_extractSdmxArtefacts);
|
|
80
|
-
|
|
81
|
-
const _getRelevantsDatasetAttributes = (data) => {
|
|
82
|
-
const { datasetAttributes } = extractSdmxArtefacts(data);
|
|
83
|
-
return filter(datasetAttributes, attr => size(attr.values) === 1);
|
|
84
|
-
};
|
|
85
|
-
const getRelevantsDatasetAttributes = memoizee(_getRelevantsDatasetAttributes);
|
|
86
|
-
|
|
87
|
-
// -------------------------------------------------------------------------------getDimensionValues
|
|
88
|
-
const getDimensionValues = (dimension) => get(dimension, 'values', []);
|
|
89
|
-
|
|
90
|
-
// ----------------------------------------------------------------------------------splitDimensions
|
|
91
|
-
const _splitDimensions = (data) => {
|
|
92
|
-
const { dimensions } = extractSdmxArtefacts(data);
|
|
93
|
-
const [value, values] = partition(
|
|
94
|
-
reject(dimensions, R.compose(isEmpty, getDimensionValues)),
|
|
95
|
-
R.compose((values) => size(values) === 1, getDimensionValues)
|
|
96
|
-
);
|
|
97
|
-
return { value, values };
|
|
98
|
-
};
|
|
99
|
-
const splitDimensions = memoizee(_splitDimensions);
|
|
100
|
-
|
|
101
|
-
// ------------------------------------------------------------------dimensionsWithValuesIndexedById
|
|
102
|
-
const _dimensionsWithValuesIndexedById = (data) => R.compose(
|
|
103
|
-
(dimensionsWithValues) => keyBy(dimensionsWithValues, 'id'),
|
|
104
|
-
(split) => split.values,
|
|
105
|
-
splitDimensions
|
|
106
|
-
)(data);
|
|
107
|
-
const dimensionsWithValuesIndexedById = memoizee(_dimensionsWithValuesIndexedById);
|
|
108
|
-
|
|
109
|
-
// -------------------------------------------------------------------------------------parseDisplay
|
|
110
|
-
const _parseDisplay = (display) =>
|
|
111
|
-
(isNil(display) || !(includes(['both', 'code'], display)))
|
|
112
|
-
? 'label' : display;
|
|
113
|
-
const parseDisplay = memoizee(_parseDisplay);
|
|
114
|
-
|
|
115
|
-
// -------------------------------------------------------------------------------------sampleSeries
|
|
116
|
-
const _sampleSeries = (data, type, display, formaterIds) => __sampleSeries(
|
|
117
|
-
type,
|
|
118
|
-
extractSdmxArtefacts(data),
|
|
119
|
-
dimensionsWithValuesIndexedById(data),
|
|
120
|
-
parseDisplay(display),
|
|
121
|
-
getObservationsFormaterAttributes(data, formaterIds)
|
|
122
|
-
);
|
|
123
|
-
const sampleSeries = memoizee(_sampleSeries);
|
|
124
|
-
|
|
125
|
-
// ---------------------------------------------------------------------------------scatterDimension
|
|
126
|
-
const _scatterDimension = (data, ids) => {
|
|
127
|
-
const { values } = splitDimensions(data);
|
|
128
|
-
return __scatterDimension(values, ids);
|
|
129
|
-
};
|
|
130
|
-
const scatterDimension = memoizee(_scatterDimension);
|
|
131
|
-
|
|
132
|
-
// ----------------------------------------------------------------------------------symbolDimension
|
|
133
|
-
const _symbolDimension = (data, ids) => {
|
|
134
|
-
const { values } = splitDimensions(data);
|
|
135
|
-
return __symbolDimension(values, ids);
|
|
136
|
-
};
|
|
137
|
-
const symbolDimension = memoizee(_symbolDimension);
|
|
138
|
-
|
|
139
|
-
const _stackedDimension = (data, singularity) => {
|
|
140
|
-
return __stackedDimension(splitDimensions(data), singularity);
|
|
141
|
-
};
|
|
142
|
-
const stackedDimension = memoizee(_stackedDimension);
|
|
143
|
-
|
|
144
|
-
// ------------------------------------------------------------------------------------scatterSeries
|
|
145
|
-
const _scatterSeries = (data, ids, display, formaterIds) => __scatterSeries(
|
|
146
|
-
extractSdmxArtefacts(data),
|
|
147
|
-
dimensionsWithValuesIndexedById(data),
|
|
148
|
-
scatterDimension(data, ids),
|
|
149
|
-
parseDisplay(display),
|
|
150
|
-
getObservationsFormaterAttributes(data, formaterIds)
|
|
151
|
-
);
|
|
152
|
-
const scatterSeries = memoizee(_scatterSeries);
|
|
153
|
-
|
|
154
|
-
// -------------------------------------------------------------------------------------symbolSeries
|
|
155
|
-
const _symbolSeries = (data, type, ids, display, formaterIds) => __symbolSeries(
|
|
156
|
-
extractSdmxArtefacts(data),
|
|
157
|
-
type,
|
|
158
|
-
dimensionsWithValuesIndexedById(data),
|
|
159
|
-
symbolDimension(data, ids),
|
|
160
|
-
parseDisplay(display),
|
|
161
|
-
getObservationsFormaterAttributes(data, formaterIds)
|
|
162
|
-
);
|
|
163
|
-
const symbolSeries = memoizee(_symbolSeries);
|
|
164
|
-
|
|
165
|
-
// -----------------------------------------------------------------------------------timelineSeries
|
|
166
|
-
const _timelineSeries = (data, display, formaterIds) => __timelineSeries(
|
|
167
|
-
extractSdmxArtefacts(data),
|
|
168
|
-
dimensionsWithValuesIndexedById(data),
|
|
169
|
-
parseDisplay(display),
|
|
170
|
-
getObservationsFormaterAttributes(data, formaterIds)
|
|
171
|
-
);
|
|
172
|
-
const timelineSeries = memoizee(_timelineSeries);
|
|
173
|
-
|
|
174
|
-
const _stackedSeries = (data, singularity, display, formaterIds, [stackKey, categoryKey]) => __stackedSeries(
|
|
175
|
-
extractSdmxArtefacts(data),
|
|
176
|
-
dimensionsWithValuesIndexedById(data),
|
|
177
|
-
stackedDimension(data, singularity),
|
|
178
|
-
parseDisplay(display),
|
|
179
|
-
getObservationsFormaterAttributes(data, formaterIds),
|
|
180
|
-
[stackKey, categoryKey]
|
|
181
|
-
);
|
|
182
|
-
const stackedSeries = memoizee(_stackedSeries);
|
|
183
|
-
|
|
184
|
-
// --------------------------------------------------------------------------------------choroSeries
|
|
185
|
-
const _choroSeries = (data, map, display) => __choroSeries(
|
|
186
|
-
extractSdmxArtefacts(data),
|
|
187
|
-
dimensionsWithValuesIndexedById(data),
|
|
188
|
-
map,
|
|
189
|
-
parseDisplay(display)
|
|
190
|
-
);
|
|
191
|
-
const choroSeries = memoizee(_choroSeries);
|
|
192
|
-
|
|
193
|
-
// -------------------------------------------------------------------------------------------series
|
|
194
|
-
const _series = (data, type, focus, singularity, map, display, formaterIds) => {
|
|
195
|
-
switch(type) {
|
|
196
|
-
case 'RowChart': case 'BarChart':
|
|
197
|
-
return focus$1(sampleSeries(data, type, display, formaterIds), focus);
|
|
198
|
-
case 'ScatterChart':
|
|
199
|
-
return focus$3(scatterSeries(data, singularity, display, formaterIds), focus);
|
|
200
|
-
case 'HorizontalSymbolChart': case 'VerticalSymbolChart':
|
|
201
|
-
return focus$1(symbolSeries(data, type, singularity, display, formaterIds), focus);
|
|
202
|
-
case 'TimelineChart':
|
|
203
|
-
return focus$2(timelineSeries(data, display, formaterIds), focus);
|
|
204
|
-
case 'StackedBarChart':
|
|
205
|
-
return focus$1(stackedSeries(data, singularity, display, formaterIds, ['y', 'x']), focus);
|
|
206
|
-
case 'StackedRowChart':
|
|
207
|
-
return focus$1(stackedSeries(data, singularity, display, formaterIds, ['x', 'y']), focus);
|
|
208
|
-
case 'ChoroplethChart':
|
|
209
|
-
return choroSeries(data, map, display);
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
const series = memoizee(_series);
|
|
213
|
-
|
|
214
|
-
// -------------------------------------------------------------------------------------------source
|
|
215
|
-
const _source = (data, config, meta) => {
|
|
216
|
-
const hasSource = get(meta, 'hasSource', true);
|
|
217
|
-
if (!hasSource)
|
|
218
|
-
return null;
|
|
219
|
-
const source = get(config, 'source', null);
|
|
220
|
-
if (source && !(isEmpty(source)))
|
|
221
|
-
return source;
|
|
222
|
-
const artefacts = extractSdmxArtefacts(data);
|
|
223
|
-
const uri = get(artefacts, 'source');
|
|
224
|
-
if (!uri)
|
|
225
|
-
return get(config, 'defaultSource', null);
|
|
226
|
-
const match = uri.match(/(^http.*)\/SDMX-JSON\/data\/([^\/]+)\//);
|
|
227
|
-
if (size(match) !== 3)
|
|
228
|
-
return null;
|
|
229
|
-
const [m, domain, dataset] = match;
|
|
230
|
-
return `${domain}/Index.aspx?DataSetCode=${dataset}`; //tmp
|
|
231
|
-
};
|
|
232
|
-
const source = memoizee(_source);
|
|
233
|
-
|
|
234
|
-
// --------------------------------------------------------------------------------------------focus
|
|
235
|
-
const _focus = (data, type, dimension, _display) => {
|
|
236
|
-
const display = parseDisplay(_display);
|
|
237
|
-
switch(type) {
|
|
238
|
-
case 'RowChart': case 'BarChart':
|
|
239
|
-
case 'HorizontalSymbolChart': case 'VerticalSymbolChart':
|
|
240
|
-
case 'StackedBarChart': case 'StackedRowChart':
|
|
241
|
-
return R.compose(
|
|
242
|
-
(datapoints) => map(datapoints, (dp) => ({ label: dp.category, value: dp.key })),
|
|
243
|
-
(series) => series[0].datapoints,
|
|
244
|
-
series
|
|
245
|
-
)(data, type, null, dimension, null, display);
|
|
246
|
-
case 'TimelineChart':
|
|
247
|
-
return R.compose(
|
|
248
|
-
(series) => map(series, (serie) => ({ label: serie.category, value: serie.key })),
|
|
249
|
-
series
|
|
250
|
-
)(data, type, null, dimension, null, display)
|
|
251
|
-
case 'ScatterChart':
|
|
252
|
-
const id = get(dimension, 'id');
|
|
253
|
-
if (isNil(id)) return [];
|
|
254
|
-
const dimensions = R.compose(
|
|
255
|
-
(dimensions) => omit(dimensions, id),
|
|
256
|
-
dimensionsWithValuesIndexedById
|
|
257
|
-
)(data);
|
|
258
|
-
return flatten(map(
|
|
259
|
-
dimensions,
|
|
260
|
-
(dimension) => {
|
|
261
|
-
return map(
|
|
262
|
-
get(dimension, 'values'),
|
|
263
|
-
(value) => ({
|
|
264
|
-
label: `${dimensionValueDisplay(display)(dimension)} - ${dimensionValueDisplay(display)(value)}`,
|
|
265
|
-
options: { dimensionId: dimension.id, dimensionValueId: value.id },
|
|
266
|
-
value: `${dimension.id}-${value.id}`
|
|
267
|
-
})
|
|
268
|
-
)
|
|
269
|
-
}
|
|
270
|
-
));
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
const focus = memoizee(_focus);
|
|
274
|
-
|
|
275
|
-
const _parseFocus = (data, type, dimension, display, { baseline, highlight }) => {
|
|
276
|
-
const options = focus(data, type, dimension, display);
|
|
277
|
-
|
|
278
|
-
const parseSelection = selection => compact(map(selection, ({ value }) => find(options, option => isEqual(option.value, value))));
|
|
279
|
-
return ({ baseline: parseSelection(baseline), highlight: parseSelection(highlight) });
|
|
280
|
-
};
|
|
281
|
-
const parseFocus = memoizee(_parseFocus);
|
|
282
|
-
|
|
283
|
-
const _defaultSubtitle = (data, display, REJECTED_SUBTITLE_IDS = DEFAULT_REJECTED_SUBTITLE_IDS) => {
|
|
284
|
-
const { value } = splitDimensions(data);
|
|
285
|
-
const values = reduce(
|
|
286
|
-
R.reject(R.prop('isHidden'))(value),
|
|
287
|
-
(memo, d) => {
|
|
288
|
-
const dvId = get(d, 'values[0].id');
|
|
289
|
-
if (!includes(REJECTED_SUBTITLE_IDS, dvId)) {
|
|
290
|
-
memo.push(`${dimensionValueDisplay(display)(d)}: ${dimensionValueDisplay(display)(get(d, 'values[0]'))}`);
|
|
291
|
-
}
|
|
292
|
-
return memo;
|
|
293
|
-
},
|
|
294
|
-
[]
|
|
295
|
-
);
|
|
296
|
-
return values;
|
|
297
|
-
};
|
|
298
|
-
const defaultSubtitle = memoizee(_defaultSubtitle);
|
|
299
|
-
|
|
300
|
-
const _uprAttributes = (attributes, UPR_IDS = DEFAULT_UPR_IDS) => (
|
|
301
|
-
reduce(
|
|
302
|
-
UPR_IDS,
|
|
303
|
-
(memo, ids, uprKey) => {
|
|
304
|
-
const attr = find(attributes, attribute => includes(ids, get(attribute, 'id')));
|
|
305
|
-
if (attr) {
|
|
306
|
-
memo[uprKey] = attr;
|
|
307
|
-
}
|
|
308
|
-
return memo;
|
|
309
|
-
},
|
|
310
|
-
{}
|
|
311
|
-
)
|
|
312
|
-
);
|
|
313
|
-
const uprAttributes = memoizee(_uprAttributes);
|
|
314
|
-
|
|
315
|
-
const _uprAttributesWithOneRelevantValue = (uprAttributes, UPR_IDS = DEFAULT_UPR_IDS, REJECTED_UPR_VALUES_IDS = DEFAULT_REJECTED_UPR_VALUES_IDS) => reduce(
|
|
316
|
-
uprAttributes,
|
|
317
|
-
(memo, attr, key) => {
|
|
318
|
-
if (size(get(attr, 'values', [])) === 1 && !(includes(REJECTED_UPR_VALUES_IDS[key], get(attr, 'values[0].id', ''))))
|
|
319
|
-
memo[key] = attr;
|
|
320
|
-
return memo;
|
|
321
|
-
},
|
|
322
|
-
{}
|
|
323
|
-
);
|
|
324
|
-
const uprAttributesWithOneRelevantValue = memoizee(_uprAttributesWithOneRelevantValue);
|
|
325
|
-
|
|
326
|
-
const headerUprsLabel = display => uprAttributes => {
|
|
327
|
-
return map(
|
|
328
|
-
uprAttributes,
|
|
329
|
-
attr => dimensionValueDisplay(display)(get(attr, 'values[0]'))
|
|
330
|
-
).join(', ');
|
|
331
|
-
};
|
|
332
|
-
|
|
333
|
-
const getUprs = (data, display) => R.compose(
|
|
334
|
-
headerUprsLabel(parseDisplay(display)),
|
|
335
|
-
uprAttributesWithOneRelevantValue,
|
|
336
|
-
({ attributes }) => uprAttributes(attributes),
|
|
337
|
-
extractSdmxArtefacts
|
|
338
|
-
)(data);
|
|
339
|
-
|
|
340
|
-
const _header = (data, _title, _subtitle, _display) => {
|
|
341
|
-
const display = parseDisplay(_display);
|
|
342
|
-
const title = (isNil(_title) || isEmpty(_title)) ? get(data, 'structure.name') : _title;
|
|
343
|
-
const subtitle = (isNil(_subtitle) || isEmpty(_subtitle)) ? defaultSubtitle(data, display) : _subtitle;
|
|
344
|
-
return ({
|
|
345
|
-
title,
|
|
346
|
-
subtitle: isArray(subtitle) ? subtitle : [subtitle],
|
|
347
|
-
uprs: R.compose(
|
|
348
|
-
headerUprsLabel(display),
|
|
349
|
-
uprAttributesWithOneRelevantValue,
|
|
350
|
-
({ attributes }) => uprAttributes(attributes),
|
|
351
|
-
extractSdmxArtefacts
|
|
352
|
-
)(data)
|
|
353
|
-
});
|
|
354
|
-
};
|
|
355
|
-
const header = memoizee(_header);
|
|
356
|
-
|
|
357
|
-
const _sourceLabel = (data, label) => (
|
|
358
|
-
(isNil(label) || isEmpty(label)) ? extractSdmxArtefacts(data).name : label
|
|
359
|
-
);
|
|
360
|
-
const sourceLabel = memoizee(_sourceLabel);
|
|
361
|
-
|
|
362
|
-
const _getTopologyAreasCollections = (topology) => map(topology.objects, (entry, key) => key);
|
|
363
|
-
const getTopologyAreasCollections = memoizee(_getTopologyAreasCollections);
|
|
364
|
-
|
|
365
|
-
const _isNonIdealState = (data, type, map) => {
|
|
366
|
-
const defaultSeries = series(data, type, null, null, map);
|
|
367
|
-
if (type === 'ChoroplethChart')
|
|
368
|
-
{
|
|
369
|
-
return findIndex(get(defaultSeries, 'objects.areas.geometries', []), geometry => get(geometry, 'properties.value', null)) === -1;
|
|
370
|
-
}
|
|
371
|
-
return isEmpty(get(defaultSeries, '[0].datapoints', []));
|
|
372
|
-
};
|
|
373
|
-
const isNonIdealState = memoizee(_isNonIdealState);
|
|
374
|
-
|
|
375
|
-
const getFlags = R.identity;
|
|
376
|
-
const prepareData = R.identity;
|
|
377
|
-
|
|
378
|
-
export { DEFAULT_UPR_IDS, choroSeries, defaultSubtitle, dimensionValueDisplay, dimensionsWithValuesIndexedById, extractDataName, extractSdmxArtefacts, extractSdmxErrors, focus, freqA, freqM, freqQ, getDimensionValues, getFlags, getRelevantsDatasetAttributes, getTopologyAreasCollections, getUprs, header, headerUprsLabel, isNonIdealState, parseDisplay, parseFocus, prepareData, sampleSeries, scatterDimension, scatterSeries, series, source, sourceLabel, splitDimensions, stackedDimension, stackedSeries, symbolDimension, symbolSeries, timelineSeries, uprAttributes, uprAttributesWithOneRelevantValue };
|
|
379
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/rules/src/index.js"],"sourcesContent":["import {\n get, partition, reject, isEmpty, map, compact, size, keyBy, pick, omit, isNil, flatten, reduce,\n filter, find, includes, isArray, findIndex, isEqual\n} from 'lodash';\nimport * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport __sampleSeries from './factories/sample-series';\nimport __sampleFocus from './factories/sample-focus';\nimport __scatterSeries from './factories/scatter-series';\nimport __scatterFocus from './factories/scatter-focus';\nimport __scatterDimension from './factories/scatter-dimension';\nimport __symbolSeries from './factories/symbol-series';\nimport __symbolDimension from './factories/symbol-dimension';\nimport __timelineSeries from './factories/timeline-series';\nimport __timelineFocus from './factories/timeline-focus';\nimport __stackedSeries from './factories/stacked-series';\nimport __stackedDimension from './factories/stacked-dimension';\nimport __choroSeries from './factories/choro-series';\nimport {\n DEFAULT_UPR_IDS, DEFAULT_REJECTED_UPR_VALUES_IDS, DEFAULT_REJECTED_SUBTITLE_IDS,\n FREQ_A, FREQ_Q, FREQ_M\n} from './constants';\nimport { dimensionValueDisplay } from './dimension-utils';\nimport { getObservationsFormaterAttributes } from './observation-formater';\n\nexport const freqA = FREQ_A;\nexport const freqQ = FREQ_Q;\nexport const freqM = FREQ_M;\n\n// --------------------------------------------------------------------------------extractSdmxErrors\nconst _extractSdmxErrors = (data) => R.compose(\n (errors) => map(errors, (error) => ({ label: error.code, description: error.message })),\n (data) => get(data, 'errors', [])\n);\nexport const extractSdmxErrors = memoizee(_extractSdmxErrors);\n\nexport const extractDataName = (data) => R.pathOr(null, ['structure', 'name'], data);\n\n// -----------------------------------------------------------------------------extractSdmxArtefacts\nconst _extractSdmxArtefacts = (data) => {\n const parseStructure = (data) => get(data, 'structure', {});\n const parseItem = (item) => parseComponents(get(item, 'observation', []));\n const parseDimensions = (structure) => parseItem(get(structure, 'dimensions', {}));\n const parseAttributes = (structure) => parseItem(get(structure, 'attributes', {}));\n const parseComponents = (components) => map(components, parseComponent);\n const parseComponent = (component, index) => {\n let parsed = { ...pick(component, 'id', 'name', 'values', 'role', 'isHidden'), index };\n if (isEmpty(parsed))\n return parsed;\n if (isNil(parsed.role))\n parsed.role = parsed.id;\n parsed.values = R.sortBy(R.prop('__index'))(parsed.values);\n return parsed;\n };\n const parseDatasetItem = (item) => parseComponents(get(item, 'dataSet', []));\n const parseDatasetAttributes = (structure) => parseDatasetItem(get(structure, 'attributes', {}));\n\n return {\n attributes: parseAttributes(parseStructure(data)),\n datasetAttributes: parseDatasetAttributes(parseStructure(data)),\n dimensions: parseDimensions(parseStructure(data)),\n id: get(data, 'header.id', null),\n name: extractDataName(data),\n observations: R.pipe(\n R.pathOr({}, ['dataSets', 0, 'observations']),\n R.mapObjIndexed(obs => R.over(R.lensIndex(0), val => R.isNil(val) ? null : Number(val))(obs)),\n R.reject(R.pipe(R.head, R.anyPass([R.isNil, isNaN]))),\n )(data),\n source: get(data, 'header.links[0].href', null),\n };\n};\nexport const extractSdmxArtefacts = memoizee(_extractSdmxArtefacts);\n\nconst _getRelevantsDatasetAttributes = (data) => {\n const { datasetAttributes } = extractSdmxArtefacts(data);\n return filter(datasetAttributes, attr => size(attr.values) === 1);\n};\nexport const getRelevantsDatasetAttributes = memoizee(_getRelevantsDatasetAttributes);\n\n// -------------------------------------------------------------------------------getDimensionValues\nexport const getDimensionValues = (dimension) => get(dimension, 'values', []);\n\n// ----------------------------------------------------------------------------------splitDimensions\nconst _splitDimensions = (data) => {\n const { dimensions } = extractSdmxArtefacts(data);\n const [value, values] = partition(\n reject(dimensions, R.compose(isEmpty, getDimensionValues)),\n R.compose((values) => size(values) === 1, getDimensionValues)\n );\n return { value, values };\n}\nexport const splitDimensions = memoizee(_splitDimensions);\n\n// ------------------------------------------------------------------dimensionsWithValuesIndexedById\nconst _dimensionsWithValuesIndexedById = (data) => R.compose(\n (dimensionsWithValues) => keyBy(dimensionsWithValues, 'id'),\n (split) => split.values,\n splitDimensions\n)(data);\nexport const dimensionsWithValuesIndexedById = memoizee(_dimensionsWithValuesIndexedById);\n\n// -------------------------------------------------------------------------------------parseDisplay\nconst _parseDisplay = (display) =>\n (isNil(display) || !(includes(['both', 'code'], display)))\n ? 'label' : display;\nexport const parseDisplay = memoizee(_parseDisplay);\n\n// -------------------------------------------------------------------------------------sampleSeries\nconst _sampleSeries = (data, type, display, formaterIds) => __sampleSeries(\n type,\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const sampleSeries = memoizee(_sampleSeries);\n\n// ---------------------------------------------------------------------------------scatterDimension\nconst _scatterDimension = (data, ids) => {\n const { values } = splitDimensions(data);\n return __scatterDimension(values, ids);\n};\nexport const scatterDimension = memoizee(_scatterDimension);\n\n// ----------------------------------------------------------------------------------symbolDimension\nconst _symbolDimension = (data, ids) => {\n const { values } = splitDimensions(data);\n return __symbolDimension(values, ids);\n};\nexport const symbolDimension = memoizee(_symbolDimension);\n\nconst _stackedDimension = (data, singularity) => {\n return __stackedDimension(splitDimensions(data), singularity);\n}\nexport const stackedDimension = memoizee(_stackedDimension);\n\n// ------------------------------------------------------------------------------------scatterSeries\nconst _scatterSeries = (data, ids, display, formaterIds) => __scatterSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n scatterDimension(data, ids),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const scatterSeries = memoizee(_scatterSeries);\n\n// -------------------------------------------------------------------------------------symbolSeries\nconst _symbolSeries = (data, type, ids, display, formaterIds) => __symbolSeries(\n extractSdmxArtefacts(data),\n type,\n dimensionsWithValuesIndexedById(data),\n symbolDimension(data, ids),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const symbolSeries = memoizee(_symbolSeries);\n\n// -----------------------------------------------------------------------------------timelineSeries\nconst _timelineSeries = (data, display, formaterIds) => __timelineSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const timelineSeries = memoizee(_timelineSeries);\n\nconst _stackedSeries = (data, singularity, display, formaterIds, [stackKey, categoryKey]) => __stackedSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n stackedDimension(data, singularity),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds),\n [stackKey, categoryKey]\n);\nexport const stackedSeries = memoizee(_stackedSeries);\n\n// --------------------------------------------------------------------------------------choroSeries\nconst _choroSeries = (data, map, display) => __choroSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n map,\n parseDisplay(display)\n);\nexport const choroSeries = memoizee(_choroSeries);\n\n// -------------------------------------------------------------------------------------------series\nconst _series = (data, type, focus, singularity, map, display, formaterIds) => {\n switch(type) {\n case 'RowChart': case 'BarChart':\n return __sampleFocus(sampleSeries(data, type, display, formaterIds), focus);\n case 'ScatterChart':\n return __scatterFocus(scatterSeries(data, singularity, display, formaterIds), focus);\n case 'HorizontalSymbolChart': case 'VerticalSymbolChart':\n return __sampleFocus(symbolSeries(data, type, singularity, display, formaterIds), focus);\n case 'TimelineChart':\n return __timelineFocus(timelineSeries(data, display, formaterIds), focus);\n case 'StackedBarChart':\n return __sampleFocus(stackedSeries(data, singularity, display, formaterIds, ['y', 'x']), focus);\n case 'StackedRowChart':\n return __sampleFocus(stackedSeries(data, singularity, display, formaterIds, ['x', 'y']), focus);\n case 'ChoroplethChart':\n return choroSeries(data, map, display);\n }\n};\nexport const series = memoizee(_series);\n\n// -------------------------------------------------------------------------------------------source\nconst _source = (data, config, meta) => {\n const hasSource = get(meta, 'hasSource', true);\n if (!hasSource)\n return null;\n const source = get(config, 'source', null);\n if (source && !(isEmpty(source)))\n return source;\n const artefacts = extractSdmxArtefacts(data);\n const uri = get(artefacts, 'source');\n if (!uri)\n return get(config, 'defaultSource', null);\n const match = uri.match(/(^http.*)\\/SDMX-JSON\\/data\\/([^\\/]+)\\//);\n if (size(match) !== 3)\n return null;\n const [m, domain, dataset] = match;\n return `${domain}/Index.aspx?DataSetCode=${dataset}`; //tmp\n};\nexport const source = memoizee(_source);\n\n// --------------------------------------------------------------------------------------------focus\nconst _focus = (data, type, dimension, _display) => {\n const display = parseDisplay(_display);\n switch(type) {\n case 'RowChart': case 'BarChart':\n case 'HorizontalSymbolChart': case 'VerticalSymbolChart':\n case 'StackedBarChart': case 'StackedRowChart':\n return R.compose(\n (datapoints) => map(datapoints, (dp) => ({ label: dp.category, value: dp.key })),\n (series) => series[0].datapoints,\n series\n )(data, type, null, dimension, null, display);\n case 'TimelineChart':\n return R.compose(\n (series) => map(series, (serie) => ({ label: serie.category, value: serie.key })),\n series\n )(data, type, null, dimension, null, display)\n case 'ScatterChart':\n const id = get(dimension, 'id');\n if (isNil(id)) return [];\n const dimensions = R.compose(\n (dimensions) => omit(dimensions, id),\n dimensionsWithValuesIndexedById\n )(data);\n return flatten(map(\n dimensions,\n (dimension) => {\n return map(\n get(dimension, 'values'),\n (value) => ({\n label: `${dimensionValueDisplay(display)(dimension)} - ${dimensionValueDisplay(display)(value)}`,\n options: { dimensionId: dimension.id, dimensionValueId: value.id },\n value: `${dimension.id}-${value.id}`\n })\n )\n }\n ));\n }\n};\nexport const focus = memoizee(_focus);\n\nconst _parseFocus = (data, type, dimension, display, { baseline, highlight }) => {\n const options = focus(data, type, dimension, display);\n\n const parseSelection = selection => compact(map(selection, ({ value }) => find(options, option => isEqual(option.value, value))));\n return ({ baseline: parseSelection(baseline), highlight: parseSelection(highlight) });\n};\nexport const parseFocus = memoizee(_parseFocus);\n\nconst _defaultSubtitle = (data, display, REJECTED_SUBTITLE_IDS = DEFAULT_REJECTED_SUBTITLE_IDS) => {\n const { value } = splitDimensions(data);\n const values = reduce(\n R.reject(R.prop('isHidden'))(value),\n (memo, d) => {\n const dvId = get(d, 'values[0].id');\n if (!includes(REJECTED_SUBTITLE_IDS, dvId)) {\n memo.push(`${dimensionValueDisplay(display)(d)}: ${dimensionValueDisplay(display)(get(d, 'values[0]'))}`);\n }\n return memo;\n },\n []\n );\n return values;\n}\nexport const defaultSubtitle = memoizee(_defaultSubtitle);\n\nconst _uprAttributes = (attributes, UPR_IDS = DEFAULT_UPR_IDS) => (\n reduce(\n UPR_IDS,\n (memo, ids, uprKey) => {\n const attr = find(attributes, attribute => includes(ids, get(attribute, 'id')));\n if (attr) {\n memo[uprKey] = attr;\n }\n return memo;\n },\n {}\n )\n);\nexport const uprAttributes = memoizee(_uprAttributes);\n\nconst _uprAttributesWithOneRelevantValue = (uprAttributes, UPR_IDS = DEFAULT_UPR_IDS, REJECTED_UPR_VALUES_IDS = DEFAULT_REJECTED_UPR_VALUES_IDS) => reduce(\n uprAttributes,\n (memo, attr, key) => {\n if (size(get(attr, 'values', [])) === 1 && !(includes(REJECTED_UPR_VALUES_IDS[key], get(attr, 'values[0].id', ''))))\n memo[key] = attr;\n return memo;\n },\n {}\n);\nexport const uprAttributesWithOneRelevantValue = memoizee(_uprAttributesWithOneRelevantValue);\n\nexport const headerUprsLabel = display => uprAttributes => {\n return map(\n uprAttributes,\n attr => dimensionValueDisplay(display)(get(attr, 'values[0]'))\n ).join(', ');\n}\n\nexport const getUprs = (data, display) => R.compose(\n headerUprsLabel(parseDisplay(display)),\n uprAttributesWithOneRelevantValue,\n ({ attributes }) => uprAttributes(attributes),\n extractSdmxArtefacts\n)(data);\n\nconst _header = (data, _title, _subtitle, _display) => {\n const display = parseDisplay(_display);\n const title = (isNil(_title) || isEmpty(_title)) ? get(data, 'structure.name') : _title;\n const subtitle = (isNil(_subtitle) || isEmpty(_subtitle)) ? defaultSubtitle(data, display) : _subtitle;\n return ({\n title,\n subtitle: isArray(subtitle) ? subtitle : [subtitle],\n uprs: R.compose(\n headerUprsLabel(display),\n uprAttributesWithOneRelevantValue,\n ({ attributes }) => uprAttributes(attributes),\n extractSdmxArtefacts\n )(data)\n });\n};\nexport const header = memoizee(_header);\n\nconst _sourceLabel = (data, label) => (\n (isNil(label) || isEmpty(label)) ? extractSdmxArtefacts(data).name : label\n);\nexport const sourceLabel = memoizee(_sourceLabel);\n\nconst _getTopologyAreasCollections = (topology) => map(topology.objects, (entry, key) => key);\nexport const getTopologyAreasCollections = memoizee(_getTopologyAreasCollections);\n\nconst _isNonIdealState = (data, type, map) => {\n const defaultSeries = series(data, type, null, null, map);\n if (type === 'ChoroplethChart')\n {\n return findIndex(get(defaultSeries, 'objects.areas.geometries', []), geometry => get(geometry, 'properties.value', null)) === -1;\n }\n return isEmpty(get(defaultSeries, '[0].datapoints', []));\n}\nexport const isNonIdealState = memoizee(_isNonIdealState);\n\nexport { dimensionValueDisplay } from './dimension-utils';\nexport { DEFAULT_UPR_IDS, DIMENSION_DISPLAY_PARTS, DEFAULT_MAJOR_ATTRIBUTES, V8_SDMX_JSON,\n TYPES as chartTypes } from './constants';\nexport {\n initialState,\n stateFromNewProps,\n onChangeProperties,\n toChartData,\n toChartOptions,\n toProperties,\n getErrors,\n toSingularity\n} from './properties';\nexport { dataTransformer as v8Transformer } from './v8-transformer';\nexport {\n getCellValue,\n} from './table';\nexport {\n getFullName,\n} from './sdmx-data';\nexport { getTimePeriodLabel } from './date';\nexport { getHeaderProps, getFooterProps, } from './properties/getHeaderProps';\nexport { getInformationsStateFromNewProps } from './properties/getInformationsStateFromNewProps';\nexport { getObservationsType } from './properties/getObservationsType';\nexport { getAvailableChartTypes } from './properties/getAvailableChartTypes';\nexport { isSharedLayoutCompatible } from './layout';\n\nexport { getObservations } from './preparators/getObservations';\n\nexport const getFlags = R.identity;\nexport const prepareData = R.identity;\n\nexport { getChartOptions } from './chart/getChartOptions';"],"names":["__sampleFocus","__scatterFocus","__timelineFocus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
package/dist/rules/src/layout.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
import { SCATTER, H_SYMBOL, V_SYMBOL, STACKED_BAR, STACKED_ROW } from './constants.js';
|
|
3
|
+
import { getReportingYearStart } from './preparators/getReportingYearStart.js';
|
|
3
4
|
import { parseCombinationDefinition, getCombinationDefinitions } from '../../rules2/src/getCombinationDefinitions.js';
|
|
4
5
|
import { refineDimensions } from '../../rules2/src/refineDimensions.js';
|
|
5
6
|
|
|
6
7
|
const isTableLayoutCompatible = (data, layout, combinationsDefinitions = [], dataquery = '') => {
|
|
7
8
|
const indexedCombinations = R.indexBy(R.prop('id'), combinationsDefinitions);
|
|
9
|
+
const reportYearStart = getReportingYearStart(data);
|
|
8
10
|
const indexedManyValuesDimensions = R.pipe(
|
|
9
11
|
R.pathOr([], ['structure', 'dimensions', 'observation']),
|
|
10
|
-
dimensions => refineDimensions(dimensions, dataquery),
|
|
12
|
+
dimensions => refineDimensions({ dimensions, options: { dataquery, reportYearStart } }),
|
|
11
13
|
R.reject(d => R.prop('header', d) || !R.length(d.values || [])),
|
|
12
14
|
R.indexBy(R.prop('id'))
|
|
13
15
|
)(data);
|
|
@@ -34,7 +36,7 @@ const isScatterLayoutCompatible = (data, chartDimension) => {
|
|
|
34
36
|
|
|
35
37
|
const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);
|
|
36
38
|
|
|
37
|
-
const dimension = R.find(R.propEq(
|
|
39
|
+
const dimension = R.find(R.propEq(id, 'id'), dimensions);
|
|
38
40
|
if (R.isNil(dimension)) {
|
|
39
41
|
return false;
|
|
40
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sources":["../../../src/rules/src/layout.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n H_SYMBOL,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n V_SYMBOL\n} from './constants';\nimport {\n getCombinationDefinitions,\n refineDimensions,\n parseCombinationDefinition\n} from '../../rules2/src';\n\nconst isTableLayoutCompatible = (data, layout, combinationsDefinitions = [], dataquery = '') => {\n const indexedCombinations = R.indexBy(R.prop('id'), combinationsDefinitions);\n const indexedManyValuesDimensions = R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n dimensions => refineDimensions(dimensions, dataquery),\n R.reject(d => R.prop('header', d) || !R.length(d.values || [])),\n R.indexBy(R.prop('id'))\n )(data);\n let remainings = indexedManyValuesDimensions;\n const layoutIds = R.pipe(R.values, R.unnest)(layout);\n let hasFoundIrrelevant = false;\n R.forEach(id => {\n if (R.has(id, indexedManyValuesDimensions)) {\n remainings = R.dissoc(id, remainings);\n }\n else if (R.has(id, indexedCombinations)) {\n remainings = R.omit(R.pathOr([], [id, 'concepts'], indexedCombinations), remainings);\n }\n else if (id !== 'OBS_ATTRIBUTES') {\n hasFoundIrrelevant = true;\n }\n }, layoutIds);\n return R.isEmpty(remainings) && !hasFoundIrrelevant;\n};\n\n\nconst isScatterLayoutCompatible = (data, chartDimension) => {\n const { id, xId, yId } = chartDimension;\n\n const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);\n\n const dimension = R.find(R.propEq(
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../../src/rules/src/layout.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n H_SYMBOL,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n V_SYMBOL\n} from './constants';\nimport {\n getCombinationDefinitions,\n refineDimensions,\n parseCombinationDefinition\n} from '../../rules2/src';\nimport { getReportingYearStart } from './/preparators/getReportingYearStart';\n\nconst isTableLayoutCompatible = (data, layout, combinationsDefinitions = [], dataquery = '') => {\n const indexedCombinations = R.indexBy(R.prop('id'), combinationsDefinitions);\n const reportYearStart = getReportingYearStart(data);\n const indexedManyValuesDimensions = R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n dimensions => refineDimensions({ dimensions, options: { dataquery, reportYearStart } }),\n R.reject(d => R.prop('header', d) || !R.length(d.values || [])),\n R.indexBy(R.prop('id'))\n )(data);\n let remainings = indexedManyValuesDimensions;\n const layoutIds = R.pipe(R.values, R.unnest)(layout);\n let hasFoundIrrelevant = false;\n R.forEach(id => {\n if (R.has(id, indexedManyValuesDimensions)) {\n remainings = R.dissoc(id, remainings);\n }\n else if (R.has(id, indexedCombinations)) {\n remainings = R.omit(R.pathOr([], [id, 'concepts'], indexedCombinations), remainings);\n }\n else if (id !== 'OBS_ATTRIBUTES') {\n hasFoundIrrelevant = true;\n }\n }, layoutIds);\n return R.isEmpty(remainings) && !hasFoundIrrelevant;\n};\n\n\nconst isScatterLayoutCompatible = (data, chartDimension) => {\n const { id, xId, yId } = chartDimension;\n\n const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);\n\n const dimension = R.find(R.propEq(id, 'id'), dimensions);\n if (R.isNil(dimension)) {\n return false;\n }\n return R.pipe(\n R.propOr([], 'values'),\n R.indexBy(R.prop('id')),\n R.pick([xId, yId]),\n R.values,\n R.length,\n R.equals(2)\n )(dimension);\n};\n\nconst isSymbolLayoutCompatible = (data, chartDimension) => {\n const { id, serie } = chartDimension;\n const serieIds = R.pluck('id',serie);\n\n return R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n R.indexBy(R.prop('id')),\n R.pathOr([], [id, 'values']),\n R.indexBy(R.prop('id')),\n R.pick(serieIds),\n R.values,\n R.length,\n R.equals(R.length(serieIds))\n )(data);\n};\n\nconst isStackedLayoutCompatible = (data, chartDimension) => {\n const { id } = chartDimension;\n\n return R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n R.filter(R.pipe(R.propOr([], 'values'), R.length, R.lt(1))),\n R.indexBy(R.prop('id')),\n R.has(id)\n )(data);\n};\n\nconst isChartLayoutCompatible = (data, type, chartDimension) => {\n return R.cond([\n [R.always(R.equals(SCATTER, type)), isScatterLayoutCompatible],\n [R.always(R.equals(H_SYMBOL, type) || R.equals(V_SYMBOL, type)), isSymbolLayoutCompatible],\n [R.always(R.anyPass([R.equals(STACKED_BAR), R.equals(STACKED_ROW)])(type)), isStackedLayoutCompatible],\n [R.T, R.T]\n ])(data, chartDimension);\n};\n\nexport const isSharedLayoutCompatible = (sdmxData, sharedData) => {\n const type = R.prop('type', sharedData);\n if (type === 'table') {\n const layoutIds = R.pathOr({}, ['config', 'table', 'layoutIds'], sharedData);\n const dataquery = R.path(['config', 'sdmxSource', 'dataquery'], sharedData);\n const annotations = R.pathOr({}, ['structure', 'annotations'], sdmxData)\n const locale = R.pathOr({}, ['config', 'table', 'locale'], sharedData);\n const rawDefaultCombinationsDefinition = R.pathOr({}, ['config', 'defaultCombinations'], sharedData);\n const { concepts='', names='' } = rawDefaultCombinationsDefinition;\n const defaultCombinationsDefinition = parseCombinationDefinition(locale)(concepts, names);\n const customCombinationsDefinitions = getCombinationDefinitions(annotations, locale);\n const combinationsDefinitions = R.isNil(customCombinationsDefinitions) || R.isEmpty(customCombinationsDefinitions)\n ? defaultCombinationsDefinition : customCombinationsDefinitions;\n return isTableLayoutCompatible(sdmxData, layoutIds, combinationsDefinitions, dataquery);\n }\n const chartDimension = R.pathOr({}, ['config', 'chart', 'chartDimension'], sharedData);\n return isChartLayoutCompatible(sdmxData, type, chartDimension);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import memoizee from 'memoizee';
|
|
2
1
|
import numeral from 'numeral';
|
|
3
2
|
import * as R from 'ramda';
|
|
4
|
-
import { extractSdmxArtefacts } from './index.js';
|
|
5
3
|
|
|
6
4
|
const DEFAULT_PREFSCALE_ATTR_IDS = ["PREF_SCALE"];
|
|
7
5
|
|
|
@@ -23,17 +21,13 @@ const parseAttributeFormaterIds = (ids = {}) => {
|
|
|
23
21
|
});
|
|
24
22
|
};
|
|
25
23
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
({
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
)(data);
|
|
36
|
-
const getObservationsFormaterAttributes = memoizee(_getObservationsFormaterAttributes);
|
|
24
|
+
const getObservationsFormaterAttributes = (attributes = [], ids = {}) => {
|
|
25
|
+
const { decimals, prefscale } = parseAttributeFormaterIds(ids);
|
|
26
|
+
return ({
|
|
27
|
+
decimals: getFormaterAttribute(decimals, attributes),
|
|
28
|
+
prefscale: getFormaterAttribute(prefscale, attributes)
|
|
29
|
+
});
|
|
30
|
+
};
|
|
37
31
|
|
|
38
32
|
const getObservationFormaterValue = (observation, attribute) => {
|
|
39
33
|
const attributeIndex = R.prop('index', attribute);
|
|
@@ -82,5 +76,5 @@ const getFormatedObservation = (observation, formaterAttributes) => {
|
|
|
82
76
|
return formater(R.head(observation));
|
|
83
77
|
};
|
|
84
78
|
|
|
85
|
-
export {
|
|
79
|
+
export { getFormatedObservation, getObservationFormater, getObservationsFormaterAttributes };
|
|
86
80
|
//# sourceMappingURL=observation-formater.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation-formater.js","sources":["../../../src/rules/src/observation-formater.js"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"observation-formater.js","sources":["../../../src/rules/src/observation-formater.js"],"sourcesContent":["import numeral from 'numeral';\nimport * as R from 'ramda';\n\nconst DEFAULT_PREFSCALE_ATTR_IDS = [\"PREF_SCALE\"];\n\nconst DEFAULT_DECIMALS_ATTR_IDS = [\"DECIMALS\"];\n\nconst getFormaterAttribute = (ids, attributes) => R.find(\n (attr) => R.includes(attr.id, ids),\n attributes\n);\n\nconst parseAttributeFormaterIds = (ids = {}) => {\n let prefscale = R.prop('prefscale', ids);\n let decimals = R.prop('decimals', ids);\n decimals = R.isNil(decimals) ? DEFAULT_DECIMALS_ATTR_IDS : decimals;\n prefscale = R.isNil(prefscale) ? DEFAULT_PREFSCALE_ATTR_IDS : prefscale;\n return ({\n decimals: R.is(Array, decimals) ? decimals : [decimals],\n prefscale: R.is(Array, prefscale) ? prefscale : [prefscale],\n });\n}\n\nexport const getObservationsFormaterAttributes = (attributes = [], ids = {}) => {\n const { decimals, prefscale } = parseAttributeFormaterIds(ids);\n return ({\n decimals: getFormaterAttribute(decimals, attributes),\n prefscale: getFormaterAttribute(prefscale, attributes)\n });\n};\n\nconst getObservationFormaterValue = (observation, attribute) => {\n const attributeIndex = R.prop('index', attribute);\n const attributeValueIndex = R.nth(attributeIndex, observation);\n return R.nth(attributeValueIndex, R.propOr([], 'values', attribute));\n}\n\nconst getObservationFormaterValues = (formaterAttributes) => (observation) => ({\n decimals: getObservationFormaterValue(observation, R.prop('decimals', formaterAttributes)),\n prefscale: getObservationFormaterValue(observation, R.prop('prefscale', formaterAttributes)),\n});\n\nconst makeObservationFormater = (formaterValues) => {\n let prefscale = 0;\n if (!R.isNil(R.prop('prefscale', formaterValues))) {\n prefscale = Number(R.propOr('0', 'id', formaterValues.prefscale));\n }\n let decimals = null;\n if (!R.isNil(R.prop('decimals', formaterValues))) {\n let _decimals = Number(R.prop('id', formaterValues.decimals));\n decimals = R.is(Number, _decimals) && !Number.isNaN(_decimals)\n ? _decimals : null;\n }\n let format = '0,0';\n if (R.isNil(decimals)) {\n format = R.concat(format, '.[0000000]');\n }\n else if (decimals > 0) {\n format = R.concat(format, `.[${'0'.repeat(decimals)}]`);\n }\n return value => numeral(Number(value))\n .multiply(Math.pow(10, R.negate(prefscale)))\n .format(format);\n};\n\nexport const getObservationFormater = (observation, formaterAttributes) => {\n return R.pipe(\n R.tail,\n getObservationFormaterValues(formaterAttributes),\n makeObservationFormater\n )(observation);\n}\n\nexport const getFormatedObservation = (observation, formaterAttributes) => {\n const formater = getObservationFormater(observation, formaterAttributes);\n return formater(R.head(observation));\n};\n"],"names":[],"mappings":"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"}
|