From 769dcec365f1ee145c43fc1e0e08fd70979d8b30 Mon Sep 17 00:00:00 2001 From: Karolina Przerwa Date: Mon, 3 Aug 2020 17:13:05 +0200 Subject: [PATCH 1/2] components: extend Aggregation and EmptyResults interface --- package-lock.json | 2 +- .../BucketAggregation/BucketAggregation.js | 9 +++++- .../BucketAggregationValues.js | 28 +++++++++++++------ .../components/EmptyResults/EmptyResults.js | 2 ++ 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 413dcf70..4fc7e679 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-searchkit", - "version": "1.0.0-alpha.0", + "version": "1.0.0-alpha.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/lib/components/BucketAggregation/BucketAggregation.js b/src/lib/components/BucketAggregation/BucketAggregation.js index 67a32a13..b6e0a5eb 100644 --- a/src/lib/components/BucketAggregation/BucketAggregation.js +++ b/src/lib/components/BucketAggregation/BucketAggregation.js @@ -27,7 +27,7 @@ class BucketAggregation extends Component { }; _renderValues = (resultBuckets, selectedFilters) => { - const { overridableId } = this.props; + const { overridableId, valuesLabels } = this.props; return ( ); }; @@ -59,6 +60,7 @@ class BucketAggregation extends Component { userSelectionFilters, resultsAggregations, overridableId, + ...props } = this.props; const selectedFilters = this._getSelectedFilters(userSelectionFilters); const resultBuckets = this._getResultBuckets(resultsAggregations); @@ -70,6 +72,7 @@ class BucketAggregation extends Component { title={this.title} containerCmp={valuesCmp} overridableId={overridableId} + {...props} /> ); } @@ -87,6 +90,10 @@ BucketAggregation.propTypes = { updateQueryFilters: PropTypes.func.isRequired, renderValuesContainerElement: PropTypes.func, renderValueElement: PropTypes.func, + valuesLabels: PropTypes.arrayOf(PropTypes.shape({ + value: PropTypes.string.isRequired, + label: PropTypes.string.isRequired, + })), overridableId: PropTypes.string, }; diff --git a/src/lib/components/BucketAggregation/BucketAggregationValues.js b/src/lib/components/BucketAggregation/BucketAggregationValues.js index 6c8f155d..b5e0e303 100644 --- a/src/lib/components/BucketAggregation/BucketAggregationValues.js +++ b/src/lib/components/BucketAggregation/BucketAggregationValues.js @@ -11,6 +11,7 @@ import PropTypes from 'prop-types'; import { Checkbox, List } from 'semantic-ui-react'; import Overridable from 'react-overridable'; import { buildUID } from '../../util'; +import _get from 'lodash/get'; class BucketAggregationValues extends Component { constructor(props) { @@ -62,8 +63,7 @@ class BucketAggregationValues extends Component { }; render() { - const { buckets, selectedFilters, overridableId } = this.props; - + const { buckets, selectedFilters, valuesLabels, overridableId } = this.props; const valuesCmp = buckets.map((bucket) => { const isSelected = this._isSelected( this.aggName, @@ -75,6 +75,14 @@ class BucketAggregationValues extends Component { }; const getChildAggCmps = (bucket) => this.getChildAggCmps(bucket, selectedFilters); + let label = null; + if(valuesLabels){ + label = _get( + valuesLabels.find(e => e.value === bucket.key ), + 'label', + bucket.key + ); + } return ( ); @@ -116,9 +125,11 @@ const ValueElement = (props) => { isSelected, onFilterClicked, getChildAggCmps, + valueLabel, overridableId, } = props; - const label = `${bucket.key} (${bucket.doc_count})`; + + const label = valueLabel ? valueLabel : `${bucket.key} (${bucket.doc_count})`; const childAggCmps = getChildAggCmps(bucket); return ( { ); }; -const ContainerElement = ({ valuesCmp, overridableId }) => ( - { + return {valuesCmp} -); +}; export default Overridable.component( 'BucketAggregationValues', diff --git a/src/lib/components/EmptyResults/EmptyResults.js b/src/lib/components/EmptyResults/EmptyResults.js index 0eb80457..bb984029 100644 --- a/src/lib/components/EmptyResults/EmptyResults.js +++ b/src/lib/components/EmptyResults/EmptyResults.js @@ -26,6 +26,7 @@ class EmptyResults extends Component { totalResults, error, queryString, + extraContent, overridableId, } = this.props; return ( @@ -35,6 +36,7 @@ class EmptyResults extends Component { From c093d0800afcf3de1d96803f679b4584a8da10d7 Mon Sep 17 00:00:00 2001 From: Karolina Przerwa Date: Wed, 5 Aug 2020 11:28:21 +0200 Subject: [PATCH 2/2] release: v1.0.0-alpha.2 --- CHANGES.md | 4 ++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ecd75925..726d69d6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changes +Version 1.0.0-alpha.2 (released 2020-08-05) + +* Add additional props to BucketAggregation component - flexible overrides + Version 1.0.0-alpha.1 (released 2020-05-15) * Remove 'use strict' directive from the built CommonJS module dist, diff --git a/package-lock.json b/package-lock.json index 4fc7e679..dd9b3215 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-searchkit", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b113b458..5f244738 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-searchkit", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "description": "React components to build your search UI application", "main": "dist/cjs/index.js", "browser": "dist/cjs/index.js",