@sis-cc/dotstatsuite-components 22.6.0 → 23.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bridge-d3-react/src/index.js +1 -2
  3. package/dist/bridge-d3-react/src/index.js.map +1 -1
  4. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +2 -2
  5. package/dist/node_modules/css-vendor/dist/css-vendor.esm.js +1 -1
  6. package/dist/node_modules/jss/dist/jss.esm.js +1 -1
  7. package/dist/rules/src/chart/getChartOptions.js +1 -1
  8. package/dist/rules/src/chart/getChartOptions.js.map +1 -1
  9. package/dist/rules/src/constants.js +1 -35
  10. package/dist/rules/src/constants.js.map +1 -1
  11. package/dist/rules/src/dimension-utils.js +26 -24
  12. package/dist/rules/src/dimension-utils.js.map +1 -1
  13. package/dist/rules/src/factories/choro-series.js +43 -32
  14. package/dist/rules/src/factories/choro-series.js.map +1 -1
  15. package/dist/rules/src/factories/focus.js +20 -0
  16. package/dist/rules/src/factories/focus.js.map +1 -0
  17. package/dist/rules/src/factories/getChartSeries.js +11 -0
  18. package/dist/rules/src/factories/getChartSeries.js.map +1 -0
  19. package/dist/rules/src/factories/sample-focus.js +14 -18
  20. package/dist/rules/src/factories/sample-focus.js.map +1 -1
  21. package/dist/rules/src/factories/sample-series.js +20 -20
  22. package/dist/rules/src/factories/sample-series.js.map +1 -1
  23. package/dist/rules/src/factories/scatter-focus.js +21 -35
  24. package/dist/rules/src/factories/scatter-focus.js.map +1 -1
  25. package/dist/rules/src/factories/scatter-series.js +5 -5
  26. package/dist/rules/src/factories/scatter-series.js.map +1 -1
  27. package/dist/rules/src/factories/series.js +48 -0
  28. package/dist/rules/src/factories/series.js.map +1 -0
  29. package/dist/rules/src/factories/stacked-series.js +6 -7
  30. package/dist/rules/src/factories/stacked-series.js.map +1 -1
  31. package/dist/rules/src/factories/symbol-series.js +39 -46
  32. package/dist/rules/src/factories/symbol-series.js.map +1 -1
  33. package/dist/rules/src/factories/timeline-focus.js +10 -14
  34. package/dist/rules/src/factories/timeline-focus.js.map +1 -1
  35. package/dist/rules/src/factories/timeline-series.js +37 -41
  36. package/dist/rules/src/factories/timeline-series.js.map +1 -1
  37. package/dist/rules/src/get-values-enhanced.js +6 -0
  38. package/dist/rules/src/get-values-enhanced.js.map +1 -1
  39. package/dist/rules/src/index.js +6 -371
  40. package/dist/rules/src/index.js.map +1 -1
  41. package/dist/rules/src/layout.js +4 -2
  42. package/dist/rules/src/layout.js.map +1 -1
  43. package/dist/rules/src/observation-formater.js +8 -14
  44. package/dist/rules/src/observation-formater.js.map +1 -1
  45. package/dist/rules/src/properties/focus.js +51 -3
  46. package/dist/rules/src/properties/focus.js.map +1 -1
  47. package/dist/rules/src/properties/getHeaderProps.js +2 -53
  48. package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
  49. package/dist/rules/src/properties/index.js +7 -98
  50. package/dist/rules/src/properties/index.js.map +1 -1
  51. package/dist/rules/src/properties/linear.js +5 -5
  52. package/dist/rules/src/properties/linear.js.map +1 -1
  53. package/dist/rules/src/properties/scatter.js +5 -5
  54. package/dist/rules/src/properties/scatter.js.map +1 -1
  55. package/dist/rules/src/properties/stacked.js +5 -7
  56. package/dist/rules/src/properties/stacked.js.map +1 -1
  57. package/dist/rules/src/properties/symbol.js +1 -1
  58. package/dist/rules/src/properties/symbol.js.map +1 -1
  59. package/dist/rules/src/properties/utils.js +11 -12
  60. package/dist/rules/src/properties/utils.js.map +1 -1
  61. package/dist/rules/src/sdmx-data/index.js +2 -27
  62. package/dist/rules/src/sdmx-data/index.js.map +1 -1
  63. package/dist/rules2/src/combinedValuesDisplay.js +2 -2
  64. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
  65. package/dist/rules2/src/getAttributes.js +37 -0
  66. package/dist/rules2/src/getAttributes.js.map +1 -0
  67. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  68. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
  69. package/dist/rules2/src/getHeaderCombinations.js +1 -1
  70. package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
  71. package/dist/rules2/src/getHeaderSubtitle.js +1 -1
  72. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
  73. package/dist/rules2/src/getHeaderTitle.js +1 -1
  74. package/dist/rules2/src/getHeaderTitle.js.map +1 -1
  75. package/dist/rules2/src/getMetadataCoordinates.js +1 -1
  76. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
  77. package/dist/rules2/src/getNotDisplayedIds.js +1 -1
  78. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
  79. package/dist/rules2/src/index.js +1 -0
  80. package/dist/rules2/src/index.js.map +1 -1
  81. package/dist/rules2/src/parseAttributes.js +2 -2
  82. package/dist/rules2/src/parseAttributes.js.map +1 -1
  83. package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
  84. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
  85. package/dist/rules2/src/parseMetadataSeries.js +1 -1
  86. package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
  87. package/dist/rules2/src/prepareData.js +10 -3
  88. package/dist/rules2/src/prepareData.js.map +1 -1
  89. package/dist/rules2/src/refineDimensions.js +53 -8
  90. package/dist/rules2/src/refineDimensions.js.map +1 -1
  91. package/dist/rules2/src/table/getCells.js +1 -1
  92. package/dist/rules2/src/table/getCells.js.map +1 -1
  93. package/dist/rules2/src/table/getLayout.js +1 -1
  94. package/dist/rules2/src/table/getLayout.js.map +1 -1
  95. package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
  96. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
  97. package/dist/rules2/src/table/getTableProps.js +0 -1
  98. package/dist/rules2/src/table/getTableProps.js.map +1 -1
  99. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
  100. package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
  101. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
  102. package/dist/rules2/src/utils.js.map +1 -1
  103. package/dist/viewer/src/chart.js +13 -2
  104. package/dist/viewer/src/chart.js.map +1 -1
  105. package/dist/viewer/src/legends/FocusLegend.js +1 -1
  106. package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
  107. package/package.json +6 -5
  108. package/src/bridge-d3-react/src/index.js +0 -1
  109. package/src/rules/src/chart/getChartOptions.js +2 -2
  110. package/src/rules/src/constants.js +0 -35
  111. package/src/rules/src/dimension-utils.js +25 -23
  112. package/src/rules/src/factories/choro-series.js +41 -30
  113. package/src/rules/src/factories/focus.js +17 -0
  114. package/src/rules/src/factories/getChartSeries.js +8 -0
  115. package/src/rules/src/factories/sample-focus.js +14 -18
  116. package/src/rules/src/factories/sample-series.js +20 -20
  117. package/src/rules/src/factories/scatter-focus.js +22 -36
  118. package/src/rules/src/factories/scatter-series.js +8 -8
  119. package/src/rules/src/factories/series.js +45 -0
  120. package/src/rules/src/factories/stacked-series.js +4 -5
  121. package/src/rules/src/factories/symbol-series.js +37 -44
  122. package/src/rules/src/factories/timeline-focus.js +10 -14
  123. package/src/rules/src/factories/timeline-series.js +35 -39
  124. package/src/rules/src/get-values-enhanced.js +6 -0
  125. package/src/rules/src/index.js +7 -384
  126. package/src/rules/src/layout.js +4 -2
  127. package/src/rules/src/observation-formater.js +14 -20
  128. package/src/rules/src/properties/focus.js +50 -2
  129. package/src/rules/src/properties/getHeaderProps.js +1 -53
  130. package/src/rules/src/properties/index.js +2 -93
  131. package/src/rules/src/properties/linear.js +2 -2
  132. package/src/rules/src/properties/scatter.js +4 -4
  133. package/src/rules/src/properties/stacked.js +4 -6
  134. package/src/rules/src/properties/symbol.js +0 -1
  135. package/src/rules/src/properties/utils.js +11 -21
  136. package/src/rules/src/sdmx-data/index.js +2 -31
  137. package/src/rules2/src/combinedValuesDisplay.js +2 -2
  138. package/src/rules2/src/getAttributes.js +34 -0
  139. package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  140. package/src/rules2/src/getHeaderCombinations.js +1 -1
  141. package/src/rules2/src/getHeaderSubtitle.js +2 -2
  142. package/src/rules2/src/getHeaderTitle.js +1 -1
  143. package/src/rules2/src/getMetadataCoordinates.js +1 -1
  144. package/src/rules2/src/getNotDisplayedIds.js +1 -1
  145. package/src/rules2/src/index.js +1 -0
  146. package/src/rules2/src/parseAttributes.js +2 -2
  147. package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
  148. package/src/rules2/src/parseMetadataSeries.js +1 -1
  149. package/src/rules2/src/prepareData.js +10 -3
  150. package/src/rules2/src/refineDimensions.js +53 -8
  151. package/src/rules2/src/table/getCells.js +2 -2
  152. package/src/rules2/src/table/getLayout.js +2 -2
  153. package/src/rules2/src/table/getTableLayoutIds.js +9 -9
  154. package/src/rules2/src/table/getTableProps.js +0 -1
  155. package/src/rules2/src/table/parseValueHierarchy.js +0 -7
  156. package/src/rules2/src/table/refineLayoutSize2.js +5 -5
  157. package/src/rules2/src/utils.js +0 -11
  158. package/src/viewer/src/app/leg.js +0 -1
  159. package/src/viewer/src/chart.jsx +23 -1
  160. package/src/viewer/src/legends/FocusLegend.jsx +1 -1
  161. package/dist/rules/src/factories/scatter-dimension.js +0 -35
  162. package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
  163. package/dist/rules/src/factories/stacked-dimension.js +0 -32
  164. package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
  165. package/dist/rules/src/factories/symbol-dimension.js +0 -32
  166. package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
  167. package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
  168. package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
  169. package/dist/rules/src/header/getHeaderUnits.js +0 -21
  170. package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
  171. package/dist/rules/src/header/getSubtitleFlags.js +0 -47
  172. package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
  173. package/dist/rules/src/header/getTitleFlags.js +0 -12
  174. package/dist/rules/src/header/getTitleFlags.js.map +0 -1
  175. package/dist/rules/src/properties/errors.js +0 -22
  176. package/dist/rules/src/properties/errors.js.map +0 -1
  177. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
  178. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
  179. package/dist/rules/src/v8-transformer.js +0 -174
  180. package/dist/rules/src/v8-transformer.js.map +0 -1
  181. package/src/bridge-d3-react/src/app.js +0 -64
  182. package/src/bridge-d3-react/src/mock-choro.js +0 -394
  183. package/src/rules/src/factories/scatter-dimension.js +0 -32
  184. package/src/rules/src/factories/stacked-dimension.js +0 -29
  185. package/src/rules/src/factories/symbol-dimension.js +0 -29
  186. package/src/rules/src/header/getDefaultSubtitle.js +0 -40
  187. package/src/rules/src/header/getHeaderUnits.js +0 -17
  188. package/src/rules/src/header/getSubtitleFlags.js +0 -43
  189. package/src/rules/src/header/getTitleFlags.js +0 -8
  190. package/src/rules/src/header/index.js +0 -4
  191. package/src/rules/src/preparators/enhanceObservations.js +0 -152
  192. package/src/rules/src/properties/errors.js +0 -19
  193. package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
  194. package/src/rules/src/properties/information.js +0 -84
  195. package/src/rules/src/v8-transformer.js +0 -177
  196. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
  197. package/src/rules2/src/getMetadataStructureFromData.js +0 -17
  198. package/src/rules2/src/refineMetadataCoordinates.js +0 -28
  199. package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/rules/src/properties/index.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getDataFrequency } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { series } from '../';\nimport {\n H_SYMBOL,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n TIMELINE,\n V_SYMBOL,\n} from '../constants';\nimport {\n onChangeFocusSelection,\n focusOptions,\n sampleFocusStateFromNewProps,\n} from './focus';\nimport {\n isScatter,\n onChangeScatterDim,\n onChangeScatterVal,\n scatterStateFromNewProps,\n scatterStateValueToOption,\n scatterValueOptions,\n toScatterSingularity,\n} from './scatter';\nimport {\n isSymbol,\n onChangeSymbolDim,\n symbolStateFromNewProps,\n toSymbolSingularity,\n} from './symbol';\nimport {\n isStacked,\n isStackedDimActive,\n onChangeStackedDimension,\n onChangeStackedMode,\n stackedModeOptions,\n stackedStateFromNewProps,\n toStackedSingularity\n} from './stacked';\nimport {\n linearStateFromNewProps,\n initialState as linearInitialState,\n toProperties as toLinearProperties\n} from './linear';\nimport {\n chartDimensionOptions,\n chartDimensionToOption,\n hasFocus,\n isChart,\n isNaturalInt,\n isNumber,\n optionParser,\n} from './utils';\nimport { getTitleLabel, getSubtitle, getSourceLabel } from './getHeaderProps';\nimport { stringifySubtitle } from './getStringifiedSubtitle';\nimport { getHasNoTimePeriodError } from './errors';\n/*\n - width/height -> initial undefined, if undefined or blank, replaced by options.base\n*/\n\nexport const toSingularity = ({ data, type }, state) => {\n switch(type) {\n case SCATTER:\n return toScatterSingularity(state);\n case H_SYMBOL: case V_SYMBOL:\n return toSymbolSingularity(data, state);\n case STACKED_BAR: case STACKED_ROW:\n return toStackedSingularity(state);\n default:\n return null;\n }\n};\n\nexport const toChartData = (props, state) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], props);\n const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], props);\n const frequency = props.type === TIMELINE ? getDataFrequency({ dimensions, attributes }) : null;\n return ({\n frequency,\n series: series(\n props.data,\n props.type,\n R.pick(['highlight', 'baseline'], state),\n toSingularity(props, state),\n props.map,\n props.display,\n props.formaterIds\n ),\n share: {\n focused: R.pick(['highlight', 'baseline'], state),\n chartDimension: toSingularity(props, state),\n }\n });\n};\n\nexport const getErrors = (props, state) => ({\n noTime: getHasNoTimePeriodError(props),\n});\n\nconst toFloat = (value) => {\n const float = parseFloat(value);\n return isNaN(float) ? undefined : float;\n}\n\nconst toOption = (stateValue, optionValue) => R.isNil(stateValue)\n ? optionValue : toFloat(stateValue);\n\nconst getFreqStepOption = (props, state) => {\n if (props.type !== TIMELINE) {\n return null;\n }\n const inputState = toFloat(state.freqStep);\n return R.isNil(inputState) ? 1 : inputState;\n};\n\nexport const toChartOptions = (props, state) => {\n const options = R.propOr({}, 'options', props);\n const base = R.propOr({}, 'base', options);\n const axis = R.propOr({}, 'axis', options);\n const axeX = R.propOr({}, 'x', axis);\n const axeY = R.propOr({}, 'y', axis);\n const linearX = R.propOr({}, 'linear', axeX);\n const linearY = R.propOr({}, 'linear', axeY);\n const tickX = R.propOr({}, 'tick', axeX);\n const pivotX = R.propOr({}, 'pivot', linearX);\n const pivotY = R.propOr({}, 'pivot', linearY);\n const map = R.propOr({}, 'map', props);\n return ({\n ...options,\n axis: {\n ...axis,\n x: {\n ...axeX,\n tick: {\n ...tickX,\n step: getFreqStepOption(props, state)\n },\n linear: {\n ...linearX,\n max: toOption(state.maxX, linearX.max),\n min: toOption(state.minX, linearX.min),\n pivot: {\n value: toOption(state.pivotX, pivotX.value)\n },\n step: toOption(\n props.type === TIMELINE ? 1 : state.stepX,\n linearX.step\n ),\n }\n },\n y: {\n ...axeY,\n linear: {\n ...linearY,\n max: toOption(state.maxY, linearY.max),\n min: toOption(state.minY, linearY.min),\n pivot: {\n value: toOption(state.pivotY, pivotY.value)\n },\n step: toOption(state.stepY, linearY.step),\n }\n }\n },\n map: R.pick(['projection', 'scale'], map),\n base: {\n ...base,\n height: toOption(state.fixedHeight, base.height),\n width: toOption(state.fixedWidth, base.width),\n },\n });\n};\n\nexport const initialState = {\n highlight: [],\n baseline: [],\n fixedWidth: undefined,\n fixedHeight: undefined,\n freqStep: undefined,\n responsiveWidth: undefined,\n responsiveHeight: undefined,\n scatterDimension: undefined,\n scatterX: undefined,\n scatterY: undefined,\n symbolDimension: undefined,\n stackedDimension: undefined,\n stackedMode: undefined,\n id: undefined,\n type: undefined,\n ...linearInitialState,\n};\n\nexport const stateFromNewProps = (props, state) => {\n const focusState = sampleFocusStateFromNewProps(props, state);\n const scatterState = scatterStateFromNewProps(props, state);\n const symbolState = symbolStateFromNewProps(props, state);\n const stackedState = stackedStateFromNewProps(props, state);\n const linearState = linearStateFromNewProps(props.type);\n return ({\n ...focusState,\n ...scatterState,\n ...symbolState,\n ...stackedState,\n ...linearState,\n fixedWidth: R.prop('fixedWidth', state),\n fixedHeight: R.prop('fixedHeight', state),\n responsiveWidth: R.prop('responsiveWidth', state),\n responsiveHeight: R.prop('responsiveHeight', state),\n freqStep: props.type === TIMELINE\n ? R.prop('freqStep', state) || '1' : undefined,\n type: R.prop('type', props),\n });\n};\n\nconst propertiesParsers = {\n highlight: onChangeFocusSelection,\n baseline: onChangeFocusSelection,\n fixedWidth: (value) => isNaturalInt(value) ? value : undefined,\n fixedHeight: (value) => isNaturalInt(value) ? value : undefined,\n responsiveWidth: (value) => isNumber(value) ? value : undefined,\n responsiveHeight: (value) => isNumber(value) ? value : undefined,\n freqStep: (value) => isNaturalInt(value) ? value : undefined,\n title: R.identity,\n subtitle: R.identity,\n sourceLabel: R.identity,\n scatterDimension: optionParser,\n scatterX: optionParser,\n scatterY: optionParser,\n symbolDimension: optionParser,\n stackedDimension: optionParser,\n stackedMode: optionParser,\n maxX: (value) => isNumber(value) ? value : undefined,\n maxY: (value) => isNumber(value) ? value : undefined,\n minX: (value) => isNumber(value) ? value : undefined,\n minY: (value) => isNumber(value) ? value : undefined,\n pivotX: (value) => isNumber(value) ? value : undefined,\n pivotY: (value) => isNumber(value) ? value : undefined,\n stepX: (value) => isNaturalInt(value) ? value : undefined,\n stepY: (value) => isNaturalInt(value) ? value : undefined,\n};\n\nexport const onChangeProperties = (state, onChange) => (newProperties) => {\n const apply = R.is(Function, onChange) ? onChange : R.identity;\n const refined = R.pipe(\n R.mapObjIndexed((value, key) => {\n const _parser = R.prop(key, propertiesParsers);\n const parser = R.is(Function, _parser) ? _parser : R.identity;\n return parser(value); \n }),\n R.pickBy((value, key) => value !== R.prop(key, state))\n )(newProperties);\n if (R.isEmpty(refined)) {\n return ;\n }\n apply(refined);\n};\n\nexport const toProperties = (props, state, onChange) => ({\n ...toLinearProperties(props, state, onChange),\n highlight: {\n id: 'highlight',\n isActive: hasFocus(props.type),\n onChange: R.pipe(\n onChangeFocusSelection,\n selection => {\n onChange({ highlight: selection });\n }\n ),\n options: focusOptions(\n props,\n state,\n 'baseline',\n toSingularity(props, state)\n ),\n value: R.prop('highlight', state),\n },\n baseline: {\n id: 'baseline',\n isActive: hasFocus(props.type),\n onChange: R.pipe(\n onChangeFocusSelection,\n selection => onChange({ baseline: selection })\n ),\n options: focusOptions(\n props,\n state,\n 'highlight',\n toSingularity(props, state)\n ),\n value: R.prop('baseline', state),\n },\n width: {\n id: 'width',\n isActive: isChart(props.type),\n onChange: (value) => onChange({\n fixedWidth: isNaturalInt(value) ? value : undefined\n }),\n placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveWidth),\n value: R.prop('fixedWidth', state),\n },\n height: {\n id: 'height',\n isActive: isChart(props.type),\n onChange: (value) => onChange({\n fixedHeight: isNaturalInt(value) ? value : undefined\n }),\n placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveHeight),\n },\n freqStep: {\n id: 'freqStep',\n isActive: props.type === TIMELINE,\n onChange: (value) => onChange({\n freqStep: isNaturalInt(value) ? String(value) : undefined\n }),\n value: R.prop('freqStep', state),\n },\n title: {\n id: 'title',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.title),\n onChange: (value) => onChange({ title: value }),\n value: R.isNil(state.title) || R.isEmpty(state.title)\n ? R.pathOr('', ['title', 'label'], props) : state.title,\n onReset: R.isNil(state.title)\n ? null : () => onChange({ title: null })\n },\n subtitle: {\n id: 'subtitle',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.subtitle),\n onChange: (value) => onChange({ subtitle: value }),\n value: R.isNil(state.subtitle) || R.isEmpty(state.subtitle)\n ? stringifySubtitle(props.subtitle || []) : state.subtitle,\n onReset: R.isNil(state.subtitle)\n ? null : () => onChange({ subtitle: null })\n },\n source: {\n id: 'source',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.sourceLabel),\n onChange: (value) => onChange({ sourceLabel: value }),\n value: getSourceLabel(props, state),\n onReset: R.isNil(state.sourceLabel)\n ? null : () => onChange({ sourceLabel: null })\n },\n scatterDimension: {\n id: 'scatterDimension',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterDim(props, state),\n onChange\n ),\n options: chartDimensionOptions(props, isScatter),\n value: chartDimensionToOption('scatterDimension')(props, state),\n },\n scatterX: {\n id: 'scatterX',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterVal(props, state, 'scatterX', 'scatterY'),\n onChange\n ),\n options: scatterValueOptions(props, state),\n value: scatterStateValueToOption('scatterX', props, state),\n },\n scatterY: {\n id: 'scatterY',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterVal(props, state, 'scatterY', 'scatterX'),\n onChange\n ),\n options: scatterValueOptions(props, state),\n value: scatterStateValueToOption('scatterY', props, state),\n },\n symbolDimension: {\n id: 'symbolDimension',\n isActive: isSymbol(props.type),\n options: chartDimensionOptions(props, isSymbol),\n onChange: R.pipe(\n optionParser,\n onChangeSymbolDim(props),\n onChange\n ),\n value: chartDimensionToOption('symbolDimension')(props, state)\n },\n stackedDimension: {\n id: 'stackedDimension',\n isActive: isStackedDimActive(props),\n options: chartDimensionOptions(props, isStacked),\n onChange: R.pipe(\n optionParser,\n onChangeStackedDimension(props, state),\n onChange,\n ),\n value: chartDimensionToOption('stackedDimension')(props, state)\n },\n stackedMode: {\n id: 'stackedMode',\n isActive: isStacked(props.type),\n options: stackedModeOptions,\n onChange: R.pipe(\n optionParser,\n onChangeStackedMode,\n onChange\n ),\n value: R.prop('stackedMode', state)\n },\n logo: {\n id: 'logo',\n isActive: isChart(props.type),\n checked: !state.withLogo,\n onChange: () => onChange({ withLogo: !state.withLogo })\n },\n copyright: {\n id: 'copyright',\n isActive: isChart(props.type),\n checked: !state.withCopyright,\n onChange: () => onChange({ withCopyright: !state.withCopyright })\n }\n});\n"],"names":["linearInitialState","toLinearProperties"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/rules/src/properties/index.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n H_SYMBOL,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n TIMELINE,\n V_SYMBOL,\n} from '../constants';\nimport {\n onChangeFocusSelection,\n focusOptions,\n sampleFocusStateFromNewProps,\n} from './focus';\nimport {\n isScatter,\n onChangeScatterDim,\n onChangeScatterVal,\n scatterStateFromNewProps,\n scatterStateValueToOption,\n scatterValueOptions,\n toScatterSingularity,\n} from './scatter';\nimport {\n isSymbol,\n onChangeSymbolDim,\n symbolStateFromNewProps,\n toSymbolSingularity,\n} from './symbol';\nimport {\n isStacked,\n isStackedDimActive,\n onChangeStackedDimension,\n onChangeStackedMode,\n stackedModeOptions,\n stackedStateFromNewProps,\n toStackedSingularity\n} from './stacked';\nimport {\n linearStateFromNewProps,\n initialState as linearInitialState,\n toProperties as toLinearProperties\n} from './linear';\nimport {\n chartDimensionOptions,\n chartDimensionToOption,\n hasFocus,\n isChart,\n isNaturalInt,\n optionParser,\n} from './utils';\nimport { getSourceLabel } from './getHeaderProps';\nimport { stringifySubtitle } from './getStringifiedSubtitle';\n\n/*\n - width/height -> initial undefined, if undefined or blank, replaced by options.base\n*/\n\nexport const toSingularity = ({ data, type }, state) => {\n switch(type) {\n case SCATTER:\n return toScatterSingularity(state);\n case H_SYMBOL: case V_SYMBOL:\n return toSymbolSingularity(data, state);\n case STACKED_BAR: case STACKED_ROW:\n return toStackedSingularity(state);\n default:\n return null;\n }\n};\n\nconst toFloat = (value) => {\n const float = parseFloat(value);\n return isNaN(float) ? undefined : float;\n}\n\nconst toOption = (stateValue, optionValue) => R.isNil(stateValue)\n ? optionValue : toFloat(stateValue);\n\nconst getFreqStepOption = (props, state) => {\n if (props.type !== TIMELINE) {\n return null;\n }\n const inputState = toFloat(state.freqStep);\n return R.isNil(inputState) ? 1 : inputState;\n};\n\nexport const toChartOptions = (props, state) => {\n const options = R.propOr({}, 'options', props);\n const base = R.propOr({}, 'base', options);\n const axis = R.propOr({}, 'axis', options);\n const axeX = R.propOr({}, 'x', axis);\n const axeY = R.propOr({}, 'y', axis);\n const linearX = R.propOr({}, 'linear', axeX);\n const linearY = R.propOr({}, 'linear', axeY);\n const tickX = R.propOr({}, 'tick', axeX);\n const pivotX = R.propOr({}, 'pivot', linearX);\n const pivotY = R.propOr({}, 'pivot', linearY);\n const map = R.propOr({}, 'map', props);\n return ({\n ...options,\n axis: {\n ...axis,\n x: {\n ...axeX,\n tick: {\n ...tickX,\n step: getFreqStepOption(props, state)\n },\n linear: {\n ...linearX,\n max: toOption(state.maxX, linearX.max),\n min: toOption(state.minX, linearX.min),\n pivot: {\n value: toOption(state.pivotX, pivotX.value)\n },\n step: toOption(\n props.type === TIMELINE ? 1 : state.stepX,\n linearX.step\n ),\n }\n },\n y: {\n ...axeY,\n linear: {\n ...linearY,\n max: toOption(state.maxY, linearY.max),\n min: toOption(state.minY, linearY.min),\n pivot: {\n value: toOption(state.pivotY, pivotY.value)\n },\n step: toOption(state.stepY, linearY.step),\n }\n }\n },\n map: R.pick(['projection', 'scale'], map),\n base: {\n ...base,\n height: toOption(state.fixedHeight, base.height),\n width: toOption(state.fixedWidth, base.width),\n },\n });\n};\n\nexport const stateFromNewProps = (props, state) => {\n const focusState = sampleFocusStateFromNewProps(props, state);\n const scatterState = scatterStateFromNewProps(props, state);\n const symbolState = symbolStateFromNewProps(props, state);\n const stackedState = stackedStateFromNewProps(props, state);\n const linearState = linearStateFromNewProps(props.type);\n return ({\n ...focusState,\n ...scatterState,\n ...symbolState,\n ...stackedState,\n ...linearState,\n fixedWidth: R.prop('fixedWidth', state),\n fixedHeight: R.prop('fixedHeight', state),\n responsiveWidth: R.prop('responsiveWidth', state),\n responsiveHeight: R.prop('responsiveHeight', state),\n freqStep: props.type === TIMELINE\n ? R.prop('freqStep', state) || '1' : undefined,\n type: R.prop('type', props),\n });\n};\n\nexport const toProperties = (props, state, onChange) => ({\n ...toLinearProperties(props, state, onChange),\n highlight: {\n id: 'highlight',\n isActive: hasFocus(props.type),\n onChange: R.pipe(\n onChangeFocusSelection,\n selection => {\n onChange({ highlight: selection });\n }\n ),\n options: focusOptions(\n props,\n state,\n 'baseline',\n toSingularity(props, state)\n ),\n value: R.prop('highlight', state),\n },\n baseline: {\n id: 'baseline',\n isActive: hasFocus(props.type),\n onChange: R.pipe(\n onChangeFocusSelection,\n selection => onChange({ baseline: selection })\n ),\n options: focusOptions(\n props,\n state,\n 'highlight',\n toSingularity(props, state)\n ),\n value: R.prop('baseline', state),\n },\n width: {\n id: 'width',\n isActive: isChart(props.type),\n onChange: (value) => onChange({\n fixedWidth: isNaturalInt(value) ? value : undefined\n }),\n placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveWidth),\n value: R.prop('fixedWidth', state),\n },\n height: {\n id: 'height',\n isActive: isChart(props.type),\n onChange: (value) => onChange({\n fixedHeight: isNaturalInt(value) ? value : undefined\n }),\n placeholder: R.when(R.complement(R.isNil), (value) => String(Math.floor(Number(value))))(state.responsiveHeight),\n },\n freqStep: {\n id: 'freqStep',\n isActive: props.type === TIMELINE,\n onChange: (value) => onChange({\n freqStep: isNaturalInt(value) ? String(value) : undefined\n }),\n value: R.prop('freqStep', state),\n },\n title: {\n id: 'title',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.title),\n onChange: (value) => onChange({ title: value }),\n value: R.isNil(state.title) || R.isEmpty(state.title)\n ? R.pathOr('', ['title', 'label'], props) : state.title,\n onReset: R.isNil(state.title)\n ? null : () => onChange({ title: null })\n },\n subtitle: {\n id: 'subtitle',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.subtitle),\n onChange: (value) => onChange({ subtitle: value }),\n value: R.isNil(state.subtitle) || R.isEmpty(state.subtitle)\n ? stringifySubtitle(props.subtitle || []) : state.subtitle,\n onReset: R.isNil(state.subtitle)\n ? null : () => onChange({ subtitle: null })\n },\n source: {\n id: 'source',\n isActive: isChart(props.type),\n isDefault: R.isNil(state.sourceLabel),\n onChange: (value) => onChange({ sourceLabel: value }),\n value: getSourceLabel(props, state),\n onReset: R.isNil(state.sourceLabel)\n ? null : () => onChange({ sourceLabel: null })\n },\n scatterDimension: {\n id: 'scatterDimension',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterDim(props, state),\n onChange\n ),\n options: chartDimensionOptions(props, isScatter),\n value: chartDimensionToOption('scatterDimension')(props, state),\n },\n scatterX: {\n id: 'scatterX',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterVal(props, state, 'scatterX', 'scatterY'),\n onChange\n ),\n options: scatterValueOptions(props, state),\n value: scatterStateValueToOption('scatterX', props, state),\n },\n scatterY: {\n id: 'scatterY',\n isActive: isScatter(props.type),\n onChange: R.pipe(\n optionParser,\n onChangeScatterVal(props, state, 'scatterY', 'scatterX'),\n onChange\n ),\n options: scatterValueOptions(props, state),\n value: scatterStateValueToOption('scatterY', props, state),\n },\n symbolDimension: {\n id: 'symbolDimension',\n isActive: isSymbol(props.type),\n options: chartDimensionOptions(props, isSymbol),\n onChange: R.pipe(\n optionParser,\n onChangeSymbolDim(props),\n onChange\n ),\n value: chartDimensionToOption('symbolDimension')(props, state)\n },\n stackedDimension: {\n id: 'stackedDimension',\n isActive: isStackedDimActive(props),\n options: chartDimensionOptions(props, isStacked),\n onChange: R.pipe(\n optionParser,\n onChangeStackedDimension(props, state),\n onChange,\n ),\n value: chartDimensionToOption('stackedDimension')(props, state)\n },\n stackedMode: {\n id: 'stackedMode',\n isActive: isStacked(props.type),\n options: stackedModeOptions,\n onChange: R.pipe(\n optionParser,\n onChangeStackedMode,\n onChange\n ),\n value: R.prop('stackedMode', state)\n },\n logo: {\n id: 'logo',\n isActive: isChart(props.type),\n checked: !state.withLogo,\n onChange: () => onChange({ withLogo: !state.withLogo })\n },\n copyright: {\n id: 'copyright',\n isActive: isChart(props.type),\n checked: !state.withCopyright,\n onChange: () => onChange({ withCopyright: !state.withCopyright })\n }\n});\n"],"names":["toLinearProperties"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as R from 'ramda';
2
- import { BAR, STACKED_BAR, ROW, STACKED_ROW, SCATTER, TIMELINE, V_SYMBOL, H_SYMBOL } from '../constants.js';
2
+ import { BAR, STACKED_BAR, ROW, STACKED_ROW, H_SYMBOL, SCATTER, TIMELINE, V_SYMBOL } from '../constants.js';
3
3
  import { isPositiveNumber, isNumber } from './utils.js';
4
4
  import { isStacked } from './stacked.js';
5
5
 
@@ -32,7 +32,7 @@ const yInitialState = {
32
32
  stepY: undefined,
33
33
  };
34
34
 
35
- const initialState = { ...xInitialState, ...yInitialState };
35
+ ({ ...yInitialState });
36
36
 
37
37
  const linearStateFromNewProps = (type) => {
38
38
  const xLinearState = hasXLinear(type) ? {} : xInitialState;
@@ -86,7 +86,7 @@ const toProperties = (props, state, onChange) => ({
86
86
  pivotX: isNumber(value) ? value : undefined
87
87
  }),
88
88
  value: R.when(
89
- v => R.isNil(v) && (R.propEq('type', ROW)(props) || R.propEq('type', STACKED_ROW)(props)),
89
+ v => R.isNil(v) && (R.propEq(ROW, 'type')(props) || R.propEq(STACKED_ROW, 'type')(props)),
90
90
  R.always(0)
91
91
  )(R.isNil(state.pivotX) ? String(state.computedPivotX) : state.pivotX)
92
92
  },
@@ -97,7 +97,7 @@ const toProperties = (props, state, onChange) => ({
97
97
  pivotY: isNumber(value) ? value : undefined
98
98
  }),
99
99
  value: R.when(
100
- v => R.isNil(v) && (R.propEq('type', BAR)(props) || R.propEq('type', STACKED_BAR)(props)),
100
+ v => R.isNil(v) && (R.propEq(BAR, 'type')(props) || R.propEq(STACKED_BAR, 'type')(props)),
101
101
  R.always(0)
102
102
  )(R.isNil(state.pivotY) ? String(state.computedPivotY) : state.pivotY)
103
103
  },
@@ -119,5 +119,5 @@ const toProperties = (props, state, onChange) => ({
119
119
  },
120
120
  });
121
121
 
122
- export { initialState, linearStateFromNewProps, toProperties };
122
+ export { linearStateFromNewProps, toProperties };
123
123
  //# sourceMappingURL=linear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sources":["../../../../src/rules/src/properties/linear.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n BAR,\n H_SYMBOL,\n ROW,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n TIMELINE,\n V_SYMBOL,\n} from '../constants';\nimport { isNumber, isPositiveNumber } from './utils';\nimport { isStacked } from './stacked';\n\nconst hasXLinear = (type) => R.includes(type, [H_SYMBOL, ROW, SCATTER, STACKED_ROW]);\n\nconst hasYLinear = (type) => R.includes(type, [BAR, SCATTER, STACKED_BAR, TIMELINE, V_SYMBOL]);\n\nconst hasXPivot = (type) => R.equals(ROW, type);\nconst hasYPivot = (type) => R.equals(BAR, type);\n\nconst xInitialState = {\n computedMaxX: undefined,\n computedMinX: undefined,\n computedStepX: undefined,\n computedPivotX: undefined,\n maxX: undefined,\n minX: undefined,\n pivotX: undefined,\n stepX: undefined,\n};\n\nconst yInitialState = {\n computedMaxY: undefined,\n computedMinY: undefined,\n computedStepY: undefined,\n computedPivotY: undefined,\n maxY: undefined,\n minY: undefined,\n pivotY: undefined,\n stepY: undefined,\n};\n\nexport const initialState = { ...xInitialState, ...yInitialState };\n\nexport const linearStateFromNewProps = (type) => {\n const xLinearState = hasXLinear(type) ? {} : xInitialState;\n const YLinearState = hasYLinear(type) ? {} : yInitialState;\n return ({\n ...xLinearState,\n ...R.when(\n R.always(isStacked(type)),\n R.assoc('pivotY', 0)\n )(YLinearState),\n });\n};\n\nexport const toProperties = (props, state, onChange) => ({\n maxX: {\n id: 'maxX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n maxX: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.maxX) ? String(state.computedMaxX) : state.maxX\n },\n maxY: {\n id: 'maxY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n maxY: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.maxY) ? String(state.computedMaxY) : state.maxY\n },\n minX: {\n id: 'minX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n minX: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.minX) ? String(state.computedMinX) : state.minX\n },\n minY: {\n id: 'minY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n minY: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.minY) ? String(state.computedMinY) : state.minY\n },\n pivotX: {\n id: 'pivotX',\n isActive: hasXPivot(props.type),\n onChange: (value) => onChange({\n pivotX: isNumber(value) ? value : undefined\n }),\n value: R.when(\n v => R.isNil(v) && (R.propEq('type', ROW)(props) || R.propEq('type', STACKED_ROW)(props)),\n R.always(0)\n )(R.isNil(state.pivotX) ? String(state.computedPivotX) : state.pivotX)\n },\n pivotY: {\n id: 'pivotY',\n isActive: hasYPivot(props.type),\n onChange: (value) => onChange({\n pivotY: isNumber(value) ? value : undefined\n }),\n value: R.when(\n v => R.isNil(v) && (R.propEq('type', BAR)(props) || R.propEq('type', STACKED_BAR)(props)),\n R.always(0)\n )(R.isNil(state.pivotY) ? String(state.computedPivotY) : state.pivotY)\n },\n stepX: {\n id: 'stepX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n stepX: isPositiveNumber(value) ? value : undefined\n }),\n value: R.isNil(state.stepX) ? String(state.computedStepX) : state.stepX\n },\n stepY: {\n id: 'stepY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n stepY: isPositiveNumber(value) ? value : undefined\n }),\n value: R.isNil(state.stepY) ? String(state.computedStepY) : state.stepY\n },\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linear.js","sources":["../../../../src/rules/src/properties/linear.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n BAR,\n H_SYMBOL,\n ROW,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n TIMELINE,\n V_SYMBOL,\n} from '../constants';\nimport { isNumber, isPositiveNumber } from './utils';\nimport { isStacked } from './stacked';\n\nconst hasXLinear = (type) => R.includes(type, [H_SYMBOL, ROW, SCATTER, STACKED_ROW]);\n\nconst hasYLinear = (type) => R.includes(type, [BAR, SCATTER, STACKED_BAR, TIMELINE, V_SYMBOL]);\n\nconst hasXPivot = (type) => R.equals(ROW, type);\nconst hasYPivot = (type) => R.equals(BAR, type);\n\nconst xInitialState = {\n computedMaxX: undefined,\n computedMinX: undefined,\n computedStepX: undefined,\n computedPivotX: undefined,\n maxX: undefined,\n minX: undefined,\n pivotX: undefined,\n stepX: undefined,\n};\n\nconst yInitialState = {\n computedMaxY: undefined,\n computedMinY: undefined,\n computedStepY: undefined,\n computedPivotY: undefined,\n maxY: undefined,\n minY: undefined,\n pivotY: undefined,\n stepY: undefined,\n};\n\nexport const initialState = { ...xInitialState, ...yInitialState };\n\nexport const linearStateFromNewProps = (type) => {\n const xLinearState = hasXLinear(type) ? {} : xInitialState;\n const YLinearState = hasYLinear(type) ? {} : yInitialState;\n return ({\n ...xLinearState,\n ...R.when(\n R.always(isStacked(type)),\n R.assoc('pivotY', 0)\n )(YLinearState),\n });\n};\n\nexport const toProperties = (props, state, onChange) => ({\n maxX: {\n id: 'maxX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n maxX: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.maxX) ? String(state.computedMaxX) : state.maxX\n },\n maxY: {\n id: 'maxY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n maxY: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.maxY) ? String(state.computedMaxY) : state.maxY\n },\n minX: {\n id: 'minX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n minX: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.minX) ? String(state.computedMinX) : state.minX\n },\n minY: {\n id: 'minY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n minY: isNumber(value) ? value : undefined\n }),\n value: R.isNil(state.minY) ? String(state.computedMinY) : state.minY\n },\n pivotX: {\n id: 'pivotX',\n isActive: hasXPivot(props.type),\n onChange: (value) => onChange({\n pivotX: isNumber(value) ? value : undefined\n }),\n value: R.when(\n v => R.isNil(v) && (R.propEq(ROW, 'type')(props) || R.propEq(STACKED_ROW, 'type')(props)),\n R.always(0)\n )(R.isNil(state.pivotX) ? String(state.computedPivotX) : state.pivotX)\n },\n pivotY: {\n id: 'pivotY',\n isActive: hasYPivot(props.type),\n onChange: (value) => onChange({\n pivotY: isNumber(value) ? value : undefined\n }),\n value: R.when(\n v => R.isNil(v) && (R.propEq(BAR, 'type')(props) || R.propEq(STACKED_BAR, 'type')(props)),\n R.always(0)\n )(R.isNil(state.pivotY) ? String(state.computedPivotY) : state.pivotY)\n },\n stepX: {\n id: 'stepX',\n isActive: hasXLinear(props.type),\n onChange: (value) => onChange({\n stepX: isPositiveNumber(value) ? value : undefined\n }),\n value: R.isNil(state.stepX) ? String(state.computedStepX) : state.stepX\n },\n stepY: {\n id: 'stepY',\n isActive: hasYLinear(props.type),\n onChange: (value) => onChange({\n stepY: isPositiveNumber(value) ? value : undefined\n }),\n value: R.isNil(state.stepY) ? String(state.computedStepY) : state.stepY\n },\n});\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as R from 'ramda';
2
2
  import { isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
3
  import { SCATTER } from '../constants.js';
4
- import { getPropertyDimension, artefactToOption, toState, getDimensionsWithValues } from './utils.js';
4
+ import { getDimensionsWithValues, artefactToOption, toState, getPropertyDimension } from './utils.js';
5
5
  import { focusStateFromNewProps } from './focus.js';
6
6
 
7
7
  const getScatterDimension = getPropertyDimension('scatterDimension');
@@ -61,7 +61,7 @@ const scatterStateValueToOption = (property, props, state) => {
61
61
  return undefined;
62
62
  }
63
63
  const value = R.find(
64
- R.propEq('id', R.prop(property, state)),
64
+ R.propEq(R.prop(property, state), 'id'),
65
65
  R.prop('values', dimension)
66
66
  );
67
67
  return artefactToOption(props.display)(value);
@@ -69,7 +69,7 @@ const scatterStateValueToOption = (property, props, state) => {
69
69
 
70
70
  const onChangeScatterVal = ({ data, type }, state, valKey, otherValKey) => (value) => {
71
71
  const options = scatterValueOptions({ data, type }, state);
72
- const [matching, otherOptions] = R.partition(R.propEq('value', value), options);
72
+ const [matching, otherOptions] = R.partition(R.propEq(value, 'value'), options);
73
73
  if (R.isEmpty(matching)) {
74
74
  return ({});
75
75
  }
@@ -130,10 +130,10 @@ const scatterStateFromNewProps = (props, state) => {
130
130
 
131
131
  //dirty as f
132
132
  const scatterX = R.isNil(_scatterX)
133
- ? R.head(R.reject(R.propEq('id', R.prop('id', _scatterY)), values))
133
+ ? R.head(R.reject(R.propEq(R.prop('id', _scatterY), 'id'), values))
134
134
  : _scatterX;
135
135
  const scatterY = R.isNil(_scatterY)
136
- ? R.head(R.reject(R.propEq('id', R.prop('id', scatterX)), values))
136
+ ? R.head(R.reject(R.propEq(R.prop('id', scatterX),'id'), values))
137
137
  : _scatterY;
138
138
 
139
139
  const scatterState = toScatterState(
@@ -1 +1 @@
1
- {"version":3,"file":"scatter.js","sources":["../../../../src/rules/src/properties/scatter.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { SCATTER } from '../constants';\nimport {\n artefactToOption,\n getDimensionsWithValues,\n getPropertyDimension,\n toState,\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getScatterDimension = getPropertyDimension('scatterDimension');\n\nconst toScatterState = (dim, xVal, yVal) => ({\n scatterDimension: toState(dim),\n scatterX: toState(xVal),\n scatterY: toState(yVal),\n});\n\nexport const toScatterSingularity = (state) => ({\n id: R.prop('scatterDimension', state),\n xId: R.prop('scatterX', state),\n yId: R.prop('scatterY', state),\n}); \n\nexport const isScatter = (type) => type === SCATTER;\n\nexport const scatterValueOptions = ({ data, type, display }, state) => {\n if (!isScatter(type)) {\n return [];\n }\n const scatterDimension = getScatterDimension(data, state);\n if (R.isNil(scatterDimension)) {\n return [];\n }\n return R.map(\n artefactToOption(display),\n R.prop('values', scatterDimension)\n );\n};\n\nexport const onChangeScatterDim = (props, state) => (value) => {\n const { data } = props;\n const dimension = getScatterDimension(data, { scatterDimension: value });\n if (R.isNil(dimension)) {\n return ({});\n }\n\n const [xVal, yVal] = R.take(2, R.prop('values', dimension));\n\n const newScatterState = toScatterState(dimension, xVal, yVal);\n\n return ({\n ...newScatterState,\n ...focusStateFromNewProps(\n props,\n toScatterSingularity(newScatterState),\n state\n )\n });\n};\n\nexport const scatterStateValueToOption = (property, props, state) => {\n const dimension = getScatterDimension(props.data, state);\n if (R.isNil(dimension) || !isScatter(props.type)) {\n return undefined;\n }\n const value = R.find(\n R.propEq('id', R.prop(property, state)),\n R.prop('values', dimension)\n );\n return artefactToOption(props.display)(value);\n};\n\nexport const onChangeScatterVal = ({ data, type }, state, valKey, otherValKey) => (value) => {\n const options = scatterValueOptions({ data, type }, state);\n const [matching, otherOptions] = R.partition(R.propEq('value', value), options);\n if (R.isEmpty(matching)) {\n return ({});\n }\n const stateOtherValue = R.prop(otherValKey, state);\n return ({\n [valKey]: value,\n [otherValKey]: stateOtherValue === value\n ? R.prop('value', R.head(otherOptions))\n : stateOtherValue \n }); \n};\n\n//----------------------------------------------------------------------------------------------------\n\nexport const scatterStateFromNewProps = (props, state) => {\n const { data, type } = props;\n const undefinedState = toScatterState(undefined, undefined, undefined);\n if (!isScatter(type)) {\n return undefinedState;\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...undefinedState, highlight: [], baseline: [] };\n }\n\n let scatterDimension = getScatterDimension(props.data, state);\n if (R.isNil(scatterDimension)) {\n const refinedDimensions = R.reject(isRefAreaDimension, dimensions);\n scatterDimension = R.head(R.isEmpty(refinedDimensions) ? dimensions : refinedDimensions);\n }\n\n const values = R.prop('values', scatterDimension);\n\n const stateScatterX = R.prop('scatterX', state);\n let stateScatterY = R.prop('scatterY', state);\n\n if (stateScatterX === stateScatterY) {\n stateScatterY = undefined;\n }\n\n let _scatterX = undefined;\n let _scatterY = undefined;\n\n R.forEach(\n (value) => {\n if (R.prop('id', value) === stateScatterX) {\n _scatterX = value;\n }\n else if (R.prop('id', value) === stateScatterY) {\n _scatterY = value;\n }\n },\n values\n );\n\n //dirty as f\n const scatterX = R.isNil(_scatterX)\n ? R.head(R.reject(R.propEq('id', R.prop('id', _scatterY)), values))\n : _scatterX;\n const scatterY = R.isNil(_scatterY)\n ? R.head(R.reject(R.propEq('id', R.prop('id', scatterX)), values))\n : _scatterY;\n\n const scatterState = toScatterState(\n scatterDimension,\n scatterX,\n scatterY,\n );\n\n return ({\n ...scatterState,\n ...focusStateFromNewProps(\n props,\n toScatterSingularity(scatterState),\n state\n )\n });\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scatter.js","sources":["../../../../src/rules/src/properties/scatter.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isRefAreaDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { SCATTER } from '../constants';\nimport {\n artefactToOption,\n getDimensionsWithValues,\n getPropertyDimension,\n toState,\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getScatterDimension = getPropertyDimension('scatterDimension');\n\nconst toScatterState = (dim, xVal, yVal) => ({\n scatterDimension: toState(dim),\n scatterX: toState(xVal),\n scatterY: toState(yVal),\n});\n\nexport const toScatterSingularity = (state) => ({\n id: R.prop('scatterDimension', state),\n xId: R.prop('scatterX', state),\n yId: R.prop('scatterY', state),\n}); \n\nexport const isScatter = (type) => type === SCATTER;\n\nexport const scatterValueOptions = ({ data, type, display }, state) => {\n if (!isScatter(type)) {\n return [];\n }\n const scatterDimension = getScatterDimension(data, state);\n if (R.isNil(scatterDimension)) {\n return [];\n }\n return R.map(\n artefactToOption(display),\n R.prop('values', scatterDimension)\n );\n};\n\nexport const onChangeScatterDim = (props, state) => (value) => {\n const { data } = props;\n const dimension = getScatterDimension(data, { scatterDimension: value });\n if (R.isNil(dimension)) {\n return ({});\n }\n\n const [xVal, yVal] = R.take(2, R.prop('values', dimension));\n\n const newScatterState = toScatterState(dimension, xVal, yVal);\n\n return ({\n ...newScatterState,\n ...focusStateFromNewProps(\n props,\n toScatterSingularity(newScatterState),\n state\n )\n });\n};\n\nexport const scatterStateValueToOption = (property, props, state) => {\n const dimension = getScatterDimension(props.data, state);\n if (R.isNil(dimension) || !isScatter(props.type)) {\n return undefined;\n }\n const value = R.find(\n R.propEq(R.prop(property, state), 'id'),\n R.prop('values', dimension)\n );\n return artefactToOption(props.display)(value);\n};\n\nexport const onChangeScatterVal = ({ data, type }, state, valKey, otherValKey) => (value) => {\n const options = scatterValueOptions({ data, type }, state);\n const [matching, otherOptions] = R.partition(R.propEq(value, 'value'), options);\n if (R.isEmpty(matching)) {\n return ({});\n }\n const stateOtherValue = R.prop(otherValKey, state);\n return ({\n [valKey]: value,\n [otherValKey]: stateOtherValue === value\n ? R.prop('value', R.head(otherOptions))\n : stateOtherValue \n }); \n};\n\n//----------------------------------------------------------------------------------------------------\n\nexport const scatterStateFromNewProps = (props, state) => {\n const { data, type } = props;\n const undefinedState = toScatterState(undefined, undefined, undefined);\n if (!isScatter(type)) {\n return undefinedState;\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...undefinedState, highlight: [], baseline: [] };\n }\n\n let scatterDimension = getScatterDimension(props.data, state);\n if (R.isNil(scatterDimension)) {\n const refinedDimensions = R.reject(isRefAreaDimension, dimensions);\n scatterDimension = R.head(R.isEmpty(refinedDimensions) ? dimensions : refinedDimensions);\n }\n\n const values = R.prop('values', scatterDimension);\n\n const stateScatterX = R.prop('scatterX', state);\n let stateScatterY = R.prop('scatterY', state);\n\n if (stateScatterX === stateScatterY) {\n stateScatterY = undefined;\n }\n\n let _scatterX = undefined;\n let _scatterY = undefined;\n\n R.forEach(\n (value) => {\n if (R.prop('id', value) === stateScatterX) {\n _scatterX = value;\n }\n else if (R.prop('id', value) === stateScatterY) {\n _scatterY = value;\n }\n },\n values\n );\n\n //dirty as f\n const scatterX = R.isNil(_scatterX)\n ? R.head(R.reject(R.propEq(R.prop('id', _scatterY), 'id'), values))\n : _scatterX;\n const scatterY = R.isNil(_scatterY)\n ? R.head(R.reject(R.propEq(R.prop('id', scatterX),'id'), values))\n : _scatterY;\n\n const scatterState = toScatterState(\n scatterDimension,\n scatterX,\n scatterY,\n );\n\n return ({\n ...scatterState,\n ...focusStateFromNewProps(\n props,\n toScatterSingularity(scatterState),\n state\n )\n });\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import * as R from 'ramda';
2
2
  import { VALUES, PERCENT, STACKED_BAR, STACKED_ROW } from '../constants.js';
3
- import { toState, getDimensionsWithValues, getPropertyDimension, getGroupedDimensions } from './utils.js';
4
- import { splitDimensions } from '../index.js';
3
+ import { getDimensionsWithValues, getGroupedDimensions, toState, getPropertyDimension } from './utils.js';
5
4
  import { focusStateFromNewProps } from './focus.js';
6
5
 
7
6
  const getStackedDimension = getPropertyDimension('stackedDimension');
@@ -36,8 +35,8 @@ const onChangeStackedDimension = ({ data }, state) => (value) => {
36
35
  const stackedModeOptions = [{ value: VALUES }, { value: PERCENT }];
37
36
 
38
37
  const isStackedDimActive = ({ data, type }) => {
39
- const { values } = splitDimensions(data);
40
- if (R.length(values) < 2) {
38
+ const dimensions = getDimensionsWithValues(data);
39
+ if (R.length(dimensions) < 2) {
41
40
  return false;
42
41
  }
43
42
  return isStacked(type);
@@ -62,9 +61,8 @@ const stackedStateFromNewProps = (props, state) => {
62
61
 
63
62
  let dimension = getStackedDimension(data, state);
64
63
  if (R.isNil(dimension)) {
65
- const { value, values } = splitDimensions(data);
66
- if (R.length(values) === 1) {
67
- dimension = R.head(value);
64
+ if (R.length(dimensions) === 1) {
65
+ dimension = R.find(R.prop('header'), data.dimensions);
68
66
  }
69
67
  else {
70
68
  const { area, time, other } = getGroupedDimensions(data);
@@ -1 +1 @@
1
- {"version":3,"file":"stacked.js","sources":["../../../../src/rules/src/properties/stacked.js"],"sourcesContent":["import * as R from 'ramda';\nimport { PERCENT, STACKED_BAR, STACKED_ROW, VALUES } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { splitDimensions } from '../';\nimport { focusStateFromNewProps } from './focus';\n\nconst getStackedDimension = getPropertyDimension('stackedDimension');\n\nconst stackedModes = { [PERCENT]: PERCENT, [VALUES]: VALUES };\n\nexport const isStacked = (type) => type === STACKED_BAR || type === STACKED_ROW;\n\nconst toStackedState = (dimension, mode) => ({\n stackedDimension: toState(dimension),\n stackedMode: mode,\n});\n\nexport const toStackedSingularity = (state) => ({\n id: R.prop('stackedDimension', state),\n mode: R.prop('stackedMode', state),\n limit: 5\n});\n\nexport const onChangeStackedDimension = ({ data }, state) => (value) => {\n const dimension = getStackedDimension(data, { stackedDimension: value });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n stackedDimension: toState(dimension),\n highlight: [],\n baseline: [],\n })\n};\n\nexport const stackedModeOptions = [{ value: VALUES }, { value: PERCENT }];\n\nexport const isStackedDimActive = ({ data, type }) => {\n const { values } = splitDimensions(data);\n if (R.length(values) < 2) {\n return false;\n }\n return isStacked(type);\n};\n\nexport const onChangeStackedMode = (value) => R.has(value, stackedModes)\n ? ({ stackedMode: value })\n : ({});\n\nexport const stackedStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isStacked(type)) {\n return toStackedState(undefined, undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toStackedState(undefined, undefined), baseline: [], highlight: [] };\n }\n\n let dimension = getStackedDimension(data, state);\n if (R.isNil(dimension)) {\n const { value, values } = splitDimensions(data);\n if (R.length(values) === 1) {\n dimension = R.head(value);\n }\n else {\n const { area, time, other } = getGroupedDimensions(data);\n if (!R.isNil(area) && !R.isEmpty(area)) {\n dimension = R.head(area);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n dimension = R.head(time)\n }\n else {\n dimension = R.head(other);\n }\n }\n }\n const _mode = R.prop('stackedMode', state);\n const mode = R.has(_mode, stackedModes) ? _mode : VALUES;\n const stackedState = toStackedState(dimension, mode);\n return ({\n ...stackedState,\n ...focusStateFromNewProps(\n props,\n toStackedSingularity(stackedState), \n state\n )\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stacked.js","sources":["../../../../src/rules/src/properties/stacked.js"],"sourcesContent":["import * as R from 'ramda';\nimport { PERCENT, STACKED_BAR, STACKED_ROW, VALUES } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getStackedDimension = getPropertyDimension('stackedDimension');\n\nconst stackedModes = { [PERCENT]: PERCENT, [VALUES]: VALUES };\n\nexport const isStacked = (type) => type === STACKED_BAR || type === STACKED_ROW;\n\nconst toStackedState = (dimension, mode) => ({\n stackedDimension: toState(dimension),\n stackedMode: mode,\n});\n\nexport const toStackedSingularity = (state) => ({\n id: R.prop('stackedDimension', state),\n mode: R.prop('stackedMode', state),\n limit: 5\n});\n\nexport const onChangeStackedDimension = ({ data }, state) => (value) => {\n const dimension = getStackedDimension(data, { stackedDimension: value });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n stackedDimension: toState(dimension),\n highlight: [],\n baseline: [],\n })\n};\n\nexport const stackedModeOptions = [{ value: VALUES }, { value: PERCENT }];\n\nexport const isStackedDimActive = ({ data, type }) => {\n const dimensions = getDimensionsWithValues(data);\n if (R.length(dimensions) < 2) {\n return false;\n }\n return isStacked(type);\n};\n\nexport const onChangeStackedMode = (value) => R.has(value, stackedModes)\n ? ({ stackedMode: value })\n : ({});\n\nexport const stackedStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isStacked(type)) {\n return toStackedState(undefined, undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toStackedState(undefined, undefined), baseline: [], highlight: [] };\n }\n\n let dimension = getStackedDimension(data, state);\n if (R.isNil(dimension)) {\n if (R.length(dimensions) === 1) {\n dimension = R.find(R.prop('header'), data.dimensions);\n }\n else {\n const { area, time, other } = getGroupedDimensions(data);\n if (!R.isNil(area) && !R.isEmpty(area)) {\n dimension = R.head(area);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n dimension = R.head(time)\n }\n else {\n dimension = R.head(other);\n }\n }\n }\n const _mode = R.prop('stackedMode', state);\n const mode = R.has(_mode, stackedModes) ? _mode : VALUES;\n const stackedState = toStackedState(dimension, mode);\n return ({\n ...stackedState,\n ...focusStateFromNewProps(\n props,\n toStackedSingularity(stackedState), \n state\n )\n });\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as R from 'ramda';
2
2
  import { H_SYMBOL, V_SYMBOL } from '../constants.js';
3
- import { toState, getDimensionsWithValues, getPropertyDimension, getGroupedDimensions } from './utils.js';
3
+ import { getDimensionsWithValues, getGroupedDimensions, toState, getPropertyDimension } from './utils.js';
4
4
  import { focusStateFromNewProps } from './focus.js';
5
5
 
6
6
  const getSymbolDimension = getPropertyDimension('symbolDimension');
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.js","sources":["../../../../src/rules/src/properties/symbol.js"],"sourcesContent":["import * as R from 'ramda';\nimport { extractSdmxArtefacts } from '../';\nimport { H_SYMBOL, V_SYMBOL } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getSymbolDimension = getPropertyDimension('symbolDimension');\n\nexport const isSymbol = (type) => (type === H_SYMBOL || type === V_SYMBOL);\n\nconst toSymbolState = (dimension) => ({\n symbolDimension: toState(dimension)\n});\n\nexport const toSymbolSingularity = (data, state) => {\n const symbolDimension = getSymbolDimension(data, state);\n const res = ({\n id: R.isNil(symbolDimension) ? undefined : R.prop('id', symbolDimension),\n serie: R.pipe(\n R.prop('values'),\n values => R.isNil(values) ? [] : values,\n R.take(5)\n )(symbolDimension),\n });\n return res;\n};\n\nexport const symbolStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isSymbol(type)) {\n return toSymbolState(undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toSymbolState(undefined), baseline: [], highlight: [] };\n }\n let symbolDimension = getSymbolDimension(data, state);\n if (R.isNil(symbolDimension)) {\n const { area, other, time } = getGroupedDimensions(data);\n if (!R.isNil(other) && !R.isEmpty(other)) {\n symbolDimension = R.head(other);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n symbolDimension = R.head(time);\n }\n else {\n symbolDimension = R.head(area);\n }\n }\n const symbolState = toSymbolState(symbolDimension);\n return ({\n ...symbolState,\n ...focusStateFromNewProps(\n props,\n toSymbolSingularity(data, symbolState),\n state\n )\n });\n};\n\nexport const onChangeSymbolDim = ({ data }) => (option) => {\n const dimension = getSymbolDimension(data, { symbolDimension: option });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n ...toSymbolState(dimension),\n highlight: [],\n baseline: [],\n });\n};\n"],"names":[],"mappings":";;;;;AAWA,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC;;AAEtD,MAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;;AAEzE,MAAM,aAAa,GAAG,CAAC,SAAS,MAAM;AACtC,EAAE,eAAe,EAAE,OAAO,CAAC,SAAS;AACpC,CAAC,CAAC;;AAEU,MAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK;AACpD,EAAE,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC;AACzD,EAAE,MAAM,GAAG,IAAI;AACf,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;AAC5E,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI;AACjB,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtB,MAAM,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM;AAC7C,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,KAAK,CAAC,eAAe,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,OAAO,GAAG;AACZ;;AAEY,MAAC,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AACzD,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK;AAC9B,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvB,IAAI,OAAO,aAAa,CAAC,SAAS,CAAC;AACnC,EAAE;AACF,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACrB,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC;AAClD,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC7B,IAAI,OAAO,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;AACvE,EAAE;AACF,EAAE,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC;AACvD,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;AAChC,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC;AAC5D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9C,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACrC,IAAI;AACJ,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACjD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,SAAS;AACT,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC;AACpD,EAAE,QAAQ;AACV,IAAI,GAAG,WAAW;AAClB,IAAI,GAAG,sBAAsB;AAC7B,MAAM,KAAK;AACX,MAAM,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC;AAC5C,MAAM;AACN;AACA,GAAG;AACH;;AAEY,MAAC,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK;AAC3D,EAAE,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AACzE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AAC1B,IAAI,QAAQ,EAAE;AACd,EAAE;AACF,EAAE,QAAQ;AACV,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC;AAC/B,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,QAAQ,EAAE,EAAE;AAChB,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"symbol.js","sources":["../../../../src/rules/src/properties/symbol.js"],"sourcesContent":["import * as R from 'ramda';\nimport { H_SYMBOL, V_SYMBOL } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getSymbolDimension = getPropertyDimension('symbolDimension');\n\nexport const isSymbol = (type) => (type === H_SYMBOL || type === V_SYMBOL);\n\nconst toSymbolState = (dimension) => ({\n symbolDimension: toState(dimension)\n});\n\nexport const toSymbolSingularity = (data, state) => {\n const symbolDimension = getSymbolDimension(data, state);\n const res = ({\n id: R.isNil(symbolDimension) ? undefined : R.prop('id', symbolDimension),\n serie: R.pipe(\n R.prop('values'),\n values => R.isNil(values) ? [] : values,\n R.take(5)\n )(symbolDimension),\n });\n return res;\n};\n\nexport const symbolStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isSymbol(type)) {\n return toSymbolState(undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toSymbolState(undefined), baseline: [], highlight: [] };\n }\n let symbolDimension = getSymbolDimension(data, state);\n if (R.isNil(symbolDimension)) {\n const { area, other, time } = getGroupedDimensions(data);\n if (!R.isNil(other) && !R.isEmpty(other)) {\n symbolDimension = R.head(other);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n symbolDimension = R.head(time);\n }\n else {\n symbolDimension = R.head(area);\n }\n }\n const symbolState = toSymbolState(symbolDimension);\n return ({\n ...symbolState,\n ...focusStateFromNewProps(\n props,\n toSymbolSingularity(data, symbolState),\n state\n )\n });\n};\n\nexport const onChangeSymbolDim = ({ data }) => (option) => {\n const dimension = getSymbolDimension(data, { symbolDimension: option });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n ...toSymbolState(dimension),\n highlight: [],\n baseline: [],\n });\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { has, pipe, isNil, prop, equals, length, map, omit, head, is, find, propEq, not, groupBy } from 'ramda';
1
+ import { has, pipe, is, prop, equals, length, map, isNil, omit, propOr, reject, isEmpty, groupBy, find, propEq, not } from 'ramda';
2
2
  import { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
- import { splitDimensions, extractSdmxArtefacts, parseDisplay } from '../index.js';
3
+ import { dimensionValueDisplay, parseDisplay } from '../dimension-utils.js';
4
4
  import { TYPES, STACKED_BAR, STACKED_ROW, CHORO } from '../constants.js';
5
- import { dimensionValueDisplay } from '../dimension-utils.js';
6
5
 
7
6
  const isNumber = (input) => {
8
7
  const value = Number(input);
@@ -15,24 +14,23 @@ const isPositiveNumber = (input) => {
15
14
 
16
15
  const isNaturalInt = value => isNil(value) || /^\d+$/.test(String(value));
17
16
 
17
+
18
18
  const isChart = (type) => has(type, TYPES);
19
19
 
20
20
  const hasFocus = (type) => has(type, omit([CHORO], TYPES));
21
21
 
22
22
  const getDimensionsWithValues = (data) => pipe(
23
- splitDimensions,
24
- prop('values'),
23
+ propOr([], 'dimensions'),
24
+ reject(d => d.header || isEmpty(d.values || []))
25
25
  )(data);
26
26
 
27
27
  const toState = (artefact) => prop('id', artefact);
28
28
 
29
29
  const getPropertyDimension = (property) => (data, state) => {
30
- const statePropertyDimensionId = prop(property, state);
31
- const { dimensions } = extractSdmxArtefacts(data);
32
- return find(
33
- propEq('id', statePropertyDimensionId),
34
- dimensions
35
- );
30
+ const dimensionId = prop(property, state);
31
+ const { dimensions = [] } = data || {};
32
+
33
+ return find(propEq(dimensionId, 'id'), dimensions);
36
34
  };
37
35
 
38
36
  const getGroupedDimensions = pipe(
@@ -56,6 +54,7 @@ const optionParser = option => pipe(
56
54
  option => is(String, option) ? option : undefined
57
55
  )(option);
58
56
 
57
+
59
58
  const artefactToOption = (display) => (artefact) => isNil(artefact)
60
59
  ? undefined
61
60
  : {
@@ -72,7 +71,7 @@ const chartDimensionOptions = ({ data, type, display }, typeValidator) => {
72
71
  if (!typeValidator(type)) {
73
72
  return [];
74
73
  }
75
- const dimensions = prop('values', splitDimensions(data));
74
+ const dimensions = getDimensionsWithValues(data);
76
75
  if ((equals(type, STACKED_BAR) || equals(type, STACKED_ROW)) && length(dimensions) === 1) {
77
76
  return [];
78
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/rules/src/properties/utils.js"],"sourcesContent":["import {\n equals,\n find,\n groupBy,\n has,\n head,\n is,\n isNil,\n length,\n map,\n not,\n omit,\n pipe,\n prop,\n propEq,\n} from 'ramda';\nimport { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { extractSdmxArtefacts, parseDisplay, splitDimensions } from '../';\nimport { CHORO, STACKED_BAR, STACKED_ROW, TYPES } from '../constants';\nimport { dimensionValueDisplay } from '../dimension-utils';\n\nexport const isNumber = (input) => {\n const value = Number(input);\n return not(isNil(value) || isNaN(value));\n};\n\nexport const isPositiveNumber = (input) => {\n return (isNumber(input) && Number(input) >= 0);\n};\n\nexport const isNaturalInt = value => isNil(value) || /^\\d+$/.test(String(value));\n\nexport const isInt = value => isNil(value) || /^-?\\d+$/.test(String(value));\n\nexport const isChart = (type) => has(type, TYPES);\n\nexport const hasFocus = (type) => has(type, omit([CHORO], TYPES));\n\nexport const getDimensionsWithValues = (data) => pipe(\n splitDimensions,\n prop('values'),\n)(data);\n\nexport const toState = (artefact) => prop('id', artefact);\n\nexport const getPropertyDimension = (property) => (data, state) => {\n const statePropertyDimensionId = prop(property, state);\n const { dimensions } = extractSdmxArtefacts(data);\n return find(\n propEq('id', statePropertyDimensionId),\n dimensions\n );\n};\n\nexport const getGroupedDimensions = pipe(\n getDimensionsWithValues,\n groupBy(\n dimension => {\n if (isRefAreaDimension(dimension)) {\n return 'area';\n }\n if (isTimePeriodDimension(dimension)) {\n return 'time';\n }\n return 'other';\n }\n )\n);\n\nexport const optionParser = option => pipe(\n option => is(Array, option) ? head(option) : option,\n option => is(Object, option) ? prop('value', option) : option,\n option => is(String, option) ? option : undefined\n)(option);\n\nexport const optionsParser = selection => pipe(\n selection => is(Array, selection) ? selection : [selection],\n selection => map(optionParser, selection)\n)(selection);\n\nexport const artefactToOption = (display) => (artefact) => isNil(artefact)\n ? undefined\n : {\n label: dimensionValueDisplay(parseDisplay(display))(artefact),\n value: prop('id', artefact)\n };\n\nexport const dimensionWithValuesToOptions = ({ data, display }) => pipe(\n getDimensionsWithValues,\n map(artefactToOption(display))\n)(data);\n\nexport const chartDimensionToOption = (property) => ({ data, display }, state) => pipe(\n getPropertyDimension(property),\n artefactToOption(display)\n)(data, state);\n\nexport const chartDimensionOptions = ({ data, type, display }, typeValidator) => {\n if (!typeValidator(type)) {\n return [];\n }\n const dimensions = prop('values', splitDimensions(data));\n if ((equals(type, STACKED_BAR) || equals(type, STACKED_ROW)) && length(dimensions) === 1) {\n return [];\n }\n return map(\n artefactToOption(display),\n dimensions\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/rules/src/properties/utils.js"],"sourcesContent":["import {\n equals,\n find,\n groupBy,\n has,\n is,\n isEmpty,\n isNil,\n length,\n map,\n not,\n omit,\n pipe,\n prop,\n propEq,\n propOr,\n reject\n} from 'ramda';\nimport { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { parseDisplay } from '../dimension-utils';\nimport { CHORO, STACKED_BAR, STACKED_ROW, TYPES } from '../constants';\nimport { dimensionValueDisplay } from '../dimension-utils';\n\nexport const isNumber = (input) => {\n const value = Number(input);\n return not(isNil(value) || isNaN(value));\n};\n\nexport const isPositiveNumber = (input) => {\n return (isNumber(input) && Number(input) >= 0);\n};\n\nexport const isNaturalInt = value => isNil(value) || /^\\d+$/.test(String(value));\n\n\nexport const isChart = (type) => has(type, TYPES);\n\nexport const hasFocus = (type) => has(type, omit([CHORO], TYPES));\n\nexport const getDimensionsWithValues = (data) => pipe(\n propOr([], 'dimensions'),\n reject(d => d.header || isEmpty(d.values || []))\n)(data);\n\nexport const toState = (artefact) => prop('id', artefact);\n\nexport const getPropertyDimension = (property) => (data, state) => {\n const dimensionId = prop(property, state);\n const { dimensions = [] } = data || {};\n\n return find(propEq(dimensionId, 'id'), dimensions);\n};\n\nexport const getGroupedDimensions = pipe(\n getDimensionsWithValues,\n groupBy(\n dimension => {\n if (isRefAreaDimension(dimension)) {\n return 'area';\n }\n if (isTimePeriodDimension(dimension)) {\n return 'time';\n }\n return 'other';\n }\n )\n);\n\nexport const optionParser = option => pipe(\n option => is(Array, option) ? head(option) : option,\n option => is(Object, option) ? prop('value', option) : option,\n option => is(String, option) ? option : undefined\n)(option);\n\n\nexport const artefactToOption = (display) => (artefact) => isNil(artefact)\n ? undefined\n : {\n label: dimensionValueDisplay(parseDisplay(display))(artefact),\n value: prop('id', artefact)\n };\n\nexport const chartDimensionToOption = (property) => ({ data, display }, state) => pipe(\n getPropertyDimension(property),\n artefactToOption(display)\n)(data, state);\n\nexport const chartDimensionOptions = ({ data, type, display }, typeValidator) => {\n if (!typeValidator(type)) {\n return [];\n }\n const dimensions = getDimensionsWithValues(data);\n if ((equals(type, STACKED_BAR) || equals(type, STACKED_ROW)) && length(dimensions) === 1) {\n return [];\n }\n return map(\n artefactToOption(display),\n dimensions\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,38 +1,13 @@
1
1
  import * as R from 'ramda';
2
2
 
3
- const LAYOUT_ROW = 'LAYOUT_ROW';
4
- const LAYOUT_COLUMN = 'LAYOUT_COLUMN';
5
- const LAYOUT_ROW_SECTION = 'LAYOUT_ROW_SECTION';
6
-
7
- const ROWS = 'rows';
8
- const HEADER = 'header';
9
- const SECTIONS = 'sections';
10
3
  const NOT_DISPLAYED = 'NOT_DISPLAYED';
11
4
 
12
- const getType = R.propOr({}, 'type');
13
- const getIds = (stringIds = '') => R.pipe(
14
- R.append(R.split(',', stringIds)),
15
- R.flatten
16
- );
17
- const getPivot = (key, stringIds) => R.over(R.lensProp(key), getIds(stringIds));
18
-
19
- const setAnnotationsLayout = (stringIds, layout) => R.reduce((acc, annotation) => {
20
- if (R.equals(getType(annotation), LAYOUT_ROW)) return getPivot(ROWS, stringIds)(acc);
21
- if (R.equals(getType(annotation), LAYOUT_COLUMN)) return getPivot(HEADER, stringIds)(acc);
22
- if (R.equals(getType(annotation), LAYOUT_ROW_SECTION)) return getPivot(SECTIONS, stringIds)(acc);
23
- return acc;
24
- }, layout);
25
-
26
- const getRelationnalAnnotations = annotationIndexes => annotations => R.map(annotationIndex =>
27
- R.propOr({}, annotationIndex)(annotations)
28
- )(annotationIndexes);
29
-
30
5
  const getIsHidden = annotations => R.pipe(
31
- R.find(R.propEq('type', NOT_DISPLAYED)),
6
+ R.find(R.propEq(NOT_DISPLAYED, 'type')),
32
7
  R.complement(R.isNil)
33
8
  )(annotations);
34
9
 
35
10
  const getFullName = R.identity;
36
11
 
37
- export { LAYOUT_COLUMN, LAYOUT_ROW, LAYOUT_ROW_SECTION, getFullName, getIsHidden, getRelationnalAnnotations, setAnnotationsLayout };
12
+ export { getFullName, getIsHidden };
38
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/rules/src/sdmx-data/index.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const LAYOUT_ROW = 'LAYOUT_ROW';\nexport const LAYOUT_COLUMN = 'LAYOUT_COLUMN';\nexport const LAYOUT_ROW_SECTION = 'LAYOUT_ROW_SECTION';\n\nconst ROWS = 'rows';\nconst HEADER = 'header';\nconst SECTIONS = 'sections';\n\nconst ORDER = 'ORDER';\nconst NOT_DISPLAYED = 'NOT_DISPLAYED';\n\nconst getType = R.propOr({}, 'type');\nconst getIds = (stringIds = '') => R.pipe(\n R.append(R.split(',', stringIds)),\n R.flatten\n);\nconst getPivot = (key, stringIds) => R.over(R.lensProp(key), getIds(stringIds));\n\nexport const setAnnotationsLayout = (stringIds, layout) => R.reduce((acc, annotation) => {\n if (R.equals(getType(annotation), LAYOUT_ROW)) return getPivot(ROWS, stringIds)(acc);\n if (R.equals(getType(annotation), LAYOUT_COLUMN)) return getPivot(HEADER, stringIds)(acc);\n if (R.equals(getType(annotation), LAYOUT_ROW_SECTION)) return getPivot(SECTIONS, stringIds)(acc);\n return acc;\n}, layout);\n\nexport const getRelationnalAnnotations = annotationIndexes => annotations => R.map(annotationIndex =>\n R.propOr({}, annotationIndex)(annotations)\n)(annotationIndexes);\n\nexport const hiddenFormat = { isHidden: true }\n\nexport const getIsHidden = annotations => R.pipe(\n R.find(R.propEq('type', NOT_DISPLAYED)),\n R.complement(R.isNil)\n)(annotations);\n\nexport const getFullName = R.identity;"],"names":[],"mappings":";;AAEY,MAAC,UAAU,GAAG;AACd,MAAC,aAAa,GAAG;AACjB,MAAC,kBAAkB,GAAG;;AAElC,MAAM,IAAI,GAAG,MAAM;AACnB,MAAM,MAAM,GAAG,QAAQ;AACvB,MAAM,QAAQ,GAAG,UAAU;AAG3B,MAAM,aAAa,GAAG,eAAe;;AAErC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;AACpC,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI;AACzC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnC,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;;AAEnE,MAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK;AACzF,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;AACtF,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;AAC3F,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,EAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;AAClG,EAAE,OAAO,GAAG;AACZ,CAAC,EAAE,MAAM;;AAEG,MAAC,yBAAyB,GAAG,iBAAiB,IAAI,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe;AAClG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,WAAW;AAC3C,CAAC,CAAC,iBAAiB;;AAIP,MAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC,IAAI;AAChD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACzC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AACtB,CAAC,CAAC,WAAW;;AAED,MAAC,WAAW,GAAG,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/rules/src/sdmx-data/index.js"],"sourcesContent":["import * as R from 'ramda';\n\nconst NOT_DISPLAYED = 'NOT_DISPLAYED';\n\nexport const getIsHidden = annotations => R.pipe(\n R.find(R.propEq(NOT_DISPLAYED, 'type')),\n R.complement(R.isNil)\n)(annotations);\n\nexport const getFullName = R.identity;\n"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,eAAe;;AAEzB,MAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC,IAAI;AAChD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACzC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AACtB,CAAC,CAAC,WAAW;;AAED,MAAC,WAAW,GAAG,CAAC,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as R from 'ramda';
2
- import { REJECTED_VALUE_IDS } from './constants.js';
3
2
  import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
3
+ import { REJECTED_VALUE_IDS } from './constants.js';
4
4
 
5
5
  const getRefinedMissinParentsLabels = R.pipe(
6
6
  R.propOr([], 'missingParents'),
@@ -46,7 +46,7 @@ const _combinedValuesDisplay = (_display) => (values) =>
46
46
  if (!R.isEmpty(labels) || _display !== 'label') {
47
47
  return R.join(', ', labels);
48
48
  }
49
- const totalValue = R.find(R.propEq('id', '_T'), values);
49
+ const totalValue = R.find(R.propEq('_T', 'id'), values);
50
50
  if (!R.isNil(totalValue)) {
51
51
  return dimensionValueDisplay('label')(totalValue);
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"combinedValuesDisplay.js","sources":["../../../src/rules2/src/combinedValuesDisplay.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nconst getRefinedMissinParentsLabels = R.pipe(\n R.propOr([], 'missingParents'),\n R.reduce((acc, par) => {\n if (\n !R.propOr(true, 'display', par) ||\n R.includes(par.id, REJECTED_VALUE_IDS)\n ) {\n return acc;\n }\n return R.append(dimensionValueDisplay('label')(par), acc);\n }, []),\n);\n\nexport const singleValueDisplay = (display, value) => {\n if (display === 'label') {\n return R.converge(\n (missingParents, label) =>\n R.isEmpty(missingParents)\n ? label\n : R.join(' > ', R.append(label, missingParents)),\n [getRefinedMissinParentsLabels, dimensionValueDisplay(display)],\n )(value);\n } else if (display === 'both') {\n return `(${singleValueDisplay('code', value)}) ${singleValueDisplay(\n 'label',\n value,\n )}`;\n }\n return dimensionValueDisplay(display)(value);\n};\n\nconst _combinedValuesDisplay = (_display) => (values) =>\n R.pipe(\n R.reduce((acc, val) => {\n if (R.isNil(val)) return acc;\n const isDisplayed = R.propOr(true, 'display', val);\n const isRejected = R.includes(val.id, REJECTED_VALUE_IDS);\n if ((!isDisplayed || isRejected) && _display === 'label') return acc;\n return R.append(singleValueDisplay(_display, val), acc);\n }, []),\n (labels) => {\n if (!R.isEmpty(labels) || _display !== 'label') {\n return R.join(', ', labels);\n }\n const totalValue = R.find(R.propEq('id', '_T'), values);\n if (!R.isNil(totalValue)) {\n return dimensionValueDisplay('label')(totalValue);\n }\n if (R.isEmpty(values)) {\n return '';\n }\n const firstValue = R.head(values);\n return dimensionValueDisplay('label')(firstValue);\n },\n )(values);\n\nexport const combinedValuesDisplay = (display, values) => {\n if (display === 'both') {\n return R.converge(\n (_ids, labels) => {\n return dimensionValueDisplay('both')({\n id: _ids,\n name: labels,\n });\n },\n [_combinedValuesDisplay('code'), _combinedValuesDisplay('label')],\n )(values);\n }\n return _combinedValuesDisplay(display)(values);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combinedValuesDisplay.js","sources":["../../../src/rules2/src/combinedValuesDisplay.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src/dimension-utils';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nconst getRefinedMissinParentsLabels = R.pipe(\n R.propOr([], 'missingParents'),\n R.reduce((acc, par) => {\n if (\n !R.propOr(true, 'display', par) ||\n R.includes(par.id, REJECTED_VALUE_IDS)\n ) {\n return acc;\n }\n return R.append(dimensionValueDisplay('label')(par), acc);\n }, []),\n);\n\nexport const singleValueDisplay = (display, value) => {\n if (display === 'label') {\n return R.converge(\n (missingParents, label) =>\n R.isEmpty(missingParents)\n ? label\n : R.join(' > ', R.append(label, missingParents)),\n [getRefinedMissinParentsLabels, dimensionValueDisplay(display)],\n )(value);\n } else if (display === 'both') {\n return `(${singleValueDisplay('code', value)}) ${singleValueDisplay(\n 'label',\n value,\n )}`;\n }\n return dimensionValueDisplay(display)(value);\n};\n\nconst _combinedValuesDisplay = (_display) => (values) =>\n R.pipe(\n R.reduce((acc, val) => {\n if (R.isNil(val)) return acc;\n const isDisplayed = R.propOr(true, 'display', val);\n const isRejected = R.includes(val.id, REJECTED_VALUE_IDS);\n if ((!isDisplayed || isRejected) && _display === 'label') return acc;\n return R.append(singleValueDisplay(_display, val), acc);\n }, []),\n (labels) => {\n if (!R.isEmpty(labels) || _display !== 'label') {\n return R.join(', ', labels);\n }\n const totalValue = R.find(R.propEq('_T', 'id'), values);\n if (!R.isNil(totalValue)) {\n return dimensionValueDisplay('label')(totalValue);\n }\n if (R.isEmpty(values)) {\n return '';\n }\n const firstValue = R.head(values);\n return dimensionValueDisplay('label')(firstValue);\n },\n )(values);\n\nexport const combinedValuesDisplay = (display, values) => {\n if (display === 'both') {\n return R.converge(\n (_ids, labels) => {\n return dimensionValueDisplay('both')({\n id: _ids,\n name: labels,\n });\n },\n [_combinedValuesDisplay('code'), _combinedValuesDisplay('label')],\n )(values);\n }\n return _combinedValuesDisplay(display)(values);\n};\n"],"names":[],"mappings":"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"}