@sis-cc/dotstatsuite-components 22.0.1 → 22.0.3
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/bridge-d3-react/src/index.js +18 -0
- package/dist/bridge-d3-react/src/index.js.map +1 -0
- package/dist/bridge-d3-react/src/react-chart-factory.js +44 -0
- package/dist/bridge-d3-react/src/react-chart-factory.js.map +1 -0
- package/dist/rules/src/chart/getAxisOptions.js +256 -0
- package/dist/rules/src/chart/getAxisOptions.js.map +1 -0
- package/dist/rules/src/chart/getBaseOptions.js +77 -0
- package/dist/rules/src/chart/getBaseOptions.js.map +1 -0
- package/dist/rules/src/chart/getChartOptions.js +120 -0
- package/dist/rules/src/chart/getChartOptions.js.map +1 -0
- package/dist/rules/src/chart/getGridOptions.js +46 -0
- package/dist/rules/src/chart/getGridOptions.js.map +1 -0
- package/dist/rules/src/chart/getTooltipOptions.js +223 -0
- package/dist/rules/src/chart/getTooltipOptions.js.map +1 -0
- package/dist/rules/src/constants.js +65 -0
- package/dist/rules/src/constants.js.map +1 -0
- package/dist/rules/src/date.js +121 -0
- package/dist/rules/src/date.js.map +1 -0
- package/dist/rules/src/dimension-utils.js +57 -0
- package/dist/rules/src/dimension-utils.js.map +1 -0
- package/dist/rules/src/factories/choro-series.js +68 -0
- package/dist/rules/src/factories/choro-series.js.map +1 -0
- package/dist/rules/src/factories/sample-focus.js +25 -0
- package/dist/rules/src/factories/sample-focus.js.map +1 -0
- package/dist/rules/src/factories/sample-series.js +53 -0
- package/dist/rules/src/factories/sample-series.js.map +1 -0
- package/dist/rules/src/factories/scatter-dimension.js +35 -0
- package/dist/rules/src/factories/scatter-dimension.js.map +1 -0
- package/dist/rules/src/factories/scatter-focus.js +42 -0
- package/dist/rules/src/factories/scatter-focus.js.map +1 -0
- package/dist/rules/src/factories/scatter-series.js +91 -0
- package/dist/rules/src/factories/scatter-series.js.map +1 -0
- package/dist/rules/src/factories/stacked-dimension.js +32 -0
- package/dist/rules/src/factories/stacked-dimension.js.map +1 -0
- package/dist/rules/src/factories/stacked-series.js +188 -0
- package/dist/rules/src/factories/stacked-series.js.map +1 -0
- package/dist/rules/src/factories/symbol-dimension.js +32 -0
- package/dist/rules/src/factories/symbol-dimension.js.map +1 -0
- package/dist/rules/src/factories/symbol-series.js +65 -0
- package/dist/rules/src/factories/symbol-series.js.map +1 -0
- package/dist/rules/src/factories/timeline-focus.js +21 -0
- package/dist/rules/src/factories/timeline-focus.js.map +1 -0
- package/dist/rules/src/factories/timeline-series.js +94 -0
- package/dist/rules/src/factories/timeline-series.js.map +1 -0
- package/dist/rules/src/get-values-enhanced.js +133 -0
- package/dist/rules/src/get-values-enhanced.js.map +1 -0
- package/dist/rules/src/header/getDefaultSubtitle.js +44 -0
- package/dist/rules/src/header/getDefaultSubtitle.js.map +1 -0
- package/dist/rules/src/header/getHeaderUnits.js +21 -0
- package/dist/rules/src/header/getHeaderUnits.js.map +1 -0
- package/dist/rules/src/header/getSubtitleFlags.js +47 -0
- package/dist/rules/src/header/getSubtitleFlags.js.map +1 -0
- package/dist/rules/src/header/getTitleFlags.js +12 -0
- package/dist/rules/src/header/getTitleFlags.js.map +1 -0
- package/dist/rules/src/index.js +379 -0
- package/dist/rules/src/index.js.map +1 -0
- package/dist/rules/src/layout.js +107 -0
- package/dist/rules/src/layout.js.map +1 -0
- package/dist/rules/src/observation-formater.js +86 -0
- package/dist/rules/src/observation-formater.js.map +1 -0
- package/dist/rules/src/preparators/formatValue.js +96 -0
- package/dist/rules/src/preparators/formatValue.js.map +1 -0
- package/dist/rules/src/preparators/getObservations.js +22 -0
- package/dist/rules/src/preparators/getObservations.js.map +1 -0
- package/dist/rules/src/preparators/getReportingYearStart.js +19 -0
- package/dist/rules/src/preparators/getReportingYearStart.js.map +1 -0
- package/dist/rules/src/properties/errors.js +22 -0
- package/dist/rules/src/properties/errors.js.map +1 -0
- package/dist/rules/src/properties/focus.js +72 -0
- package/dist/rules/src/properties/focus.js.map +1 -0
- package/dist/rules/src/properties/getAvailableChartTypes.js +31 -0
- package/dist/rules/src/properties/getAvailableChartTypes.js.map +1 -0
- package/dist/rules/src/properties/getHeaderProps.js +76 -0
- package/dist/rules/src/properties/getHeaderProps.js.map +1 -0
- package/dist/rules/src/properties/getInformationsStateFromNewProps.js +50 -0
- package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +1 -0
- package/dist/rules/src/properties/getObservationsType.js +28 -0
- package/dist/rules/src/properties/getObservationsType.js.map +1 -0
- package/dist/rules/src/properties/getStringifiedSubtitle.js +9 -0
- package/dist/rules/src/properties/getStringifiedSubtitle.js.map +1 -0
- package/dist/rules/src/properties/index.js +384 -0
- package/dist/rules/src/properties/index.js.map +1 -0
- package/dist/rules/src/properties/linear.js +123 -0
- package/dist/rules/src/properties/linear.js.map +1 -0
- package/dist/rules/src/properties/scatter.js +156 -0
- package/dist/rules/src/properties/scatter.js.map +1 -0
- package/dist/rules/src/properties/stacked.js +96 -0
- package/dist/rules/src/properties/stacked.js.map +1 -0
- package/dist/rules/src/properties/symbol.js +76 -0
- package/dist/rules/src/properties/symbol.js.map +1 -0
- package/dist/rules/src/properties/utils.js +86 -0
- package/dist/rules/src/properties/utils.js.map +1 -0
- package/dist/rules/src/sdmx-data/index.js +38 -0
- package/dist/rules/src/sdmx-data/index.js.map +1 -0
- package/dist/rules/src/table/factories/getCellValue.js +53 -0
- package/dist/rules/src/table/factories/getCellValue.js.map +1 -0
- package/dist/rules/src/v8-transformer.js +174 -0
- package/dist/rules/src/v8-transformer.js.map +1 -0
- package/dist/rules2/src/applyHierarchicalCodesToDim.js +126 -0
- package/dist/rules2/src/applyHierarchicalCodesToDim.js.map +1 -0
- package/dist/rules2/src/combinedValuesDisplay.js +77 -0
- package/dist/rules2/src/combinedValuesDisplay.js.map +1 -0
- package/dist/rules2/src/constants.js +9 -0
- package/dist/rules2/src/constants.js.map +1 -0
- package/dist/rules2/src/duplicateObservations.js +38 -0
- package/dist/rules2/src/duplicateObservations.js.map +1 -0
- package/dist/rules2/src/enhanceObservations.js +98 -0
- package/dist/rules2/src/enhanceObservations.js.map +1 -0
- package/dist/rules2/src/getAttributesSeries.js +39 -0
- package/dist/rules2/src/getAttributesSeries.js.map +1 -0
- package/dist/rules2/src/getCombinationDefinitions.js +50 -0
- package/dist/rules2/src/getCombinationDefinitions.js.map +1 -0
- package/dist/rules2/src/getDataflowAttributes.js +25 -0
- package/dist/rules2/src/getDataflowAttributes.js.map +1 -0
- package/dist/rules2/src/getDataflowTooltipAttributesIds.js +33 -0
- package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -0
- package/dist/rules2/src/getDimensionValuesIndexes.js +16 -0
- package/dist/rules2/src/getDimensionValuesIndexes.js.map +1 -0
- package/dist/rules2/src/getHCodelistsRefsInData.js +35 -0
- package/dist/rules2/src/getHCodelistsRefsInData.js.map +1 -0
- package/dist/rules2/src/getHeaderCombinations.js +51 -0
- package/dist/rules2/src/getHeaderCombinations.js.map +1 -0
- package/dist/rules2/src/getHeaderCoordinates.js +10 -0
- package/dist/rules2/src/getHeaderCoordinates.js.map +1 -0
- package/dist/rules2/src/getHeaderSubtitle.js +37 -0
- package/dist/rules2/src/getHeaderSubtitle.js.map +1 -0
- package/dist/rules2/src/getHeaderTitle.js +18 -0
- package/dist/rules2/src/getHeaderTitle.js.map +1 -0
- package/dist/rules2/src/getMSDInformations.js +26 -0
- package/dist/rules2/src/getMSDInformations.js.map +1 -0
- package/dist/rules2/src/getManyValuesDimensions.js +37 -0
- package/dist/rules2/src/getManyValuesDimensions.js.map +1 -0
- package/dist/rules2/src/getMetadataCoordinates.js +40 -0
- package/dist/rules2/src/getMetadataCoordinates.js.map +1 -0
- package/dist/rules2/src/getNotDisplayedIds.js +56 -0
- package/dist/rules2/src/getNotDisplayedIds.js.map +1 -0
- package/dist/rules2/src/getOneValueDimensions.js +37 -0
- package/dist/rules2/src/getOneValueDimensions.js.map +1 -0
- package/dist/rules2/src/getSeriesCombinations.js +27 -0
- package/dist/rules2/src/getSeriesCombinations.js.map +1 -0
- package/dist/rules2/src/hasCellMetadata.js +17 -0
- package/dist/rules2/src/hasCellMetadata.js.map +1 -0
- package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +60 -0
- package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js.map +1 -0
- package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +38 -0
- package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js.map +1 -0
- package/dist/rules2/src/index.js +47 -0
- package/dist/rules2/src/index.js.map +1 -0
- package/dist/rules2/src/parseAttributes.js +44 -0
- package/dist/rules2/src/parseAttributes.js.map +1 -0
- package/dist/rules2/src/parseCombinations.js +105 -0
- package/dist/rules2/src/parseCombinations.js.map +1 -0
- package/dist/rules2/src/parseHierarchicalCodelist.js +34 -0
- package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -0
- package/dist/rules2/src/parseMetadataSeries.js +124 -0
- package/dist/rules2/src/parseMetadataSeries.js.map +1 -0
- package/dist/rules2/src/prepareData.js +78 -0
- package/dist/rules2/src/prepareData.js.map +1 -0
- package/dist/rules2/src/refineAttributes.js +19 -0
- package/dist/rules2/src/refineAttributes.js.map +1 -0
- package/dist/rules2/src/refineDimensions.js +21 -0
- package/dist/rules2/src/refineDimensions.js.map +1 -0
- package/dist/rules2/src/refineTimePeriod.js +130 -0
- package/dist/rules2/src/refineTimePeriod.js.map +1 -0
- package/dist/rules2/src/sdmx3.0DataFormatPatch.js +12 -0
- package/dist/rules2/src/sdmx3.0DataFormatPatch.js.map +1 -0
- package/dist/rules2/src/table/declineObservationsOverAttributes.js +35 -0
- package/dist/rules2/src/table/declineObservationsOverAttributes.js.map +1 -0
- package/dist/rules2/src/table/getCells.js +96 -0
- package/dist/rules2/src/table/getCells.js.map +1 -0
- package/dist/rules2/src/table/getCellsAttributesIds.js +41 -0
- package/dist/rules2/src/table/getCellsAttributesIds.js.map +1 -0
- package/dist/rules2/src/table/getCellsMetadataCoordinates.js +16 -0
- package/dist/rules2/src/table/getCellsMetadataCoordinates.js.map +1 -0
- package/dist/rules2/src/table/getCuratedCells.js +36 -0
- package/dist/rules2/src/table/getCuratedCells.js.map +1 -0
- package/dist/rules2/src/table/getFlagsAndNotes.js +26 -0
- package/dist/rules2/src/table/getFlagsAndNotes.js.map +1 -0
- package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js +19 -0
- package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js.map +1 -0
- package/dist/rules2/src/table/getLayout.js +87 -0
- package/dist/rules2/src/table/getLayout.js.map +1 -0
- package/dist/rules2/src/table/getLayoutData2.js +205 -0
- package/dist/rules2/src/table/getLayoutData2.js.map +1 -0
- package/dist/rules2/src/table/getSortedLayoutIndexes.js +141 -0
- package/dist/rules2/src/table/getSortedLayoutIndexes.js.map +1 -0
- package/dist/rules2/src/table/getTableLabelAccessor.js +11 -0
- package/dist/rules2/src/table/getTableLabelAccessor.js.map +1 -0
- package/dist/rules2/src/table/getTableLayoutIds.js +317 -0
- package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -0
- package/dist/rules2/src/table/getTableProps.js +85 -0
- package/dist/rules2/src/table/getTableProps.js.map +1 -0
- package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js +82 -0
- package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js.map +1 -0
- package/dist/rules2/src/table/parseValueHierarchy.js +29 -0
- package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -0
- package/dist/rules2/src/table/refineLayoutSize2.js +324 -0
- package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -0
- package/dist/rules2/src/utils.js +29 -0
- package/dist/rules2/src/utils.js.map +1 -0
- package/dist/viewer/src/chart.js +50 -0
- package/dist/viewer/src/chart.js.map +1 -0
- package/dist/viewer/src/chartUtils/options.js +33 -0
- package/dist/viewer/src/chartUtils/options.js.map +1 -0
- package/dist/viewer/src/chartUtils/series.js +54 -0
- package/dist/viewer/src/chartUtils/series.js.map +1 -0
- package/dist/viewer/src/footer.js +39 -0
- package/dist/viewer/src/footer.js.map +1 -0
- package/dist/viewer/src/header.js +12 -0
- package/dist/viewer/src/header.js.map +1 -0
- package/dist/viewer/src/index.js +160 -0
- package/dist/viewer/src/index.js.map +1 -0
- package/dist/viewer/src/legends/AxisLegend.js +42 -0
- package/dist/viewer/src/legends/AxisLegend.js.map +1 -0
- package/dist/viewer/src/legends/ChartLegends.js +80 -0
- package/dist/viewer/src/legends/ChartLegends.js.map +1 -0
- package/dist/viewer/src/legends/FocusLegend.js +67 -0
- package/dist/viewer/src/legends/FocusLegend.js.map +1 -0
- package/dist/viewer/src/legends/Legend.js +51 -0
- package/dist/viewer/src/legends/Legend.js.map +1 -0
- package/dist/viewer/src/legends/SeriesLegend.js +77 -0
- package/dist/viewer/src/legends/SeriesLegend.js.map +1 -0
- package/dist/viewer/src/utils.js +24 -0
- package/dist/viewer/src/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/app.js +13 -0
- package/src/bridge-d3-react/README.md +42 -0
- package/src/bridge-d3-react/src/app.js +64 -0
- package/src/bridge-d3-react/src/index.js +16 -0
- package/src/bridge-d3-react/src/mock-choro.js +394 -0
- package/src/bridge-d3-react/src/react-chart-factory.jsx +65 -0
- package/src/index.js +10 -0
- package/src/rules/README.md +23 -0
- package/src/rules/src/chart/getAxisOptions.js +263 -0
- package/src/rules/src/chart/getBaseOptions.js +84 -0
- package/src/rules/src/chart/getChartOptions.js +118 -0
- package/src/rules/src/chart/getGridOptions.js +52 -0
- package/src/rules/src/chart/getTooltipOptions.js +230 -0
- package/src/rules/src/constants.js +64 -0
- package/src/rules/src/date.js +118 -0
- package/src/rules/src/dimension-utils.js +54 -0
- package/src/rules/src/factories/choro-series.js +65 -0
- package/src/rules/src/factories/sample-focus.js +22 -0
- package/src/rules/src/factories/sample-series.js +50 -0
- package/src/rules/src/factories/scatter-dimension.js +32 -0
- package/src/rules/src/factories/scatter-focus.js +39 -0
- package/src/rules/src/factories/scatter-series.js +92 -0
- package/src/rules/src/factories/stacked-dimension.js +29 -0
- package/src/rules/src/factories/stacked-series.js +185 -0
- package/src/rules/src/factories/symbol-dimension.js +29 -0
- package/src/rules/src/factories/symbol-series.js +62 -0
- package/src/rules/src/factories/timeline-focus.js +18 -0
- package/src/rules/src/factories/timeline-series.js +91 -0
- package/src/rules/src/get-values-enhanced.js +134 -0
- package/src/rules/src/header/getDefaultSubtitle.js +40 -0
- package/src/rules/src/header/getHeaderUnits.js +17 -0
- package/src/rules/src/header/getSubtitleFlags.js +43 -0
- package/src/rules/src/header/getTitleFlags.js +8 -0
- package/src/rules/src/header/index.js +4 -0
- package/src/rules/src/index.js +400 -0
- package/src/rules/src/layout.js +113 -0
- package/src/rules/src/observation-formater.js +83 -0
- package/src/rules/src/preparators/enhanceObservations.js +152 -0
- package/src/rules/src/preparators/formatValue.js +93 -0
- package/src/rules/src/preparators/getObservations.js +19 -0
- package/src/rules/src/preparators/getReportingYearStart.js +16 -0
- package/src/rules/src/properties/errors.js +19 -0
- package/src/rules/src/properties/focus.js +69 -0
- package/src/rules/src/properties/getAvailableChartTypes.js +34 -0
- package/src/rules/src/properties/getHeaderProps.js +74 -0
- package/src/rules/src/properties/getInformationsStateFromNewProps.js +47 -0
- package/src/rules/src/properties/getObservationsType.js +29 -0
- package/src/rules/src/properties/getStringifiedSubtitle.js +6 -0
- package/src/rules/src/properties/index.js +424 -0
- package/src/rules/src/properties/information.js +84 -0
- package/src/rules/src/properties/linear.js +129 -0
- package/src/rules/src/properties/scatter.js +158 -0
- package/src/rules/src/properties/stacked.js +98 -0
- package/src/rules/src/properties/symbol.js +79 -0
- package/src/rules/src/properties/utils.js +110 -0
- package/src/rules/src/sdmx-data/index.js +39 -0
- package/src/rules/src/table/factories/getCellValue.js +50 -0
- package/src/rules/src/table/index.js +1 -0
- package/src/rules/src/v8-transformer.js +177 -0
- package/src/rules2/src/applyHierarchicalCodesToDim.js +123 -0
- package/src/rules2/src/combinedValuesDisplay.js +74 -0
- package/src/rules2/src/constants.js +6 -0
- package/src/rules2/src/duplicateObservations.js +35 -0
- package/src/rules2/src/enhanceObservations.js +95 -0
- package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +29 -0
- package/src/rules2/src/getAttributesSeries.js +36 -0
- package/src/rules2/src/getCombinationDefinitions.js +47 -0
- package/src/rules2/src/getDataflowAttributes.js +23 -0
- package/src/rules2/src/getDataflowTooltipAttributesIds.js +31 -0
- package/src/rules2/src/getDimensionValuesIndexes.js +13 -0
- package/src/rules2/src/getHCodelistsRefsInData.js +32 -0
- package/src/rules2/src/getHeaderCombinations.js +48 -0
- package/src/rules2/src/getHeaderCoordinates.js +7 -0
- package/src/rules2/src/getHeaderSubtitle.js +34 -0
- package/src/rules2/src/getHeaderTitle.js +15 -0
- package/src/rules2/src/getMSDInformations.js +23 -0
- package/src/rules2/src/getManyValuesDimensions.js +34 -0
- package/src/rules2/src/getMetadataCoordinates.js +37 -0
- package/src/rules2/src/getMetadataStructureFromData.js +17 -0
- package/src/rules2/src/getNotDisplayedIds.js +53 -0
- package/src/rules2/src/getOneValueDimensions.js +34 -0
- package/src/rules2/src/getSeriesCombinations.js +24 -0
- package/src/rules2/src/hasCellMetadata.js +14 -0
- package/src/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +57 -0
- package/src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +35 -0
- package/src/rules2/src/index.js +50 -0
- package/src/rules2/src/parseAttributes.js +41 -0
- package/src/rules2/src/parseCombinations.js +102 -0
- package/src/rules2/src/parseHierarchicalCodelist.js +48 -0
- package/src/rules2/src/parseMetadataSeries.js +121 -0
- package/src/rules2/src/prepareData.js +75 -0
- package/src/rules2/src/refineAttributes.js +16 -0
- package/src/rules2/src/refineDimensions.js +18 -0
- package/src/rules2/src/refineMetadataCoordinates.js +28 -0
- package/src/rules2/src/refineTimePeriod.js +127 -0
- package/src/rules2/src/sdmx3.0DataFormatPatch.js +9 -0
- package/src/rules2/src/table/declineObservationsOverAttributes.js +32 -0
- package/src/rules2/src/table/getCells.js +93 -0
- package/src/rules2/src/table/getCellsAttributesIds.js +38 -0
- package/src/rules2/src/table/getCellsMetadataCoordinates.js +13 -0
- package/src/rules2/src/table/getCombinationDimensionsData.js +39 -0
- package/src/rules2/src/table/getCuratedCells.js +33 -0
- package/src/rules2/src/table/getFlagsAndNotes.js +23 -0
- package/src/rules2/src/table/getIndexedCombinationsByDisplay.js +16 -0
- package/src/rules2/src/table/getLayout.js +84 -0
- package/src/rules2/src/table/getLayoutData2.js +202 -0
- package/src/rules2/src/table/getSortedLayoutIndexes.js +138 -0
- package/src/rules2/src/table/getTableLabelAccessor.js +9 -0
- package/src/rules2/src/table/getTableLayoutIds.js +314 -0
- package/src/rules2/src/table/getTableProps.js +82 -0
- package/src/rules2/src/table/parseSeriesIndexesHierarchies.js +79 -0
- package/src/rules2/src/table/parseValueHierarchy.js +33 -0
- package/src/rules2/src/table/refineLayoutSize2.js +321 -0
- package/src/rules2/src/utils.js +37 -0
- package/src/viewer/mocks/bar.js +33 -0
- package/src/viewer/mocks/gpp-symbol.js +93 -0
- package/src/viewer/mocks/gpp-time.js +1103 -0
- package/src/viewer/mocks/row.js +39 -0
- package/src/viewer/mocks/scatter.js +93 -0
- package/src/viewer/mocks/stack.js +161 -0
- package/src/viewer/src/app/leg.js +36 -0
- package/src/viewer/src/app/nodata-res.js +22 -0
- package/src/viewer/src/app/nodata-sized.js +23 -0
- package/src/viewer/src/app/one-table-cell.js +70 -0
- package/src/viewer/src/app/table.js +423 -0
- package/src/viewer/src/app/use-case-1.js +33 -0
- package/src/viewer/src/app/use-case-2.js +38 -0
- package/src/viewer/src/app/use-case-3.js +18 -0
- package/src/viewer/src/app.js +116 -0
- package/src/viewer/src/chart.jsx +52 -0
- package/src/viewer/src/chartUtils/options.js +30 -0
- package/src/viewer/src/chartUtils/series.js +51 -0
- package/src/viewer/src/footer.jsx +23 -0
- package/src/viewer/src/header.jsx +10 -0
- package/src/viewer/src/index.jsx +158 -0
- package/src/viewer/src/legends/AxisLegend.jsx +41 -0
- package/src/viewer/src/legends/ChartLegends.jsx +66 -0
- package/src/viewer/src/legends/FocusLegend.jsx +63 -0
- package/src/viewer/src/legends/Legend.jsx +46 -0
- package/src/viewer/src/legends/SeriesLegend.jsx +78 -0
- package/src/viewer/src/utils.js +21 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSeriesCombinations.js","sources":["../../../src/rules2/src/getSeriesCombinations.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getSeriesCombinations = (combinations, oneValuesDimensions) => {\n const indexedValues = R.reduce(\n (acc, dim) => {\n const value = R.head(dim.values);\n return R.assoc(dim.id, value, acc);\n },\n {},\n oneValuesDimensions\n );\n\n return R.reduce(\n (acc, comb) => {\n if (!R.prop('series', comb)) {\n return acc;\n }\n const fixedDimValues = R.pick(comb.concepts, indexedValues);\n return R.append({ ...comb, fixedDimValues }, acc);\n },\n [],\n combinations\n );\n};\n"],"names":[],"mappings":";;AAEY,MAAC,qBAAqB,GAAG,CAAC,YAAY,EAAE,mBAAmB,KAAK;AAC5E,EAAE,MAAM,aAAa,IAAI,CAAC,CAAC,MAAM;AACjC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;AAClB,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACtC,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC;AACxC,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI;AACJ,GAAG;;AAEH,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK;AACnB,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;AACnC,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;AACjE,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC;AACvD,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI;AACJ,GAAG;AACH;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
|
|
3
|
+
const hasCellMetadata = (metadataCoordinates, cellCoordinates) => {
|
|
4
|
+
if (R.propOr('OBS_VALUE', 'OBS_ATTRIBUTES', cellCoordinates) !== 'OBS_VALUE') {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
return R.pipe(
|
|
8
|
+
R.find(coordinates => {
|
|
9
|
+
const mergedCoord = R.mergeLeft(coordinates, cellCoordinates);
|
|
10
|
+
return !R.isEmpty(coordinates) && R.equals(mergedCoord, cellCoordinates);
|
|
11
|
+
}),
|
|
12
|
+
R.complement(R.isNil)
|
|
13
|
+
)(metadataCoordinates);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { hasCellMetadata };
|
|
17
|
+
//# sourceMappingURL=hasCellMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasCellMetadata.js","sources":["../../../src/rules2/src/hasCellMetadata.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const hasCellMetadata = (metadataCoordinates, cellCoordinates) => {\n if (R.propOr('OBS_VALUE', 'OBS_ATTRIBUTES', cellCoordinates) !== 'OBS_VALUE') {\n return false;\n }\n return R.pipe(\n R.find(coordinates => {\n const mergedCoord = R.mergeLeft(coordinates, cellCoordinates);\n return !R.isEmpty(coordinates) && R.equals(mergedCoord, cellCoordinates);\n }),\n R.complement(R.isNil)\n )(metadataCoordinates);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,eAAe,GAAG,CAAC,mBAAmB,EAAE,eAAe,KAAK;AACzE,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,KAAK,WAAW,EAAE;AAChF,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI;AAC1B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;AACnE,MAAM,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC;AAC9E,IAAI,CAAC,CAAC;AACN,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AACxB,GAAG,CAAC,mBAAmB,CAAC;AACxB;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
|
|
3
|
+
const uniq = R.pipe(
|
|
4
|
+
R.reduce(
|
|
5
|
+
({ ids, list }, id) => {
|
|
6
|
+
if (R.has(id, list)) {
|
|
7
|
+
return ({ ids, list });
|
|
8
|
+
}
|
|
9
|
+
return ({ ids: R.append(id, ids), list: R.assoc(id, id, list) });
|
|
10
|
+
},
|
|
11
|
+
{ ids: [], list: {} }
|
|
12
|
+
),
|
|
13
|
+
R.prop('ids')
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
const refinePartialHierarchy = (hier, indexed) => {
|
|
17
|
+
const { intact, broken } = R.pipe(
|
|
18
|
+
R.keys,
|
|
19
|
+
R.reduce(
|
|
20
|
+
({ intact, broken }, key) => {
|
|
21
|
+
const ids = R.filter(id => R.has(id, indexed), hier[key]);
|
|
22
|
+
if (key === '#ROOT') {
|
|
23
|
+
return ({ broken, intact: R.assoc(key, ids, intact) });
|
|
24
|
+
}
|
|
25
|
+
const splitKey = R.split('.', key);
|
|
26
|
+
const filtered = R.takeLastWhile(id => R.has(id, indexed), splitKey);
|
|
27
|
+
if (R.length(filtered) === R.length(splitKey)) {
|
|
28
|
+
return ({ broken, intact: R.assoc(key, ids, intact) });
|
|
29
|
+
}
|
|
30
|
+
const refinedKey = R.isEmpty(filtered) ? '#ROOT' : R.join('.', filtered);
|
|
31
|
+
return ({
|
|
32
|
+
intact,
|
|
33
|
+
broken: R.over(R.lensProp(refinedKey), R.ifElse(R.isNil, R.always([ids]), R.append(ids)))(broken)
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
{ intact: {}, broken: {} }
|
|
37
|
+
)
|
|
38
|
+
)(hier);
|
|
39
|
+
const intactIds = R.pipe(R.values, R.unnest)(intact);
|
|
40
|
+
const refinedBroken = R.pipe(
|
|
41
|
+
R.omit(intactIds),
|
|
42
|
+
R.over(
|
|
43
|
+
R.lensProp('#ROOT'),
|
|
44
|
+
R.pipe(
|
|
45
|
+
i => R.isNil(i) ? [] : i,
|
|
46
|
+
R.unnest,
|
|
47
|
+
R.reject(R.flip(R.includes)(intactIds)))
|
|
48
|
+
),
|
|
49
|
+
R.map(R.pipe(R.unnest, uniq))
|
|
50
|
+
)(broken);
|
|
51
|
+
|
|
52
|
+
return ({
|
|
53
|
+
...refinedBroken,
|
|
54
|
+
...intact,
|
|
55
|
+
'#ROOT': R.concat(refinedBroken['#ROOT'], intact['#ROOT'])
|
|
56
|
+
})
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export { refinePartialHierarchy };
|
|
60
|
+
//# sourceMappingURL=hierarchiseDimensionWithAdvancedHierarchy2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchiseDimensionWithAdvancedHierarchy2.js","sources":["../../../src/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js"],"sourcesContent":["import * as R from 'ramda';\n\nconst uniq = R.pipe(\n R.reduce(\n ({ ids, list }, id) => {\n if (R.has(id, list)) {\n return ({ ids, list });\n }\n return ({ ids: R.append(id, ids), list: R.assoc(id, id, list) });\n },\n { ids: [], list: {} }\n ),\n R.prop('ids')\n);\n\nexport const refinePartialHierarchy = (hier, indexed) => {\n const { intact, broken } = R.pipe(\n R.keys,\n R.reduce(\n ({ intact, broken }, key) => {\n const ids = R.filter(id => R.has(id, indexed), hier[key]);\n if (key === '#ROOT') {\n return ({ broken, intact: R.assoc(key, ids, intact) });\n }\n const splitKey = R.split('.', key);\n const filtered = R.takeLastWhile(id => R.has(id, indexed), splitKey);\n if (R.length(filtered) === R.length(splitKey)) {\n return ({ broken, intact: R.assoc(key, ids, intact) });\n }\n const refinedKey = R.isEmpty(filtered) ? '#ROOT' : R.join('.', filtered);\n return ({\n intact,\n broken: R.over(R.lensProp(refinedKey), R.ifElse(R.isNil, R.always([ids]), R.append(ids)))(broken)\n });\n },\n { intact: {}, broken: {} }\n )\n )(hier);\n const intactIds = R.pipe(R.values, R.unnest)(intact);\n const refinedBroken = R.pipe(\n R.omit(intactIds),\n R.over(\n R.lensProp('#ROOT'),\n R.pipe(\n i => R.isNil(i) ? [] : i,\n R.unnest,\n R.reject(R.flip(R.includes)(intactIds)))\n ),\n R.map(R.pipe(R.unnest, uniq))\n )(broken);\n\n return ({\n ...refinedBroken,\n ...intact,\n '#ROOT': R.concat(refinedBroken['#ROOT'], intact['#ROOT'])\n })\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
|
|
3
|
+
const hierarchiseDimensionWithNativeHierarchy = (dimension) => {
|
|
4
|
+
const values = R.sortBy(R.prop('__indexPosition'), dimension.values || []);
|
|
5
|
+
const indexed = R.indexBy(R.prop('id'), values);
|
|
6
|
+
const grouped = R.groupBy(val => val.parent && R.has(val.parent, indexed) ? val.parent : '#ROOT', values);
|
|
7
|
+
|
|
8
|
+
let index = -1;
|
|
9
|
+
const getChildren = ({ parentsIndexes, parentId }) => {
|
|
10
|
+
const childs = R.propOr([], parentId, grouped);
|
|
11
|
+
return R.reduce(
|
|
12
|
+
(acc, child) => {
|
|
13
|
+
index = index + 1;
|
|
14
|
+
const refined = R.pipe(
|
|
15
|
+
R.assoc('__indexPosition', index),
|
|
16
|
+
R.assoc('parents', parentsIndexes),
|
|
17
|
+
R.assoc('parent', R.isEmpty(parentsIndexes) ? undefined : parentId),
|
|
18
|
+
)(child);
|
|
19
|
+
const children = getChildren({
|
|
20
|
+
parentsIndexes: R.propOr(false, 'isSelected', child)
|
|
21
|
+
? R.append(index, parentsIndexes) : parentsIndexes,
|
|
22
|
+
parentId: child.id
|
|
23
|
+
});
|
|
24
|
+
return R.concat(acc, R.prepend(refined, children));
|
|
25
|
+
},
|
|
26
|
+
[],
|
|
27
|
+
childs
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return R.set(
|
|
32
|
+
R.lensProp('values'),
|
|
33
|
+
getChildren({ parentsIndexes: [], parentId: '#ROOT' })
|
|
34
|
+
)(dimension);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { hierarchiseDimensionWithNativeHierarchy };
|
|
38
|
+
//# sourceMappingURL=hierarchiseDimensionWithNativeHierarchy2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchiseDimensionWithNativeHierarchy2.js","sources":["../../../src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const hierarchiseDimensionWithNativeHierarchy = (dimension) => {\n const values = R.sortBy(R.prop('__indexPosition'), dimension.values || []);\n const indexed = R.indexBy(R.prop('id'), values);\n const grouped = R.groupBy(val => val.parent && R.has(val.parent, indexed) ? val.parent : '#ROOT', values);\n\n let index = -1;\n const getChildren = ({ parentsIndexes, parentId }) => {\n const childs = R.propOr([], parentId, grouped);\n return R.reduce(\n (acc, child) => {\n index = index + 1;\n const refined = R.pipe(\n R.assoc('__indexPosition', index),\n R.assoc('parents', parentsIndexes),\n R.assoc('parent', R.isEmpty(parentsIndexes) ? undefined : parentId),\n )(child);\n const children = getChildren({\n parentsIndexes: R.propOr(false, 'isSelected', child)\n ? R.append(index, parentsIndexes) : parentsIndexes,\n parentId: child.id\n });\n return R.concat(acc, R.prepend(refined, children));\n },\n [],\n childs\n );\n }\n\n return R.set(\n R.lensProp('values'),\n getChildren({ parentsIndexes: [], parentId: '#ROOT' })\n )(dimension);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,uCAAuC,GAAG,CAAC,SAAS,KAAK;AACtE,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;AAC5E,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;AACjD,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;;AAE3G,EAAE,IAAI,KAAK,GAAG,EAAE;AAChB,EAAE,MAAM,WAAW,GAAG,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK;AACxD,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAClD,IAAI,OAAO,CAAC,CAAC,MAAM;AACnB,MAAM,CAAC,GAAG,EAAE,KAAK,KAAK;AACtB,QAAQ,KAAK,GAAG,KAAK,GAAG,CAAC;AACzB,QAAQ,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI;AAC9B,UAAU,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAC3C,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC;AAC5C,UAAU,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7E,SAAS,CAAC,KAAK,CAAC;AAChB,QAAQ,MAAM,QAAQ,GAAG,WAAW,CAAC;AACrC,UAAU,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK;AAC7D,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,cAAc;AAC7D,UAAU,QAAQ,EAAE,KAAK,CAAC;AAC1B,SAAS,CAAC;AACV,QAAQ,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1D,MAAM,CAAC;AACP,MAAM,EAAE;AACR,MAAM;AACN,KAAK;AACL,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,GAAG;AACd,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACxB,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;AACzD,GAAG,CAAC,SAAS,CAAC;AACd;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export { SDMX_3_0_CSV_DATA_FORMAT, SDMX_3_0_JSON_DATA_FORMAT } from './constants.js';
|
|
2
|
+
export { parseMetadataSeries } from './parseMetadataSeries.js';
|
|
3
|
+
export { sdmx_3_0_DataFormatPatch } from './sdmx3.0DataFormatPatch.js';
|
|
4
|
+
export { getDataflowTooltipAttributesIds } from './getDataflowTooltipAttributesIds.js';
|
|
5
|
+
export { getMSDInformations } from './getMSDInformations.js';
|
|
6
|
+
export { getNotDisplayedIds } from './getNotDisplayedIds.js';
|
|
7
|
+
export { getHCodelistsRefs, getHCodelistsRefsInData } from './getHCodelistsRefsInData.js';
|
|
8
|
+
export { parseHierarchicalCodelist } from './parseHierarchicalCodelist.js';
|
|
9
|
+
export { getMetadataCoordinates } from './getMetadataCoordinates.js';
|
|
10
|
+
export { duplicateObs } from './duplicateObservations.js';
|
|
11
|
+
export { refinePartialHierarchy } from './hierarchiseDimensionWithAdvancedHierarchy2.js';
|
|
12
|
+
export { hierarchiseDimensionWithNativeHierarchy } from './hierarchiseDimensionWithNativeHierarchy2.js';
|
|
13
|
+
export { getDimensionValuesIndexes } from './getDimensionValuesIndexes.js';
|
|
14
|
+
export { getCombinationDefinitions, parseCombinationDefinition } from './getCombinationDefinitions.js';
|
|
15
|
+
export { refineDimensions } from './refineDimensions.js';
|
|
16
|
+
export { parseAttributes } from './parseAttributes.js';
|
|
17
|
+
export { parseCombinations } from './parseCombinations.js';
|
|
18
|
+
export { refineAttributes } from './refineAttributes.js';
|
|
19
|
+
export { enhanceObservations } from './enhanceObservations.js';
|
|
20
|
+
export { getAttributesSeries } from './getAttributesSeries.js';
|
|
21
|
+
export { getManyValuesDimensions } from './getManyValuesDimensions.js';
|
|
22
|
+
export { getOneValueDimensions } from './getOneValueDimensions.js';
|
|
23
|
+
export { getDataflowAttributes } from './getDataflowAttributes.js';
|
|
24
|
+
export { getHeaderTitle } from './getHeaderTitle.js';
|
|
25
|
+
export { getHeaderSubtitle } from './getHeaderSubtitle.js';
|
|
26
|
+
export { getSeriesCombinations } from './getSeriesCombinations.js';
|
|
27
|
+
export { getHeaderCombinations } from './getHeaderCombinations.js';
|
|
28
|
+
export { getHeaderCoordinates } from './getHeaderCoordinates.js';
|
|
29
|
+
export { getLayout } from './table/getLayout.js';
|
|
30
|
+
export { getSortedLayoutIndexes } from './table/getSortedLayoutIndexes.js';
|
|
31
|
+
export { refineLayoutSize } from './table/refineLayoutSize2.js';
|
|
32
|
+
export { getFlagsAndNotes } from './table/getFlagsAndNotes.js';
|
|
33
|
+
export { getLayoutData } from './table/getLayoutData2.js';
|
|
34
|
+
export { getCellsAttributesIds } from './table/getCellsAttributesIds.js';
|
|
35
|
+
export { getCellsMetadataCoordinates } from './table/getCellsMetadataCoordinates.js';
|
|
36
|
+
export { getIndexedCombinationsByDisplay } from './table/getIndexedCombinationsByDisplay.js';
|
|
37
|
+
export { getCells } from './table/getCells.js';
|
|
38
|
+
export { getCuratedCells } from './table/getCuratedCells.js';
|
|
39
|
+
export { prepareData } from './prepareData.js';
|
|
40
|
+
export { getTableProps } from './table/getTableProps.js';
|
|
41
|
+
export { getTableLabelAccessor } from './table/getTableLabelAccessor.js';
|
|
42
|
+
export { parseValueHierarchy } from './table/parseValueHierarchy.js';
|
|
43
|
+
export { parseLayoutIndexesHierarchies } from './table/parseSeriesIndexesHierarchies.js';
|
|
44
|
+
export { getTableLayoutIds, injectCombinationsInLayout } from './table/getTableLayoutIds.js';
|
|
45
|
+
export { declineObservationsOverAttributes } from './table/declineObservationsOverAttributes.js';
|
|
46
|
+
export { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim.js';
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
import { REPORTING_YEAR_START_DAY, REPYEARSTART } from './constants.js';
|
|
3
|
+
|
|
4
|
+
const parseAttributes = (attributes, dimensions, customAttributes) => {
|
|
5
|
+
const indexedDimensions = R.indexBy(R.prop('id'), dimensions);
|
|
6
|
+
return R.addIndex(R.map)((attr, index) => {
|
|
7
|
+
let res = R.assoc('index', index, attr);
|
|
8
|
+
const displayableValuesCount = R.pipe(
|
|
9
|
+
R.filter(R.propOr(true, 'display')),
|
|
10
|
+
R.length,
|
|
11
|
+
)(attr);
|
|
12
|
+
if (R.isEmpty(attr.values || []) || !R.propOr(true, 'display', attr)
|
|
13
|
+
|| displayableValuesCount < 1 || attr.id === REPORTING_YEAR_START_DAY
|
|
14
|
+
|| attr.id === REPYEARSTART) {
|
|
15
|
+
return R.assoc('display', false, res);
|
|
16
|
+
}
|
|
17
|
+
if (R.propEq('id', customAttributes.prefscale, attr)) {
|
|
18
|
+
return R.assoc('prefscale', true, res);
|
|
19
|
+
}
|
|
20
|
+
if (R.propEq('id', customAttributes.decimals, attr)) {
|
|
21
|
+
return R.assoc('decimals', true, res);
|
|
22
|
+
}
|
|
23
|
+
if (R.hasPath(['relationship', 'none'], attr) || R.hasPath(['relationship', 'dataflow'], attr)) {
|
|
24
|
+
return { ...res, header: true, relationship: [] };
|
|
25
|
+
}
|
|
26
|
+
if (R.hasPath(['relationship', 'primaryMeasure'], attr) || R.hasPath(['relationship', 'observation'], attr)) {
|
|
27
|
+
return { ...res, series: true, relationship: [] };
|
|
28
|
+
}
|
|
29
|
+
const seriesDimensions = R.pipe(
|
|
30
|
+
R.pathOr([], ['relationship', 'dimensions']),
|
|
31
|
+
R.filter(id => {
|
|
32
|
+
const dimension = R.prop(id, indexedDimensions);
|
|
33
|
+
return !dimension.header && R.length(dimension.values || []) > 1;
|
|
34
|
+
}),
|
|
35
|
+
)(attr);
|
|
36
|
+
if (R.length(seriesDimensions) > 0) {
|
|
37
|
+
return { ...res, series: true, relationship: seriesDimensions };
|
|
38
|
+
}
|
|
39
|
+
return { ...res, header: true, relationship: R.prop('dimensions', attr.relationship || []) };
|
|
40
|
+
}, attributes);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { parseAttributes };
|
|
44
|
+
//# sourceMappingURL=parseAttributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAttributes.js","sources":["../../../src/rules2/src/parseAttributes.js"],"sourcesContent":["import * as R from 'ramda';\nimport { REPORTING_YEAR_START_DAY, REPYEARSTART } from './constants';\n\nexport const parseAttributes = (attributes, dimensions, customAttributes) => {\n const indexedDimensions = R.indexBy(R.prop('id'), dimensions);\n return R.addIndex(R.map)((attr, index) => {\n let res = R.assoc('index', index, attr);\n const displayableValuesCount = R.pipe(\n R.filter(R.propOr(true, 'display')),\n R.length,\n )(attr);\n if (R.isEmpty(attr.values || []) || !R.propOr(true, 'display', attr)\n || displayableValuesCount < 1 || attr.id === REPORTING_YEAR_START_DAY\n || attr.id === REPYEARSTART) {\n return R.assoc('display', false, res);\n }\n if (R.propEq('id', customAttributes.prefscale, attr)) {\n return R.assoc('prefscale', true, res);\n }\n if (R.propEq('id', customAttributes.decimals, attr)) {\n return R.assoc('decimals', true, res);\n }\n if (R.hasPath(['relationship', 'none'], attr) || R.hasPath(['relationship', 'dataflow'], attr)) {\n return { ...res, header: true, relationship: [] };\n }\n if (R.hasPath(['relationship', 'primaryMeasure'], attr) || R.hasPath(['relationship', 'observation'], attr)) {\n return { ...res, series: true, relationship: [] };\n }\n const seriesDimensions = R.pipe(\n R.pathOr([], ['relationship', 'dimensions']),\n R.filter(id => {\n const dimension = R.prop(id, indexedDimensions);\n return !dimension.header && R.length(dimension.values || []) > 1;\n }),\n )(attr);\n if (R.length(seriesDimensions) > 0) {\n return { ...res, series: true, relationship: seriesDimensions };\n }\n return { ...res, header: true, relationship: R.prop('dimensions', attr.relationship || []) };\n }, attributes);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
import { REJECTED_VALUE_IDS } from './constants.js';
|
|
3
|
+
|
|
4
|
+
const getDisplayableValues = (values) =>
|
|
5
|
+
R.filter(
|
|
6
|
+
(val) =>
|
|
7
|
+
!R.includes(R.prop('id', val), REJECTED_VALUE_IDS) &&
|
|
8
|
+
R.propOr(true, 'display', val),
|
|
9
|
+
values,
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
// invalid concepts:
|
|
13
|
+
// - empty/null/undefined/!array values (so far)
|
|
14
|
+
const hasInvalidValues = R.pipe(
|
|
15
|
+
R.prop('values'),
|
|
16
|
+
R.anyPass([R.isNil, R.complement(R.is(Array)), R.isEmpty]),
|
|
17
|
+
);
|
|
18
|
+
const isConceptInvalid = R.anyPass([hasInvalidValues /* add more... */]);
|
|
19
|
+
const filterValidConcepts = R.reject(isConceptInvalid);
|
|
20
|
+
// concepts is an array of ids... (misnamed!)
|
|
21
|
+
const rejectInvalidConceptIds =
|
|
22
|
+
(concepts = []) =>
|
|
23
|
+
(combinations = []) => {
|
|
24
|
+
const validConceptIds = R.pluck('id', filterValidConcepts(concepts));
|
|
25
|
+
return R.reduce((acc, comb) => {
|
|
26
|
+
const refinedConcepts = R.intersection(validConceptIds, comb.concepts);
|
|
27
|
+
if (R.length(refinedConcepts) < 1) {
|
|
28
|
+
return acc;
|
|
29
|
+
}
|
|
30
|
+
return R.append({ ...comb, concepts: refinedConcepts }, acc);
|
|
31
|
+
}, [], combinations);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const parseCombinations = (
|
|
35
|
+
combinations,
|
|
36
|
+
parsedAttributes,
|
|
37
|
+
dimensions,
|
|
38
|
+
) => {
|
|
39
|
+
const concepts = R.concat(dimensions, parsedAttributes);
|
|
40
|
+
|
|
41
|
+
const indexedDimensions = R.indexBy(R.prop('id'), dimensions);
|
|
42
|
+
const indexedAttributes = R.indexBy(R.prop('id'), parsedAttributes);
|
|
43
|
+
|
|
44
|
+
return R.pipe(
|
|
45
|
+
rejectInvalidConceptIds(concepts),
|
|
46
|
+
R.reduce((acc, comb) => {
|
|
47
|
+
let relationship = [];
|
|
48
|
+
let ids = {};
|
|
49
|
+
let displayable_values_count = 0;
|
|
50
|
+
const seriesConcepts = R.filter((concept) => {
|
|
51
|
+
if (R.has(concept, ids)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
if (R.has(concept, indexedDimensions)) {
|
|
55
|
+
const dimension = R.prop(concept, indexedDimensions);
|
|
56
|
+
relationship = !dimension.header
|
|
57
|
+
? R.append(concept, relationship)
|
|
58
|
+
: relationship;
|
|
59
|
+
ids = { ...ids, [concept]: concept };
|
|
60
|
+
displayable_values_count += R.length(dimension.values || []);
|
|
61
|
+
return !dimension.header;
|
|
62
|
+
} else if (!R.has(concept, indexedAttributes)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const attribute = R.prop(concept, indexedAttributes);
|
|
66
|
+
const displayableValues = getDisplayableValues(attribute.values || []);
|
|
67
|
+
const isDisplayable =
|
|
68
|
+
R.length(displayableValues) !== 0 &&
|
|
69
|
+
R.propOr(true, 'display', attribute);
|
|
70
|
+
relationship =
|
|
71
|
+
attribute.series && isDisplayable
|
|
72
|
+
? R.pipe(
|
|
73
|
+
R.reject((id) => R.has(id, ids)),
|
|
74
|
+
R.concat(relationship),
|
|
75
|
+
)(attribute.relationship)
|
|
76
|
+
: relationship;
|
|
77
|
+
ids = attribute.series && isDisplayable
|
|
78
|
+
? { ...ids, ...R.indexBy(R.identity, attribute.relationship) }
|
|
79
|
+
: ids;
|
|
80
|
+
displayable_values_count = isDisplayable
|
|
81
|
+
? displayable_values_count + R.length(displayableValues)
|
|
82
|
+
: displayable_values_count;
|
|
83
|
+
return attribute.series && isDisplayable;
|
|
84
|
+
}, comb.concepts);
|
|
85
|
+
if (R.isEmpty(seriesConcepts)) {
|
|
86
|
+
return R.append(
|
|
87
|
+
{ ...comb, header: true, display: displayable_values_count > 0 },
|
|
88
|
+
acc,
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
return R.append(
|
|
92
|
+
{
|
|
93
|
+
...comb,
|
|
94
|
+
series: true,
|
|
95
|
+
relationship,
|
|
96
|
+
display: displayable_values_count > 0,
|
|
97
|
+
},
|
|
98
|
+
acc,
|
|
99
|
+
);
|
|
100
|
+
}, []),
|
|
101
|
+
)(combinations);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export { parseCombinations };
|
|
105
|
+
//# sourceMappingURL=parseCombinations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseCombinations.js","sources":["../../../src/rules2/src/parseCombinations.js"],"sourcesContent":["import * as R from 'ramda';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nconst getDisplayableValues = (values) =>\n R.filter(\n (val) =>\n !R.includes(R.prop('id', val), REJECTED_VALUE_IDS) &&\n R.propOr(true, 'display', val),\n values,\n );\n\n// invalid concepts:\n// - empty/null/undefined/!array values (so far)\nconst hasInvalidValues = R.pipe(\n R.prop('values'),\n R.anyPass([R.isNil, R.complement(R.is(Array)), R.isEmpty]),\n);\nconst isConceptInvalid = R.anyPass([hasInvalidValues /* add more... */]);\nconst filterValidConcepts = R.reject(isConceptInvalid);\n// concepts is an array of ids... (misnamed!)\nconst rejectInvalidConceptIds =\n (concepts = []) =>\n (combinations = []) => {\n const validConceptIds = R.pluck('id', filterValidConcepts(concepts));\n return R.reduce((acc, comb) => {\n const refinedConcepts = R.intersection(validConceptIds, comb.concepts);\n if (R.length(refinedConcepts) < 1) {\n return acc;\n }\n return R.append({ ...comb, concepts: refinedConcepts }, acc);\n }, [], combinations);\n };\n\nexport const parseCombinations = (\n combinations,\n parsedAttributes,\n dimensions,\n) => {\n const concepts = R.concat(dimensions, parsedAttributes);\n\n const indexedDimensions = R.indexBy(R.prop('id'), dimensions);\n const indexedAttributes = R.indexBy(R.prop('id'), parsedAttributes);\n\n return R.pipe(\n rejectInvalidConceptIds(concepts),\n R.reduce((acc, comb) => {\n let relationship = [];\n let ids = {};\n let displayable_values_count = 0;\n const seriesConcepts = R.filter((concept) => {\n if (R.has(concept, ids)) {\n return false;\n }\n if (R.has(concept, indexedDimensions)) {\n const dimension = R.prop(concept, indexedDimensions);\n relationship = !dimension.header\n ? R.append(concept, relationship)\n : relationship;\n ids = { ...ids, [concept]: concept };\n displayable_values_count += R.length(dimension.values || []);\n return !dimension.header;\n } else if (!R.has(concept, indexedAttributes)) {\n return false;\n }\n const attribute = R.prop(concept, indexedAttributes);\n const displayableValues = getDisplayableValues(attribute.values || []);\n const isDisplayable =\n R.length(displayableValues) !== 0 &&\n R.propOr(true, 'display', attribute);\n relationship =\n attribute.series && isDisplayable\n ? R.pipe(\n R.reject((id) => R.has(id, ids)),\n R.concat(relationship),\n )(attribute.relationship)\n : relationship;\n ids = attribute.series && isDisplayable\n ? { ...ids, ...R.indexBy(R.identity, attribute.relationship) }\n : ids;\n displayable_values_count = isDisplayable\n ? displayable_values_count + R.length(displayableValues)\n : displayable_values_count;\n return attribute.series && isDisplayable;\n }, comb.concepts);\n if (R.isEmpty(seriesConcepts)) {\n return R.append(\n { ...comb, header: true, display: displayable_values_count > 0 },\n acc,\n );\n }\n return R.append(\n {\n ...comb,\n series: true,\n relationship,\n display: displayable_values_count > 0,\n },\n acc,\n );\n }, []),\n )(combinations);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
|
|
3
|
+
const parseHierarchicalCodelist = (sdmxJson, hierarchyId) => {
|
|
4
|
+
const hCodelist = R.pathOr({}, ['data', 'hierarchicalCodelists', 0], sdmxJson);
|
|
5
|
+
const hierarchy = R.find(R.propEq('id', hierarchyId), hCodelist.hierarchies || []);
|
|
6
|
+
|
|
7
|
+
const getChildren = (codes, parents) => {
|
|
8
|
+
const ids = R.pluck('codeID', codes);
|
|
9
|
+
|
|
10
|
+
const children = R.reduce(
|
|
11
|
+
(acc, code) => {
|
|
12
|
+
if (R.isEmpty(code.hierarchicalCodes || [])) {
|
|
13
|
+
return acc;
|
|
14
|
+
}
|
|
15
|
+
return ({
|
|
16
|
+
...acc,
|
|
17
|
+
...getChildren(code.hierarchicalCodes, R.append(code.codeID, parents))
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
{},
|
|
21
|
+
codes
|
|
22
|
+
);
|
|
23
|
+
const key = R.isEmpty(parents) ? '#ROOT' : R.join('.', parents);
|
|
24
|
+
return ({ ...children, [key]: ids });
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
return R.pipe(
|
|
28
|
+
R.propOr([], 'hierarchicalCodes'),
|
|
29
|
+
codes => getChildren(codes, []),
|
|
30
|
+
)(hierarchy);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { parseHierarchicalCodelist };
|
|
34
|
+
//# sourceMappingURL=parseHierarchicalCodelist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseHierarchicalCodelist.js","sources":["../../../src/rules2/src/parseHierarchicalCodelist.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const parseHierarchicalCodelist = (sdmxJson, hierarchyId) => {\n const hCodelist = R.pathOr({}, ['data', 'hierarchicalCodelists', 0], sdmxJson);\n const hierarchy = R.find(R.propEq('id', hierarchyId), hCodelist.hierarchies || []);\n\n const getParentedCodes = (codes, parent) => {\n const ids = R.pluck('codeID', codes);\n\n const siblings = R.reduce(\n (acc, code) => {\n if (R.isEmpty(code.hierarchicalCodes || [])) {\n return acc;\n }\n return R.mergeRight(acc, getParentedCodes(code.hierarchicalCodes, code.id));\n },\n {},\n codes\n );\n\n return ({ ...siblings, [parent]: ids });\n };\n\n const getChildren = (codes, parents) => {\n const ids = R.pluck('codeID', codes);\n\n const children = R.reduce(\n (acc, code) => {\n if (R.isEmpty(code.hierarchicalCodes || [])) {\n return acc;\n }\n return ({\n ...acc,\n ...getChildren(code.hierarchicalCodes, R.append(code.codeID, parents))\n });\n },\n {},\n codes\n );\n const key = R.isEmpty(parents) ? '#ROOT' : R.join('.', parents);\n return ({ ...children, [key]: ids });\n }\n\n return R.pipe(\n R.propOr([], 'hierarchicalCodes'),\n codes => getChildren(codes, []),\n )(hierarchy);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,yBAAyB,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAK;AACpE,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AAChF,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC;;AAmBpF,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AAC1C,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;;AAExC,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM;AAC7B,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK;AACrB,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE;AACrD,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,QAAQ;AAChB,UAAU,GAAG,GAAG;AAChB,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/E,SAAS;AACT,MAAM,CAAC;AACP,MAAM,EAAE;AACR,MAAM;AACN,KAAK;AACL,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;AACnE,IAAI,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE;AACvC,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;AACrC,IAAI,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;AACnC,GAAG,CAAC,SAAS,CAAC;AACd;;;;"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import * as R from 'ramda';
|
|
2
|
+
import { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants.js';
|
|
3
|
+
|
|
4
|
+
const dimensionValueDisplay = (display) => data => {
|
|
5
|
+
if (display === 'code') {
|
|
6
|
+
return R.prop('id', data);
|
|
7
|
+
}
|
|
8
|
+
const name = R.prop('name')(data);
|
|
9
|
+
if (display === 'both') {
|
|
10
|
+
return `${R.prop('id', data)}: ${name}`;
|
|
11
|
+
}
|
|
12
|
+
return name;
|
|
13
|
+
};
|
|
14
|
+
// options = { locale, display, dimensions = [], attributes = { [id]: { format, parent } } };
|
|
15
|
+
const parseMetadataSeries = (metadataJson, options) => {
|
|
16
|
+
const metadataAttributes = R.pathOr([], ['data', 'structures', 0, 'attributes', 'dimensionGroup'], metadataJson);
|
|
17
|
+
const metaAttrLength = R.length(metadataAttributes);
|
|
18
|
+
|
|
19
|
+
if (!metaAttrLength) {
|
|
20
|
+
return ({});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const dimensions = R.pipe(
|
|
24
|
+
R.pathOr([], ['data', 'structures', 0, 'dimensions']),
|
|
25
|
+
({ series = [], observation = [] }) => R.concat(series, observation),
|
|
26
|
+
dims => R.isEmpty(options.dimensions || [])
|
|
27
|
+
? dims
|
|
28
|
+
: R.props(R.pluck('id', options.dimensions), R.indexBy(R.prop('id'), dims))
|
|
29
|
+
)(metadataJson);
|
|
30
|
+
|
|
31
|
+
const { notDisplayedIds = {} } = options;
|
|
32
|
+
|
|
33
|
+
const metadataSeries = R.pipe(
|
|
34
|
+
R.pathOr({}, ['data', 'dataSets', 0, 'dimensionGroupAttributes']),
|
|
35
|
+
series => R.reduce((acc, serieKey) => {
|
|
36
|
+
const indexes = series[serieKey];
|
|
37
|
+
const metaIndexes = R.take(metaAttrLength, indexes);
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
const evolvedKey = R.pipe(
|
|
41
|
+
R.split(':'),
|
|
42
|
+
R.addIndex(R.map)((vInd, dInd) => {
|
|
43
|
+
if (R.isEmpty(vInd) || R.equals(EMPTY_ATTACHMENT_LEVEL_CHAR, vInd)) {
|
|
44
|
+
return '';
|
|
45
|
+
}
|
|
46
|
+
const dim = R.nth(dInd, dimensions);
|
|
47
|
+
const val = R.nth(Number(vInd), dim.values || []);
|
|
48
|
+
|
|
49
|
+
const originalVal = R.find(
|
|
50
|
+
R.propEq('id', val.id),
|
|
51
|
+
)(R.propOr([], 'values', R.nth(dInd, options.dimensions)));
|
|
52
|
+
return R.propOr('', '__index', originalVal);
|
|
53
|
+
}),
|
|
54
|
+
R.join(':')
|
|
55
|
+
)(serieKey);
|
|
56
|
+
|
|
57
|
+
const attributes = R.pipe(
|
|
58
|
+
R.addIndex(R.reduce)(
|
|
59
|
+
(acc, valueIndex, attrIndex) => {
|
|
60
|
+
const attribute = R.nth(attrIndex, metadataAttributes);
|
|
61
|
+
const isHidden = R.has(attribute.id, notDisplayedIds);
|
|
62
|
+
if ((R.isNil(valueIndex) && !(attribute.isPresentational)) || isHidden) {
|
|
63
|
+
return acc;
|
|
64
|
+
}
|
|
65
|
+
const attrOptions = R.pathOr({}, ['attributes', attribute.id], options);
|
|
66
|
+
const id = attrOptions.id;
|
|
67
|
+
const label = dimensionValueDisplay(options.display)({ ...attribute, id });
|
|
68
|
+
|
|
69
|
+
const _value = R.prop('value', R.nth(valueIndex, attribute.values || []));
|
|
70
|
+
const value = R.is(Object, _value) ? R.prop(options.locale, _value) : _value;
|
|
71
|
+
|
|
72
|
+
return R.append({
|
|
73
|
+
...(R.isNil(value) ? {} : { value }),
|
|
74
|
+
id: attribute.id,
|
|
75
|
+
label,
|
|
76
|
+
handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', attribute.id], options))
|
|
77
|
+
}, acc);
|
|
78
|
+
},
|
|
79
|
+
[],
|
|
80
|
+
),
|
|
81
|
+
attributes => { // missing parents in metadata response
|
|
82
|
+
const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);
|
|
83
|
+
const indexedAttrs = R.indexBy(R.prop('id'), attributes);
|
|
84
|
+
|
|
85
|
+
return R.reduce(
|
|
86
|
+
(acc, id) => {
|
|
87
|
+
if (R.has(id, indexedAttrs) || id === '#ROOT') {
|
|
88
|
+
return acc;
|
|
89
|
+
}
|
|
90
|
+
return R.append({
|
|
91
|
+
id,
|
|
92
|
+
label: dimensionValueDisplay(options.display)({ id, name: R.path(['attributes', id, 'name'], options) }),
|
|
93
|
+
handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', id], options))
|
|
94
|
+
}, acc);
|
|
95
|
+
},
|
|
96
|
+
attributes,
|
|
97
|
+
R.keys(groupedAttrs)
|
|
98
|
+
);
|
|
99
|
+
},
|
|
100
|
+
attributes => {
|
|
101
|
+
const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);
|
|
102
|
+
const makeTree = R.map(attr => {
|
|
103
|
+
if (R.has(attr.id, groupedAttrs)) {
|
|
104
|
+
const children = makeTree(R.prop(attr.id, groupedAttrs));
|
|
105
|
+
return R.assoc('children', children, attr);
|
|
106
|
+
}
|
|
107
|
+
return attr;
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
return makeTree(R.propOr([], '#ROOT', groupedAttrs));
|
|
111
|
+
},
|
|
112
|
+
)(metaIndexes);
|
|
113
|
+
|
|
114
|
+
return R.assoc(evolvedKey, attributes, acc);
|
|
115
|
+
},
|
|
116
|
+
{},
|
|
117
|
+
R.keys(series)
|
|
118
|
+
))(metadataJson);
|
|
119
|
+
|
|
120
|
+
return metadataSeries;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
export { parseMetadataSeries };
|
|
124
|
+
//# sourceMappingURL=parseMetadataSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseMetadataSeries.js","sources":["../../../src/rules2/src/parseMetadataSeries.js"],"sourcesContent":["import * as R from 'ramda';\nimport { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants';\n\nconst dimensionValueDisplay = (display) => data => {\n if (display === 'code') {\n return R.prop('id', data);\n }\n const name = R.prop('name')(data);\n if (display === 'both') {\n return `${R.prop('id', data)}: ${name}`;\n }\n return name;\n};\n// options = { locale, display, dimensions = [], attributes = { [id]: { format, parent } } };\nexport const parseMetadataSeries = (metadataJson, options) => {\n const metadataAttributes = R.pathOr([], ['data', 'structures', 0, 'attributes', 'dimensionGroup'], metadataJson);\n const metaAttrLength = R.length(metadataAttributes);\n\n if (!metaAttrLength) {\n return ({});\n }\n\n const dimensions = R.pipe(\n R.pathOr([], ['data', 'structures', 0, 'dimensions']),\n ({ series = [], observation = [] }) => R.concat(series, observation),\n dims => R.isEmpty(options.dimensions || [])\n ? dims\n : R.props(R.pluck('id', options.dimensions), R.indexBy(R.prop('id'), dims))\n )(metadataJson);\n\n const { notDisplayedIds = {} } = options;\n\n const metadataSeries = R.pipe(\n R.pathOr({}, ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n series => R.reduce((acc, serieKey) => {\n const indexes = series[serieKey];\n const metaIndexes = R.take(metaAttrLength, indexes);\n\n\n const evolvedKey = R.pipe(\n R.split(':'),\n R.addIndex(R.map)((vInd, dInd) => {\n if (R.isEmpty(vInd) || R.equals(EMPTY_ATTACHMENT_LEVEL_CHAR, vInd)) {\n return '';\n }\n const dim = R.nth(dInd, dimensions);\n const val = R.nth(Number(vInd), dim.values || []);\n\n const originalVal = R.find(\n R.propEq('id', val.id),\n )(R.propOr([], 'values', R.nth(dInd, options.dimensions)));\n return R.propOr('', '__index', originalVal);\n }),\n R.join(':')\n )(serieKey);\n\n const attributes = R.pipe(\n R.addIndex(R.reduce)(\n (acc, valueIndex, attrIndex) => {\n const attribute = R.nth(attrIndex, metadataAttributes);\n const isHidden = R.has(attribute.id, notDisplayedIds);\n if ((R.isNil(valueIndex) && !(attribute.isPresentational)) || isHidden) {\n return acc;\n }\n const attrOptions = R.pathOr({}, ['attributes', attribute.id], options);\n const id = attrOptions.id;\n const label = dimensionValueDisplay(options.display)({ ...attribute, id });\n\n const _value = R.prop('value', R.nth(valueIndex, attribute.values || []));\n const value = R.is(Object, _value) ? R.prop(options.locale, _value) : _value;\n\n return R.append({\n ...(R.isNil(value) ? {} : { value }),\n id: attribute.id,\n label,\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', attribute.id], options))\n }, acc);\n },\n [],\n ),\n attributes => { // missing parents in metadata response \n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const indexedAttrs = R.indexBy(R.prop('id'), attributes);\n\n return R.reduce(\n (acc, id) => {\n if (R.has(id, indexedAttrs) || id === '#ROOT') {\n return acc;\n }\n return R.append({\n id,\n label: dimensionValueDisplay(options.display)({ id, name: R.path(['attributes', id, 'name'], options) }),\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', id], options))\n }, acc);\n },\n attributes,\n R.keys(groupedAttrs)\n );\n },\n attributes => {\n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const makeTree = R.map(attr => {\n if (R.has(attr.id, groupedAttrs)) {\n const children = makeTree(R.prop(attr.id, groupedAttrs));\n return R.assoc('children', children, attr);\n }\n return attr;\n });\n\n return makeTree(R.propOr([], '#ROOT', groupedAttrs));\n },\n )(metaIndexes);\n\n return R.assoc(evolvedKey, attributes, acc);\n },\n {},\n R.keys(series)\n ))(metadataJson);\n\n return metadataSeries;\n};"],"names":[],"mappings":"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"}
|