@sis-cc/dotstatsuite-components 22.2.0 → 22.3.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/rules/src/preparators/formatValue.js +3 -2
- package/dist/rules/src/preparators/formatValue.js.map +1 -1
- package/dist/rules2/src/parseAttributes.js +1 -1
- package/dist/rules2/src/parseAttributes.js.map +1 -1
- package/dist/rules2/src/table/getTableProps.js +1 -0
- package/dist/rules2/src/table/getTableProps.js.map +1 -1
- package/package.json +1 -1
- package/src/rules/src/preparators/formatValue.js +3 -2
- package/src/rules2/src/parseAttributes.js +1 -1
- package/src/rules2/src/table/getTableProps.js +1 -0
|
@@ -62,20 +62,21 @@ const formatValue = (observation, formatAttributesIndexes, attributes) => {
|
|
|
62
62
|
R.always(isValidNumber(prefscale)),
|
|
63
63
|
value => numeral(value).multiply(Math.pow(10, -1 * Number(prefscale))).value(),
|
|
64
64
|
);
|
|
65
|
+
const _decimals = !decimals ? 2 : decimals;
|
|
65
66
|
|
|
66
67
|
const formatSeparator = value => numeral(value).format(`0,0.[0000000]`);
|
|
67
68
|
const formatDecimals = R.ifElse(
|
|
68
69
|
R.always(isValidNumber(decimals)),
|
|
69
70
|
v => {
|
|
70
71
|
const num = Number(v);
|
|
71
|
-
const isTiny = Math.abs(num) < Math.pow(10, -(
|
|
72
|
+
const isTiny = Math.abs(num) < Math.pow(10, -(_decimals) + 1);
|
|
72
73
|
const displayNum = isTiny ? 0 : num;
|
|
73
74
|
const decimalFormat =
|
|
74
75
|
R.ifElse(
|
|
75
76
|
R.equals(0),
|
|
76
77
|
R.always('0,0'),
|
|
77
78
|
d => `0,0.${R.join('', R.times(R.always('0'), d))}`
|
|
78
|
-
)(decimals
|
|
79
|
+
)(decimals);
|
|
79
80
|
|
|
80
81
|
return numeral(displayNum).format(decimalFormat);
|
|
81
82
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatValue.js","sources":["../../../../src/rules/src/preparators/formatValue.js"],"sourcesContent":["import * as R from 'ramda';\nimport numeral from 'numeral';\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));\nconst parseValidNumber = R.pipe(\n v => R.isNil(v) ? null : Number(v),\n v => isNaN(v) ? null : v\n);\n\nconst getFormatAttributesValues = (observation, formatAttributesIndexes, attributes) => R.mapObjIndexed(\n attributeIndex => {\n let valueIndex;\n const relationship = R.pipe(R.nth(attributeIndex), R.propOr({}, 'relationship'))(attributes);\n //if (!R.isNil(attributeIndex) && attributeIndex >= R.length(R.propOr([], 'attrValuesIndexes', observation))) {\n if (R.has('none', relationship) || R.has('dataflow', relationship)) {\n valueIndex = 0;\n }\n else {\n valueIndex = R.pipe(\n R.propOr([], 'attrValuesIndexes'),\n R.nth(attributeIndex),\n parseValidNumber\n )(observation);\n }\n\n return R.pipe(\n R.path([attributeIndex, 'values', valueIndex, 'id']),\n parseValidNumber\n )(attributes);\n },\n formatAttributesIndexes\n);\n\nexport const formatValue = (observation, formatAttributesIndexes, attributes) => {\n const value = R.prop('value', observation);\n if (R.is(Boolean, value)) {\n return value;\n }\n if (R.is(String, value)) {\n const monthMatch = value.match(/^\\-\\-([\\d]{2})$/);\n if (R.is(Array, monthMatch)) {\n return R.nth(1, monthMatch);\n }\n const monthDayMatch = value.match(/^\\-\\-([\\d]{2}\\-[\\d]{2})$/);\n if (R.is(Array, monthDayMatch)) {\n return R.nth(1, monthDayMatch);\n }\n const dayMatch = value.match(/^\\-\\-\\-([\\d]{2})$/);\n if (R.is(Array, dayMatch)) {\n return R.nth(1, dayMatch);\n }\n return value;\n }\n\n const { prefscale, decimals } = getFormatAttributesValues(\n observation,\n formatAttributesIndexes,\n attributes\n );\n\n const formatScale = R.when(\n R.always(isValidNumber(prefscale)),\n value => numeral(value).multiply(Math.pow(10, -1 * Number(prefscale))).value(),\n );\n\n const formatSeparator = value => numeral(value).format(`0,0.[0000000]`);\n const formatDecimals = R.ifElse(\n R.always(isValidNumber(decimals)),\n v => {\n const num = Number(v);\n const isTiny = Math.abs(num) < Math.pow(10, -(
|
|
1
|
+
{"version":3,"file":"formatValue.js","sources":["../../../../src/rules/src/preparators/formatValue.js"],"sourcesContent":["import * as R from 'ramda';\nimport numeral from 'numeral';\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));\nconst parseValidNumber = R.pipe(\n v => R.isNil(v) ? null : Number(v),\n v => isNaN(v) ? null : v\n);\n\nconst getFormatAttributesValues = (observation, formatAttributesIndexes, attributes) => R.mapObjIndexed(\n attributeIndex => {\n let valueIndex;\n const relationship = R.pipe(R.nth(attributeIndex), R.propOr({}, 'relationship'))(attributes);\n //if (!R.isNil(attributeIndex) && attributeIndex >= R.length(R.propOr([], 'attrValuesIndexes', observation))) {\n if (R.has('none', relationship) || R.has('dataflow', relationship)) {\n valueIndex = 0;\n }\n else {\n valueIndex = R.pipe(\n R.propOr([], 'attrValuesIndexes'),\n R.nth(attributeIndex),\n parseValidNumber\n )(observation);\n }\n\n return R.pipe(\n R.path([attributeIndex, 'values', valueIndex, 'id']),\n parseValidNumber\n )(attributes);\n },\n formatAttributesIndexes\n);\n\nexport const formatValue = (observation, formatAttributesIndexes, attributes) => {\n const value = R.prop('value', observation);\n if (R.is(Boolean, value)) {\n return value;\n }\n if (R.is(String, value)) {\n const monthMatch = value.match(/^\\-\\-([\\d]{2})$/);\n if (R.is(Array, monthMatch)) {\n return R.nth(1, monthMatch);\n }\n const monthDayMatch = value.match(/^\\-\\-([\\d]{2}\\-[\\d]{2})$/);\n if (R.is(Array, monthDayMatch)) {\n return R.nth(1, monthDayMatch);\n }\n const dayMatch = value.match(/^\\-\\-\\-([\\d]{2})$/);\n if (R.is(Array, dayMatch)) {\n return R.nth(1, dayMatch);\n }\n return value;\n }\n\n const { prefscale, decimals } = getFormatAttributesValues(\n observation,\n formatAttributesIndexes,\n attributes\n );\n\n const formatScale = R.when(\n R.always(isValidNumber(prefscale)),\n value => numeral(value).multiply(Math.pow(10, -1 * Number(prefscale))).value(),\n );\n const _decimals = !decimals ? 2 : decimals;\n\n const formatSeparator = value => numeral(value).format(`0,0.[0000000]`);\n const formatDecimals = R.ifElse(\n R.always(isValidNumber(decimals)),\n v => {\n const num = Number(v);\n const isTiny = Math.abs(num) < Math.pow(10, -(_decimals) + 1);\n const displayNum = isTiny ? 0 : num;\n const decimalFormat =\n R.ifElse(\n R.equals(0),\n R.always('0,0'),\n d => `0,0.${R.join('', R.times(R.always('0'), d))}`\n )(decimals);\n\n return numeral(displayNum).format(decimalFormat);\n },\n formatSeparator\n );\n return R.ifElse(\n isValidNumber,\n R.pipe(\n formatScale,\n formatDecimals,\n res => res === 'NaN' ? String(value) : res\n ),\n R.always('..')\n )(observation.value);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ const parseAttributes = (attributes, dimensions, customAttributes) => {
|
|
|
30
30
|
R.pathOr([], ['relationship', 'dimensions']),
|
|
31
31
|
R.filter(id => {
|
|
32
32
|
const dimension = R.prop(id, indexedDimensions);
|
|
33
|
-
return !dimension.header && R.length(dimension.values || []) > 1;
|
|
33
|
+
return !dimension.header && R.length(dimension.values || []) > 1 && !dimension.rejected;
|
|
34
34
|
}),
|
|
35
35
|
)(attr);
|
|
36
36
|
if (R.length(seriesDimensions) > 0) {
|
|
@@ -1 +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":";;;AAGY,MAAC,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,KAAK;AAC7E,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/D,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5C,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;AAC3C,IAAI,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI;AACzC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC,MAAM,CAAC,CAAC,MAAM;AACd,KAAK,CAAC,IAAI,CAAC;AACX,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI;AACvE,SAAS,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK;AACnD,SAAS,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE;AACnC,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC;AAC3C,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;AAC1D,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC;AAC5C,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;AACzD,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC;AAC3C,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE;AACpG,MAAM,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;AACvD,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE;AACjH,MAAM,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;AACvD,IAAI;AACJ,IAAI,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI;AACnC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAClD,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI;AACrB,QAAQ,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC;AACvD,QAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC;
|
|
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 && !dimension.rejected;\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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"}
|
|
@@ -72,6 +72,7 @@ const getTableProps = ({ data, layoutIds, customAttributes, limit, isTimeInverte
|
|
|
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 });
|
|
75
76
|
|
|
76
77
|
return ({
|
|
77
78
|
...layoutData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableProps.js","sources":["../../../../src/rules2/src/table/getTableProps.js"],"sourcesContent":["import * as R from 'ramda';\nimport { declineObservationsOverAttributes } from './declineObservationsOverAttributes';\nimport { getLayout } from './getLayout';\nimport { getSortedLayoutIndexes } from './getSortedLayoutIndexes';\nimport { parseLayoutIndexesHierarchies } from './parseSeriesIndexesHierarchies';\nimport { refineLayoutSize } from './refineLayoutSize2';\nimport { getLayoutData } from './getLayoutData2';\nimport { getCellsAttributesIds } from './getCellsAttributesIds';\nimport { getIndexedCombinationsByDisplay } from './getIndexedCombinationsByDisplay';\nimport { getCells } from './getCells';\nimport { getCuratedCells } from './getCuratedCells';\nimport { getSeriesCombinations } from '../getSeriesCombinations';\nimport { getCellsMetadataCoordinates } from './getCellsMetadataCoordinates';\n\nexport const getTableProps = ({ data, layoutIds, customAttributes, limit, isTimeInverted }) => {\n const {\n observations,\n dimensions,\n combinations,\n oneValueDimensions,\n attributesSeries,\n metadataCoordinates,\n attributes,\n header,\n rejectedDimensions=[]\n } = data;\n\n const obsAttributes = R.filter(\n a => a.series && R.isEmpty(a.relationship) && a.display && !a.combined,\n attributes\n );\n let dupObs = observations;\n const hasDuplicatedCells = R.pipe(\n R.values,\n R.unnest,\n R.find(R.equals('OBS_ATTRIBUTES')),\n )(layoutIds);\n if (hasDuplicatedCells) {\n const attrsIds = R.pluck('id', obsAttributes);\n dupObs = declineObservationsOverAttributes(attrsIds, observations);\n }\n const seriesCombinations = getSeriesCombinations(combinations, oneValueDimensions);\n const _dims = R.append(\n {\n id: 'OBS_ATTRIBUTES',\n values: R.prepend({ id: 'OBS_VALUE' }, obsAttributes),\n },\n dimensions,\n );\n const layout = getLayout(layoutIds, _dims, seriesCombinations, isTimeInverted);\n const layoutDimsIds = R.map(R.reduce((acc, entry) => {\n if (R.has('dimensions', entry)) {\n return R.concat(acc, R.pluck('id', entry.dimensions));\n }\n return R.append(entry.id, acc);\n }, []), layout);\n const layoutIndexes = getSortedLayoutIndexes(layout, dupObs, rejectedDimensions);\n const enhancedLayoutIndexes = parseLayoutIndexesHierarchies(\n layoutIndexes,\n layout,\n );\n const refinedLayoutIndexes = refineLayoutSize({ layout, observations: dupObs, limit })(enhancedLayoutIndexes);\n const layoutData = getLayoutData(refinedLayoutIndexes, layout, {\n metadataCoordinates,\n attributesSeries,\n customAttributes,\n topCoordinates: header.coordinates,\n rejectedDimensions\n });\n\n const cellsAttributesIds = getCellsAttributesIds(layoutDimsIds, attributes);\n const indexedCombinations = getIndexedCombinationsByDisplay(layout, seriesCombinations);\n const cellsMetadataCoordinates = getCellsMetadataCoordinates(metadataCoordinates, oneValueDimensions, layoutDimsIds);\n const cells = getCells(customAttributes, cellsAttributesIds, indexedCombinations, attributesSeries, cellsMetadataCoordinates)(dupObs);\n\n return ({\n ...layoutData,\n cells: getCuratedCells(cells, layout),\n layout,\n combinations: seriesCombinations\n });\n};\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getTableProps.js","sources":["../../../../src/rules2/src/table/getTableProps.js"],"sourcesContent":["import * as R from 'ramda';\nimport { declineObservationsOverAttributes } from './declineObservationsOverAttributes';\nimport { getLayout } from './getLayout';\nimport { getSortedLayoutIndexes } from './getSortedLayoutIndexes';\nimport { parseLayoutIndexesHierarchies } from './parseSeriesIndexesHierarchies';\nimport { refineLayoutSize } from './refineLayoutSize2';\nimport { getLayoutData } from './getLayoutData2';\nimport { getCellsAttributesIds } from './getCellsAttributesIds';\nimport { getIndexedCombinationsByDisplay } from './getIndexedCombinationsByDisplay';\nimport { getCells } from './getCells';\nimport { getCuratedCells } from './getCuratedCells';\nimport { getSeriesCombinations } from '../getSeriesCombinations';\nimport { getCellsMetadataCoordinates } from './getCellsMetadataCoordinates';\n\nexport const getTableProps = ({ data, layoutIds, customAttributes, limit, isTimeInverted }) => {\n const {\n observations,\n dimensions,\n combinations,\n oneValueDimensions,\n attributesSeries,\n metadataCoordinates,\n attributes,\n header,\n rejectedDimensions=[]\n } = data;\n\n const obsAttributes = R.filter(\n a => a.series && R.isEmpty(a.relationship) && a.display && !a.combined,\n attributes\n );\n let dupObs = observations;\n const hasDuplicatedCells = R.pipe(\n R.values,\n R.unnest,\n R.find(R.equals('OBS_ATTRIBUTES')),\n )(layoutIds);\n if (hasDuplicatedCells) {\n const attrsIds = R.pluck('id', obsAttributes);\n dupObs = declineObservationsOverAttributes(attrsIds, observations);\n }\n const seriesCombinations = getSeriesCombinations(combinations, oneValueDimensions);\n const _dims = R.append(\n {\n id: 'OBS_ATTRIBUTES',\n values: R.prepend({ id: 'OBS_VALUE' }, obsAttributes),\n },\n dimensions,\n );\n const layout = getLayout(layoutIds, _dims, seriesCombinations, isTimeInverted);\n const layoutDimsIds = R.map(R.reduce((acc, entry) => {\n if (R.has('dimensions', entry)) {\n return R.concat(acc, R.pluck('id', entry.dimensions));\n }\n return R.append(entry.id, acc);\n }, []), layout);\n const layoutIndexes = getSortedLayoutIndexes(layout, dupObs, rejectedDimensions);\n const enhancedLayoutIndexes = parseLayoutIndexesHierarchies(\n layoutIndexes,\n layout,\n );\n const refinedLayoutIndexes = refineLayoutSize({ layout, observations: dupObs, limit })(enhancedLayoutIndexes);\n const layoutData = getLayoutData(refinedLayoutIndexes, layout, {\n metadataCoordinates,\n attributesSeries,\n customAttributes,\n topCoordinates: header.coordinates,\n rejectedDimensions\n });\n\n const cellsAttributesIds = getCellsAttributesIds(layoutDimsIds, attributes);\n const indexedCombinations = getIndexedCombinationsByDisplay(layout, seriesCombinations);\n const cellsMetadataCoordinates = getCellsMetadataCoordinates(metadataCoordinates, oneValueDimensions, layoutDimsIds);\n const cells = getCells(customAttributes, cellsAttributesIds, indexedCombinations, attributesSeries, cellsMetadataCoordinates)(dupObs);\n //console.log({ cellsAttributesIds, customAttributes, indexedCombinations });\n\n return ({\n ...layoutData,\n cells: getCuratedCells(cells, layout),\n layout,\n combinations: seriesCombinations\n });\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -62,20 +62,21 @@ export const formatValue = (observation, formatAttributesIndexes, attributes) =>
|
|
|
62
62
|
R.always(isValidNumber(prefscale)),
|
|
63
63
|
value => numeral(value).multiply(Math.pow(10, -1 * Number(prefscale))).value(),
|
|
64
64
|
);
|
|
65
|
+
const _decimals = !decimals ? 2 : decimals;
|
|
65
66
|
|
|
66
67
|
const formatSeparator = value => numeral(value).format(`0,0.[0000000]`);
|
|
67
68
|
const formatDecimals = R.ifElse(
|
|
68
69
|
R.always(isValidNumber(decimals)),
|
|
69
70
|
v => {
|
|
70
71
|
const num = Number(v);
|
|
71
|
-
const isTiny = Math.abs(num) < Math.pow(10, -(
|
|
72
|
+
const isTiny = Math.abs(num) < Math.pow(10, -(_decimals) + 1);
|
|
72
73
|
const displayNum = isTiny ? 0 : num;
|
|
73
74
|
const decimalFormat =
|
|
74
75
|
R.ifElse(
|
|
75
76
|
R.equals(0),
|
|
76
77
|
R.always('0,0'),
|
|
77
78
|
d => `0,0.${R.join('', R.times(R.always('0'), d))}`
|
|
78
|
-
)(decimals
|
|
79
|
+
)(decimals);
|
|
79
80
|
|
|
80
81
|
return numeral(displayNum).format(decimalFormat);
|
|
81
82
|
},
|
|
@@ -30,7 +30,7 @@ export const parseAttributes = (attributes, dimensions, customAttributes) => {
|
|
|
30
30
|
R.pathOr([], ['relationship', 'dimensions']),
|
|
31
31
|
R.filter(id => {
|
|
32
32
|
const dimension = R.prop(id, indexedDimensions);
|
|
33
|
-
return !dimension.header && R.length(dimension.values || []) > 1;
|
|
33
|
+
return !dimension.header && R.length(dimension.values || []) > 1 && !dimension.rejected;
|
|
34
34
|
}),
|
|
35
35
|
)(attr);
|
|
36
36
|
if (R.length(seriesDimensions) > 0) {
|
|
@@ -72,6 +72,7 @@ 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 });
|
|
75
76
|
|
|
76
77
|
return ({
|
|
77
78
|
...layoutData,
|