@sis-cc/dotstatsuite-components 22.6.0 → 23.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bridge-d3-react/src/index.js +1 -2
- package/dist/bridge-d3-react/src/index.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/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 +6 -0
- 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/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 +6 -5
- package/src/bridge-d3-react/src/index.js +0 -1
- package/src/rules/src/chart/getChartOptions.js +2 -2
- package/src/rules/src/constants.js +0 -35
- 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 +6 -0
- 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/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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
|
-
import { getObservations } from '../../rules/src';
|
|
2
|
+
import { getObservations } from '../../rules/src/preparators/getObservations';
|
|
3
3
|
import { refineDimensions } from './refineDimensions';
|
|
4
4
|
import { enhanceObservations } from './enhanceObservations';
|
|
5
5
|
import { parseAttributes } from './parseAttributes';
|
|
@@ -18,12 +18,19 @@ import { getHeaderSubtitle } from './getHeaderSubtitle';
|
|
|
18
18
|
import { getHeaderCombinations } from './getHeaderCombinations';
|
|
19
19
|
import { getHeaderCoordinates } from './getHeaderCoordinates';
|
|
20
20
|
import { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim';
|
|
21
|
+
import { getReportingYearStart } from '../../rules/src/preparators/getReportingYearStart';
|
|
22
|
+
import { getNotDisplayedIds } from './getNotDisplayedIds';
|
|
23
|
+
import { getAttributes } from './getAttributes';
|
|
21
24
|
|
|
22
25
|
export const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {
|
|
23
26
|
const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);
|
|
24
|
-
const refinedDimensions = refineDimensions(dimensions, dataquery);
|
|
25
|
-
const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], sdmxJson);
|
|
26
27
|
const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);
|
|
28
|
+
const reportYearStart = getReportingYearStart(sdmxJson);
|
|
29
|
+
const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(annotations);
|
|
30
|
+
const options = { dataquery, hiddenCombinations, hiddenValues, locale, reportYearStart };
|
|
31
|
+
const refinedDimensions = refineDimensions({ annotations, dimensions, options });
|
|
32
|
+
const _attributes = R.pathOr([], ['data', 'structure', 'attributes'], sdmxJson);
|
|
33
|
+
const attributes = getAttributes({ attributes: _attributes, annotations, options });
|
|
27
34
|
const observations = getObservations(sdmxJson);
|
|
28
35
|
let combinations = getCombinationDefinitions(annotations, locale);
|
|
29
36
|
if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {
|
|
@@ -1,18 +1,63 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
|
+
import { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
|
+
import { getValuesEnhanced } from '../../rules/src/get-values-enhanced';
|
|
4
|
+
import { getIsHidden } from '../../rules/src/sdmx-data';
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
const TIME_PERIOD_ID = 'TIME_PERIOD';
|
|
7
|
+
|
|
8
|
+
export const refineDimensions = ({
|
|
9
|
+
annotations = [],
|
|
10
|
+
dimensions = [],
|
|
11
|
+
options = {},
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
dataquery = '',
|
|
15
|
+
hiddenCombinations = {},
|
|
16
|
+
hiddenValues = {},
|
|
17
|
+
locale = '',
|
|
18
|
+
reportYearStart,
|
|
19
|
+
...restOptions
|
|
20
|
+
} = options;
|
|
4
21
|
const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);
|
|
5
22
|
|
|
23
|
+
const getIsAllDimHidden = ({ id, values }) => {
|
|
24
|
+
if (!R.has(id, hiddenCombinations)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const valuesIds = R.pluck('id', values);
|
|
28
|
+
return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));
|
|
29
|
+
}
|
|
30
|
+
|
|
6
31
|
return R.addIndex(R.map)((dim, index) => {
|
|
7
32
|
const selection = R.nth(index, selectionIds);
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
33
|
+
const isEmptySelection = R.isNil(selection) || R.isEmpty(selection) || R.isEmpty(R.head(selection));
|
|
34
|
+
const isTimeDimension = isTimePeriodDimension(dim);
|
|
35
|
+
const dimAnnotations = R.props(dim.annotations || [], annotations);
|
|
36
|
+
const values = getValuesEnhanced({
|
|
37
|
+
annotations,
|
|
38
|
+
hiddenIds: hiddenValues,
|
|
39
|
+
isTimeDimension,
|
|
40
|
+
locale,
|
|
41
|
+
options: restOptions,
|
|
42
|
+
parent: dim.id,
|
|
43
|
+
reportYearStart,
|
|
44
|
+
selection
|
|
45
|
+
})(dim.values || []);
|
|
14
46
|
|
|
15
47
|
const size = R.length(values);
|
|
16
|
-
|
|
48
|
+
const isAllDimHidden = getIsAllDimHidden({ id: dim.id, values });
|
|
49
|
+
const isHidden = isAllDimHidden || R.has(dim.id, hiddenValues)
|
|
50
|
+
|| getIsHidden(dimAnnotations);
|
|
51
|
+
return ({
|
|
52
|
+
...dim,
|
|
53
|
+
display: !isHidden,
|
|
54
|
+
header: size === 1 || (size > 1 && R.length(selection) === 1 && !isEmptySelection),
|
|
55
|
+
__index: index,
|
|
56
|
+
rejected: isAllDimHidden || !size,
|
|
57
|
+
role: isTimeDimension
|
|
58
|
+
? TIME_PERIOD_ID
|
|
59
|
+
: R.head(dim.roles || []),
|
|
60
|
+
values,
|
|
61
|
+
});
|
|
17
62
|
}, dimensions);
|
|
18
63
|
};
|
|
@@ -2,7 +2,7 @@ import * as R from 'ramda';
|
|
|
2
2
|
import { getFlagsAndNotes } from './getFlagsAndNotes';
|
|
3
3
|
import { hasCellMetadata } from '../hasCellMetadata';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const getCellRelevantAttributes = (attributes, attributesSeries, cellAttributeIds) => R.filter(
|
|
6
6
|
(attr) => {
|
|
7
7
|
if (R.isNil(attr.value)) {
|
|
8
8
|
return false;
|
|
@@ -16,7 +16,7 @@ export const getCellRelevantAttributes = (attributes, attributesSeries, cellAttr
|
|
|
16
16
|
attributes
|
|
17
17
|
);
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
const getCellCombinedSeries = (attributes, combinations) => R.reduce(
|
|
20
20
|
(acc, comb) => {
|
|
21
21
|
const values = R.reduce(
|
|
22
22
|
(acc, concept) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
import { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const getConceptsSet = (ids, indexedCombinations, _upper) => {
|
|
5
5
|
const upper = R.isNil(_upper) ? new Set([]) : _upper;
|
|
6
6
|
const res = new Set([]);
|
|
7
7
|
R.forEach(id => {
|
|
@@ -20,7 +20,7 @@ export const getConceptsSet = (ids, indexedCombinations, _upper) => {
|
|
|
20
20
|
return res;
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
const parseCombination = (_upperIds, _excludedIds) => (comb, indexedDimensions) => {
|
|
24
24
|
const upperIds = R.isNil(_upperIds) ? new Set([]) : _upperIds;
|
|
25
25
|
const excludedIds = R.isNil(_excludedIds) ? new Set([]) : _excludedIds;
|
|
26
26
|
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
import { isTimePeriodDimension, isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const getCombinationsNotInLayout = (combinations, layoutIds) => {
|
|
5
5
|
const { header=[], sections=[], rows=[] } = layoutIds;
|
|
6
6
|
const idsInLayout = new Set([...header, ...sections, ...rows]);
|
|
7
7
|
return R.reject(comb => idsInLayout.has(comb.id), combinations);
|
|
8
8
|
};
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
const indexCombsRelationships = (combinations) => R.reduce((acc, comb) => {
|
|
11
11
|
const { id, relationship=[] } = comb;
|
|
12
12
|
return R.assoc(id, relationship, acc);
|
|
13
13
|
}, {}, combinations);
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const getLayoutLevelRelationship = indexedRelationships => ids => R.reduce((acc, id) => {
|
|
16
16
|
if (R.has(id, indexedRelationships)) {
|
|
17
17
|
return R.concat(acc, R.prop(id, indexedRelationships));
|
|
18
18
|
}
|
|
19
19
|
return R.append(id, acc);
|
|
20
20
|
}, [], ids);
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
const getLayoutRelationships = (indexedRelationships, layoutIds) => R.map(
|
|
23
23
|
getLayoutLevelRelationship(indexedRelationships),
|
|
24
24
|
layoutIds
|
|
25
25
|
);
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
const injectCombination = combination => ids => {
|
|
28
28
|
const { id, concepts=[] } = combination;
|
|
29
29
|
const conceptsSet = new Set(concepts);
|
|
30
30
|
let inject = true;
|
|
@@ -41,7 +41,7 @@ export const injectCombination = combination => ids => {
|
|
|
41
41
|
return inject ? R.append(id, refined) : refined;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
const getCombinationLevelCompatibility = (layoutRelationships, combination) => {
|
|
45
45
|
const { relationship=[] } = combination;
|
|
46
46
|
const idsInHeaderSet = new Set(layoutRelationships.header);
|
|
47
47
|
const idsInSectionsSet = new Set(layoutRelationships.sections);
|
|
@@ -132,13 +132,13 @@ export const injectCombinationsInLayout = (combinations, layoutIds, defaultLayou
|
|
|
132
132
|
}, layoutIds, notInLayoutCombs);
|
|
133
133
|
};
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
const getLayoutDimsIds = dimensions => R.reduce(
|
|
136
136
|
(acc, d) => (d.header ? acc : acc.add(d.id)),
|
|
137
137
|
new Set([]),
|
|
138
138
|
dimensions,
|
|
139
139
|
);
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
const getLayoutCombinations = (combinations, layoutDimsIds, attributes) => {
|
|
142
142
|
const indexedAttributes = R.indexBy(R.prop('id'), attributes);
|
|
143
143
|
return R.reduce(
|
|
144
144
|
(acc, comb) => {
|
|
@@ -203,7 +203,7 @@ const extractConcepts = (ids, indexedCombinations, layoutDimsIds) => {
|
|
|
203
203
|
return R.partition(id => set.has(id), ids);
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
const injectRemainingDimensionsInLayout = (layoutIds, remainingDims, indexedCombinations, layoutDimsIds) => {
|
|
207
207
|
let _layout = layoutIds;
|
|
208
208
|
let _remaining = remainingDims;
|
|
209
209
|
|
|
@@ -72,7 +72,6 @@ export const getTableProps = ({ data, layoutIds, customAttributes, limit, isTime
|
|
|
72
72
|
const indexedCombinations = getIndexedCombinationsByDisplay(layout, seriesCombinations);
|
|
73
73
|
const cellsMetadataCoordinates = getCellsMetadataCoordinates(metadataCoordinates, oneValueDimensions, layoutDimsIds);
|
|
74
74
|
const cells = getCells(customAttributes, cellsAttributesIds, indexedCombinations, attributesSeries, cellsMetadataCoordinates)(dupObs);
|
|
75
|
-
//console.log({ cellsAttributesIds, customAttributes, indexedCombinations });
|
|
76
75
|
|
|
77
76
|
return ({
|
|
78
77
|
...layoutData,
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
|
|
3
|
-
export const isSameValueAsPrevious = (value, previousValue) => {
|
|
4
|
-
const valueHierarchicalPath = R.append(value.id, R.propOr([], 'parents', value));
|
|
5
|
-
const previousValueHierarchicalPath = R.append(previousValue.id, R.propOr([], 'parents', previousValue));
|
|
6
|
-
|
|
7
|
-
return R.equals(valueHierarchicalPath, previousValueHierarchicalPath);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
3
|
export const parseValueHierarchy = (value, previousValue, indexedValues) => {
|
|
11
4
|
const parentsIds = R.propOr([], 'parents', value);
|
|
12
5
|
if (R.isEmpty(parentsIds)) {
|
|
@@ -45,7 +45,7 @@ const indexWithPivots = (pivots, observations) => R.pipe(
|
|
|
45
45
|
)
|
|
46
46
|
)(observations);
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
const getCuratedCells = ({ layout, observations, shape }) => {
|
|
49
49
|
const pivots = getPivots(layout, shape);
|
|
50
50
|
return indexWithPivots(pivots, observations);
|
|
51
51
|
};
|
|
@@ -86,7 +86,7 @@ const filterSeries = (series, getHasStillData) => {
|
|
|
86
86
|
}, [], series);
|
|
87
87
|
};
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
const refineSections = (sections, extractedKeys, curatedObs) => R.pipe(
|
|
90
90
|
R.map(
|
|
91
91
|
(section) => {
|
|
92
92
|
const sectionKey = toKey(R.propOr([], 'indexes', R.head(section)));
|
|
@@ -110,7 +110,7 @@ export const refineSections = (sections, extractedKeys, curatedObs) => R.pipe(
|
|
|
110
110
|
)
|
|
111
111
|
)(sections);
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
const refineHeader = (headers, extractedKeys, curatedObs) => {
|
|
114
114
|
const getHasHeaderStillData = (header) => {
|
|
115
115
|
const headerKey = toKey(R.prop('indexes', header));
|
|
116
116
|
return R.pipe(
|
|
@@ -138,7 +138,7 @@ const getSerieLinesCount = serie => {
|
|
|
138
138
|
return missingParentsRowsCount + 1;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
const truncateSectionRows = (n, sectionsData) => {
|
|
142
142
|
let truncated = sectionsData;
|
|
143
143
|
let extractedKeys = {};
|
|
144
144
|
let _n = n;
|
|
@@ -170,7 +170,7 @@ export const truncateSectionRows = (n, sectionsData) => {
|
|
|
170
170
|
return ({ truncated, extractedKeys });
|
|
171
171
|
};
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
const truncateHeader = (n, headerData) => {
|
|
174
174
|
let { truncated, extractedKeys } = { truncated: headerData, extractedKeys: [] };
|
|
175
175
|
let _n = n;
|
|
176
176
|
while (_n > 0) {
|
package/src/rules2/src/utils.js
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
2
|
|
|
3
|
-
export const trimedProps = (properties, obj) => R.reduce(
|
|
4
|
-
(acc, prop) => {
|
|
5
|
-
if (R.isNil(R.prop(prop, obj))) {
|
|
6
|
-
return acc;
|
|
7
|
-
}
|
|
8
|
-
return R.append(obj[prop], acc);
|
|
9
|
-
},
|
|
10
|
-
[],
|
|
11
|
-
properties,
|
|
12
|
-
);
|
|
13
|
-
|
|
14
3
|
export const getLayoutCoordinatesValidator = (layoutCoordinates, topCoordinates={}) => (coordinates) => {
|
|
15
4
|
if (R.isEmpty(coordinates)) {
|
|
16
5
|
return false;
|
package/src/viewer/src/chart.jsx
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import * as R from 'ramda';
|
|
3
3
|
import { NoData } from '@sis-cc/dotstatsuite-visions';
|
|
4
|
-
import
|
|
4
|
+
import {
|
|
5
|
+
BarChart,
|
|
6
|
+
RowChart,
|
|
7
|
+
ScatterChart,
|
|
8
|
+
TimelineChart,
|
|
9
|
+
HorizontalSymbolChart,
|
|
10
|
+
VerticalSymbolChart,
|
|
11
|
+
StackedBarChart,
|
|
12
|
+
StackedRowChart,
|
|
13
|
+
ChoroplethChart,
|
|
14
|
+
} from '../../bridge-d3-react/src';
|
|
5
15
|
import filterSeriesRegardingDimensions from './chartUtils/series';
|
|
6
16
|
import AxisLegend from './legends/AxisLegend.jsx';
|
|
7
17
|
import { isChartNoData } from './utils';
|
|
8
18
|
|
|
19
|
+
const charts = {
|
|
20
|
+
BarChart,
|
|
21
|
+
RowChart,
|
|
22
|
+
ScatterChart,
|
|
23
|
+
TimelineChart,
|
|
24
|
+
HorizontalSymbolChart,
|
|
25
|
+
VerticalSymbolChart,
|
|
26
|
+
StackedBarChart,
|
|
27
|
+
StackedRowChart,
|
|
28
|
+
ChoroplethChart,
|
|
29
|
+
};
|
|
30
|
+
|
|
9
31
|
const Chart = ({ options, series, type, width, getAxisOptions }) => {
|
|
10
32
|
const ChartClass = charts[type];
|
|
11
33
|
return (
|
|
@@ -3,7 +3,7 @@ import * as R from 'ramda';
|
|
|
3
3
|
import Legend from './Legend.jsx';
|
|
4
4
|
import { SCATTER, TIMELINE } from '../../../rules/src/constants';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
const REDUCED_THRESHOLD = 160;
|
|
7
7
|
|
|
8
8
|
const scatterRenderer = ({ color }) => (
|
|
9
9
|
<svg width='12' height='14'>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import * as R from 'ramda';
|
|
2
|
-
import { isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
|
-
|
|
4
|
-
var __scatterDimension = (dimensions, { id, xId, yId }) => {
|
|
5
|
-
if (R.isEmpty(dimensions))
|
|
6
|
-
return;
|
|
7
|
-
|
|
8
|
-
let chartDimension;
|
|
9
|
-
if (!R.isNil(id))
|
|
10
|
-
chartDimension = R.find(R.propEq('id', id), dimensions);
|
|
11
|
-
|
|
12
|
-
if (R.isNil(chartDimension)) {
|
|
13
|
-
const _dimensions = R.reject(isRefAreaDimension, dimensions);
|
|
14
|
-
chartDimension = R.head(R.isEmpty(_dimensions) ? dimensions : _dimensions);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const chartDimensionId = R.prop('id', chartDimension || {});
|
|
18
|
-
const values = R.propOr([], 'values', chartDimension || {});
|
|
19
|
-
|
|
20
|
-
const xValue = R.find(R.propEq('id', xId), values);
|
|
21
|
-
const yValue = R.find(v => R.propEq('id', yId, v) && v.id !== xId, values);
|
|
22
|
-
//if same xId & yId provided, xId is taken in account
|
|
23
|
-
const _xId = R.isNil(xValue)
|
|
24
|
-
? R.pipe(R.reject(R.propEq('id', R.prop('id', yValue || {}))), R.head, R.prop('id'))(values) : xValue.id;
|
|
25
|
-
const _yId = R.isNil(yValue) ? R.pipe(R.find(v => v.id !== _xId), R.prop('id'))(values) : yValue.id;
|
|
26
|
-
|
|
27
|
-
return {
|
|
28
|
-
id: chartDimensionId,
|
|
29
|
-
xId: _xId,
|
|
30
|
-
yId: _yId,
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export { __scatterDimension as default };
|
|
35
|
-
//# sourceMappingURL=scatter-dimension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scatter-dimension.js","sources":["../../../../src/rules/src/factories/scatter-dimension.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nexport default (dimensions, { id, xId, yId }) => {\n if (R.isEmpty(dimensions))\n return;\n\n let chartDimension;\n if (!R.isNil(id))\n chartDimension = R.find(R.propEq('id', id), dimensions);\n\n if (R.isNil(chartDimension)) {\n const _dimensions = R.reject(isRefAreaDimension, dimensions);\n chartDimension = R.head(R.isEmpty(_dimensions) ? dimensions : _dimensions);\n }\n\n const chartDimensionId = R.prop('id', chartDimension || {});\n const values = R.propOr([], 'values', chartDimension || {});\n\n const xValue = R.find(R.propEq('id', xId), values);\n const yValue = R.find(v => R.propEq('id', yId, v) && v.id !== xId, values);\n //if same xId & yId provided, xId is taken in account\n const _xId = R.isNil(xValue)\n ? R.pipe(R.reject(R.propEq('id', R.prop('id', yValue || {}))), R.head, R.prop('id'))(values) : xValue.id;\n const _yId = R.isNil(yValue) ? R.pipe(R.find(v => v.id !== _xId), R.prop('id'))(values) : yValue.id;\n\n return {\n id: chartDimensionId,\n xId: _xId,\n yId: _yId,\n };\n};\n"],"names":[],"mappings":";;;AAGA,yBAAe,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;AAC3B,IAAI;;AAEJ,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AAClB,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC;;AAE3D,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;AAC/B,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,CAAC;AAChE,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC;AAC9E,EAAE;;AAEF,EAAE,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC;AAC7D,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;;AAE7D,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC;AACpD,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC;AAC5E;AACA,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM;AAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE;AAC5G,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE;;AAErG,EAAE,OAAO;AACT,IAAI,EAAE,EAAE,gBAAgB;AACxB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,GAAG;AACH,CAAC;;;;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import * as R from 'ramda';
|
|
2
|
-
import { getRefAreaDimension, getTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
|
-
|
|
4
|
-
var __stackedDimension = (dimensions, singularity) => {
|
|
5
|
-
const { value, values } = dimensions;
|
|
6
|
-
const mode = R.prop('mode', singularity) === 'percent' ? 'percent' : 'values';
|
|
7
|
-
if (R.length(values) === 1) {
|
|
8
|
-
return ({
|
|
9
|
-
limit: R.propOr(Infinity, 'limit', singularity),
|
|
10
|
-
mode,
|
|
11
|
-
id: R.pathOr(null, [0, 'id'], value)
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
let serieDimension = null;
|
|
15
|
-
const id = R.prop('id', singularity);
|
|
16
|
-
if (!R.isNil(id)) {
|
|
17
|
-
serieDimension = R.find(R.propEq('id', id), values);
|
|
18
|
-
}
|
|
19
|
-
const areaDimension = getRefAreaDimension({ dimensions: values });
|
|
20
|
-
const timeDimension = getTimePeriodDimension({ dimensions: values });
|
|
21
|
-
|
|
22
|
-
serieDimension = serieDimension || areaDimension || timeDimension || R.head(values);
|
|
23
|
-
|
|
24
|
-
return ({
|
|
25
|
-
limit: R.propOr(Infinity, 'limit', singularity),
|
|
26
|
-
mode,
|
|
27
|
-
id: R.propOr(null, 'id', serieDimension)
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { __stackedDimension as default };
|
|
32
|
-
//# sourceMappingURL=stacked-dimension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stacked-dimension.js","sources":["../../../../src/rules/src/factories/stacked-dimension.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getRefAreaDimension, getTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nexport default (dimensions, singularity) => {\n const { value, values } = dimensions;\n const mode = R.prop('mode', singularity) === 'percent' ? 'percent' : 'values';\n if (R.length(values) === 1) {\n return ({\n limit: R.propOr(Infinity, 'limit', singularity),\n mode,\n id: R.pathOr(null, [0, 'id'], value)\n });\n }\n let serieDimension = null;\n const id = R.prop('id', singularity);\n if (!R.isNil(id)) {\n serieDimension = R.find(R.propEq('id', id), values);\n }\n const areaDimension = getRefAreaDimension({ dimensions: values });\n const timeDimension = getTimePeriodDimension({ dimensions: values });\n\n serieDimension = serieDimension || areaDimension || timeDimension || R.head(values);\n\n return ({\n limit: R.propOr(Infinity, 'limit', singularity),\n mode,\n id: R.propOr(null, 'id', serieDimension)\n });\n}"],"names":[],"mappings":";;;AAGA,yBAAe,CAAC,UAAU,EAAE,WAAW,KAAK;AAC5C,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU;AACtC,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ;AAC/E,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC9B,IAAI,QAAQ;AACZ,MAAM,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;AACrD,MAAM,IAAI;AACV,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK;AACzC,KAAK;AACL,EAAE;AACF,EAAE,IAAI,cAAc,GAAG,IAAI;AAC3B,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;AACtC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;AACpB,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;AACvD,EAAE;AACF,EAAE,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACnE,EAAE,MAAM,aAAa,GAAG,sBAAsB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;;AAEtE,EAAE,cAAc,GAAG,cAAc,IAAI,aAAa,IAAI,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;AAErF,EAAE,QAAQ;AACV,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;AACnD,IAAI,IAAI;AACR,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc;AAC3C,GAAG;AACH;;;;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { isEmpty, get, isNil, find, isUndefined, reject, head, take } from 'lodash';
|
|
2
|
-
import { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
|
|
3
|
-
|
|
4
|
-
var __symbolDimension = (dimensions, ids) => {
|
|
5
|
-
if (isEmpty(dimensions)) return;
|
|
6
|
-
|
|
7
|
-
let symbolDimension = undefined;
|
|
8
|
-
const id = get(ids, 'id');
|
|
9
|
-
if (!isNil(id)) symbolDimension = find(dimensions, { id });
|
|
10
|
-
|
|
11
|
-
if (isUndefined(symbolDimension)) {
|
|
12
|
-
const isAreaOrTimeDimension = d => isRefAreaDimension(d) || isTimePeriodDimension(d);
|
|
13
|
-
const _dimensions1 = reject(dimensions, isAreaOrTimeDimension);
|
|
14
|
-
const _dimensions2 = reject(dimensions, isRefAreaDimension);
|
|
15
|
-
if (isEmpty(_dimensions1)) {
|
|
16
|
-
symbolDimension = head(isEmpty(_dimensions2) ? dimensions : _dimensions2);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
symbolDimension = head(_dimensions1);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const symbolDimensionId = get(symbolDimension, 'id');
|
|
24
|
-
|
|
25
|
-
return {
|
|
26
|
-
id: symbolDimensionId,
|
|
27
|
-
serie: take(symbolDimension.values, 5)
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { __symbolDimension as default };
|
|
32
|
-
//# sourceMappingURL=symbol-dimension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-dimension.js","sources":["../../../../src/rules/src/factories/symbol-dimension.js"],"sourcesContent":["import { find, get, head, isEmpty, isUndefined, isNil, reject, take } from 'lodash';\nimport { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\n\nexport default (dimensions, ids) => {\n if (isEmpty(dimensions)) return;\n\n let symbolDimension = undefined;\n const id = get(ids, 'id');\n if (!isNil(id)) symbolDimension = find(dimensions, { id });\n\n if (isUndefined(symbolDimension)) {\n const isAreaOrTimeDimension = d => isRefAreaDimension(d) || isTimePeriodDimension(d);\n const _dimensions1 = reject(dimensions, isAreaOrTimeDimension);\n const _dimensions2 = reject(dimensions, isRefAreaDimension);\n if (isEmpty(_dimensions1)) {\n symbolDimension = head(isEmpty(_dimensions2) ? dimensions : _dimensions2);\n }\n else {\n symbolDimension = head(_dimensions1);\n }\n }\n\n const symbolDimensionId = get(symbolDimension, 'id');\n\n return {\n id: symbolDimensionId,\n serie: take(symbolDimension.values, 5)\n };\n}"],"names":[],"mappings":";;;AAGA,wBAAe,CAAC,UAAU,EAAE,GAAG,KAAK;AACpC,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;;AAE3B,EAAE,IAAI,eAAe,GAAG,SAAS;AACjC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AAC3B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;;AAE5D,EAAE,IAAI,WAAW,CAAC,eAAe,CAAC,EAAE;AACpC,IAAI,MAAM,qBAAqB,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;AACxF,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC;AAClE,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC;AAC/D,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;AAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,UAAU,GAAG,YAAY,CAAC;AAC/E,IAAI;AACJ,SAAS;AACT,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC;AAC1C,IAAI;AACJ,EAAE;;AAEF,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC;;AAEtD,EAAE,OAAO;AACT,IAAI,EAAE,EAAE,iBAAiB;AACzB,IAAI,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;AACzC,GAAG;AACH;;;;"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as R from 'ramda';
|
|
2
|
-
import { parseDisplay, getFlags } from '../index.js';
|
|
3
|
-
import { DEFAULT_REJECTED_SUBTITLE_IDS } from '../constants.js';
|
|
4
|
-
import { dimensionValueDisplay } from '../dimension-utils.js';
|
|
5
|
-
|
|
6
|
-
const getDefaultSubtitle = ({ customAttributes, dimensions, display, units }) => {
|
|
7
|
-
const _display = parseDisplay(display);
|
|
8
|
-
const formatter = dimensionValueDisplay(_display);
|
|
9
|
-
const _getFlags = getFlags(customAttributes, formatter, {});
|
|
10
|
-
const unitsValuesIds = R.pipe(R.propOr([], 'values'), R.pluck('id'))(units);
|
|
11
|
-
|
|
12
|
-
return R.pipe(
|
|
13
|
-
R.propOr([], 'one'),
|
|
14
|
-
R.values,
|
|
15
|
-
R.sortBy(R.prop('__index')),
|
|
16
|
-
R.reduce(
|
|
17
|
-
(acc, dim) => {
|
|
18
|
-
if (!R.propOr(true, 'display', dim)) {
|
|
19
|
-
return acc;
|
|
20
|
-
}
|
|
21
|
-
if (R.includes(dim.id, unitsValuesIds)) {
|
|
22
|
-
return acc;
|
|
23
|
-
}
|
|
24
|
-
const value = R.path(['values', 0], dim);
|
|
25
|
-
|
|
26
|
-
if (R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS) || !R.propOr(true, 'display', value)) {
|
|
27
|
-
return acc;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const flags = _getFlags({ attributes: R.propOr({}, 'attributes', value), notes: R.propOr([], 'notes', value) });
|
|
31
|
-
|
|
32
|
-
return R.append({
|
|
33
|
-
header: `${formatter(dim)}:`,
|
|
34
|
-
label: formatter(value),
|
|
35
|
-
flags
|
|
36
|
-
}, acc);
|
|
37
|
-
},
|
|
38
|
-
[]
|
|
39
|
-
)
|
|
40
|
-
)(dimensions);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export { getDefaultSubtitle };
|
|
44
|
-
//# sourceMappingURL=getDefaultSubtitle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDefaultSubtitle.js","sources":["../../../../src/rules/src/header/getDefaultSubtitle.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay, getFlags, parseDisplay } from '../';\nimport { DEFAULT_REJECTED_SUBTITLE_IDS } from '../constants';\n\nexport const getDefaultSubtitle = ({ customAttributes, dimensions, display, units }) => {\n const _display = parseDisplay(display);\n const formatter = dimensionValueDisplay(_display);\n const _getFlags = getFlags(customAttributes, formatter, {});\n const unitsValuesIds = R.pipe(R.propOr([], 'values'), R.pluck('id'))(units);\n \n return R.pipe(\n R.propOr([], 'one'),\n R.values,\n R.sortBy(R.prop('__index')),\n R.reduce(\n (acc, dim) => {\n if (!R.propOr(true, 'display', dim)) {\n return acc;\n }\n if (R.includes(dim.id, unitsValuesIds)) {\n return acc;\n }\n const value = R.path(['values', 0], dim);\n\n if (R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS) || !R.propOr(true, 'display', value)) {\n return acc;\n }\n\n const flags = _getFlags({ attributes: R.propOr({}, 'attributes', value), notes: R.propOr([], 'notes', value) });\n\n return R.append({\n header: `${formatter(dim)}:`,\n label: formatter(value),\n flags\n }, acc);\n },\n []\n )\n )(dimensions);\n};\n"],"names":[],"mappings":";;;;;AAIY,MAAC,kBAAkB,GAAG,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;AACzF,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;AACxC,EAAE,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AACnD,EAAE,MAAM,SAAS,IAAI,QAAQ,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC;AAC9D,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7E;AACA,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;AACvB,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,IAAI,CAAC,CAAC,MAAM;AACZ,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK;AACpB,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE;AAC7C,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE;AAChD,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;;AAEhD,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;AACtG,UAAU,OAAO,GAAG;AACpB,QAAQ;;AAER,QAAQ,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;;AAEvH,QAAQ,OAAO,CAAC,CAAC,MAAM,CAAC;AACxB,UAAU,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,UAAU,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;AACjC,UAAU;AACV,SAAS,EAAE,GAAG,CAAC;AACf,MAAM,CAAC;AACP,MAAM;AACN;AACA,GAAG,CAAC,UAAU,CAAC;AACf;;;;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as R from 'ramda';
|
|
2
|
-
import { parseDisplay } from '../index.js';
|
|
3
|
-
import { dimensionValueDisplay } from '../dimension-utils.js';
|
|
4
|
-
|
|
5
|
-
const getHeaderUnits = ({ units, display }) => {
|
|
6
|
-
const _display = parseDisplay(display);
|
|
7
|
-
return R.converge(
|
|
8
|
-
(header, label) => R.isEmpty(label) ? null : { header, label },
|
|
9
|
-
[
|
|
10
|
-
(units) => `${dimensionValueDisplay(_display)(units)}:`,
|
|
11
|
-
R.pipe(
|
|
12
|
-
R.propOr([], 'values'),
|
|
13
|
-
R.map(R.pipe(R.propOr({}, 'value'), dimensionValueDisplay(_display))),
|
|
14
|
-
R.join(', ')
|
|
15
|
-
)
|
|
16
|
-
]
|
|
17
|
-
)(units);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export { getHeaderUnits };
|
|
21
|
-
//# sourceMappingURL=getHeaderUnits.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getHeaderUnits.js","sources":["../../../../src/rules/src/header/getHeaderUnits.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay, parseDisplay } from '../';\n\nexport const getHeaderUnits = ({ units, display }) => {\n const _display = parseDisplay(display);\n return R.converge(\n (header, label) => R.isEmpty(label) ? null : { header, label },\n [\n (units) => `${dimensionValueDisplay(_display)(units)}:`,\n R.pipe(\n R.propOr([], 'values'),\n R.map(R.pipe(R.propOr({}, 'value'), dimensionValueDisplay(_display))),\n R.join(', ')\n )\n ]\n )(units);\n};\n"],"names":[],"mappings":";;;;AAGY,MAAC,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AACtD,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;AACxC,EAAE,OAAO,CAAC,CAAC,QAAQ;AACnB,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;AAClE,IAAI;AACJ,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,CAAC,IAAI;AACZ,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC;AAC9B,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7E,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI;AACnB;AACA;AACA,GAAG,CAAC,KAAK,CAAC;AACV;;;;"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import * as R from 'ramda';
|
|
2
|
-
import { parseDisplay, getFlags } from '../index.js';
|
|
3
|
-
import { DEFAULT_REJECTED_SUBTITLE_IDS } from '../constants.js';
|
|
4
|
-
import { dimensionValueDisplay } from '../dimension-utils.js';
|
|
5
|
-
|
|
6
|
-
const getSubtitleFlags = ({ customAttributes, dimensions, display, units }) => {
|
|
7
|
-
const _display = parseDisplay(display);
|
|
8
|
-
const formatter = dimensionValueDisplay(_display);
|
|
9
|
-
const _getFlags = getFlags(customAttributes, formatter, {});
|
|
10
|
-
const unitsValuesIds = R.pipe(R.propOr([], 'values'), R.pluck('id'))(units);
|
|
11
|
-
|
|
12
|
-
return R.pipe(
|
|
13
|
-
R.propOr([], 'one'),
|
|
14
|
-
R.values,
|
|
15
|
-
R.sortBy(R.prop('__index')),
|
|
16
|
-
R.reduce(
|
|
17
|
-
(acc, dim) => {
|
|
18
|
-
if (!R.propOr(true, 'display', dim)) {
|
|
19
|
-
return acc;
|
|
20
|
-
}
|
|
21
|
-
if (R.includes(dim.id, unitsValuesIds)) {
|
|
22
|
-
return acc;
|
|
23
|
-
}
|
|
24
|
-
const value = R.path(['values', 0], dim);
|
|
25
|
-
|
|
26
|
-
if (R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS) || !R.propOr(true, 'display', value)) {
|
|
27
|
-
return acc;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const flags = _getFlags({ attributes: R.propOr({}, 'attributes', value), notes: R.propOr([], 'notes', value) });
|
|
31
|
-
if (R.isEmpty(flags)) {
|
|
32
|
-
return acc;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return R.append({
|
|
36
|
-
header: `${formatter(dim)}:`,
|
|
37
|
-
label: formatter(value),
|
|
38
|
-
sub: flags
|
|
39
|
-
}, acc);
|
|
40
|
-
},
|
|
41
|
-
[]
|
|
42
|
-
)
|
|
43
|
-
)(dimensions);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { getSubtitleFlags };
|
|
47
|
-
//# sourceMappingURL=getSubtitleFlags.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSubtitleFlags.js","sources":["../../../../src/rules/src/header/getSubtitleFlags.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay, getFlags, parseDisplay } from '../';\nimport { DEFAULT_REJECTED_SUBTITLE_IDS } from '../constants';\n\nexport const getSubtitleFlags = ({ customAttributes, dimensions, display, units }) => {\n const _display = parseDisplay(display);\n const formatter = dimensionValueDisplay(_display);\n const _getFlags = getFlags(customAttributes, formatter, {});\n const unitsValuesIds = R.pipe(R.propOr([], 'values'), R.pluck('id'))(units);\n\n return R.pipe(\n R.propOr([], 'one'),\n R.values,\n R.sortBy(R.prop('__index')),\n R.reduce(\n (acc, dim) => {\n if (!R.propOr(true, 'display', dim)) {\n return acc;\n }\n if (R.includes(dim.id, unitsValuesIds)) {\n return acc;\n }\n const value = R.path(['values', 0], dim);\n\n if (R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS) || !R.propOr(true, 'display', value)) {\n return acc;\n }\n\n const flags = _getFlags({ attributes: R.propOr({}, 'attributes', value), notes: R.propOr([], 'notes', value) });\n if (R.isEmpty(flags)) {\n return acc;\n }\n\n return R.append({\n header: `${formatter(dim)}:`,\n label: formatter(value),\n sub: flags\n }, acc);\n },\n []\n )\n )(dimensions);\n};\n"],"names":[],"mappings":";;;;;AAIY,MAAC,gBAAgB,GAAG,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;AACvF,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;AACxC,EAAE,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AACnD,EAAE,MAAM,SAAS,IAAI,QAAQ,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC;AAC9D,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;;AAE7E,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;AACvB,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,IAAI,CAAC,CAAC,MAAM;AACZ,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK;AACpB,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE;AAC7C,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE;AAChD,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;;AAEhD,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;AACtG,UAAU,OAAO,GAAG;AACpB,QAAQ;;AAER,QAAQ,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;AACvH,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,UAAU,OAAO,GAAG;AACpB,QAAQ;;AAER,QAAQ,OAAO,CAAC,CAAC,MAAM,CAAC;AACxB,UAAU,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,UAAU,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;AACjC,UAAU,GAAG,EAAE;AACf,SAAS,EAAE,GAAG,CAAC;AACf,MAAM,CAAC;AACP,MAAM;AACN;AACA,GAAG,CAAC,UAAU,CAAC;AACf;;;;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import 'ramda';
|
|
2
|
-
import { parseDisplay, getFlags } from '../index.js';
|
|
3
|
-
import { dimensionValueDisplay } from '../dimension-utils.js';
|
|
4
|
-
|
|
5
|
-
const getTitleFlags = ({ customAttributes, dataflowAttributes, display }) => {
|
|
6
|
-
const _display = parseDisplay(display);
|
|
7
|
-
const formatter = dimensionValueDisplay(_display);
|
|
8
|
-
return getFlags(customAttributes, formatter, {})({ attributes: dataflowAttributes });
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export { getTitleFlags };
|
|
12
|
-
//# sourceMappingURL=getTitleFlags.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTitleFlags.js","sources":["../../../../src/rules/src/header/getTitleFlags.js"],"sourcesContent":["import * as R from 'ramda';\nimport { parseDisplay, dimensionValueDisplay, getFlags } from '../';\n\nexport const getTitleFlags = ({ customAttributes, dataflowAttributes, display }) => {\n const _display = parseDisplay(display);\n const formatter = dimensionValueDisplay(_display);\n return getFlags(customAttributes, formatter, {})({ attributes: dataflowAttributes });\n};\n"],"names":[],"mappings":";;;;AAGY,MAAC,aAAa,GAAG,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK;AACpF,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;AACxC,EAAE,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AACnD,EAAE,OAAO,QAAQ,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;AACtF;;;;"}
|