Skip to content

Commit 79f958c

Browse files
author
Beth Glenfield
committed
(MAINT) Add onUpdate prop to filter
1 parent c6c541a commit 79f958c

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

packages/react-components/source/react/library/filters/FilterForm.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const propTypes = {
1313
removable: PropTypes.bool,
1414
onSubmit: PropTypes.func,
1515
onCancel: PropTypes.func,
16+
onUpdate: PropTypes.func,
1617
cancellable: PropTypes.bool,
1718
fields: PropTypes.arrayOf(PropTypes.string),
1819
/** Defaults to the standard set as defined in constants. */
@@ -58,6 +59,7 @@ const defaultStrings = {
5859
const defaultProps = {
5960
onSubmit: () => {},
6061
onCancel: () => {},
62+
onUpdate: filter => filter,
6163
removable: false,
6264
fields: [],
6365
filter: {},
@@ -115,14 +117,16 @@ class FilterForm extends React.Component {
115117
}
116118

117119
onUpdate(field, values) {
118-
const { operators } = this.props;
120+
const { operators, onUpdate } = this.props;
119121
const value = values[field];
120-
const filter = { ...values };
122+
let filter = { ...values };
121123

122124
if (isValueless(value, operators)) {
123125
delete filter.value;
124126
}
125127

128+
filter = onUpdate(filter);
129+
126130
this.setState({ filter });
127131
}
128132

packages/react-components/source/react/library/filters/Filters.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const propTypes = {
1919
),
2020
addCTA: PropTypes.string,
2121
onChange: PropTypes.func,
22+
onUpdate: PropTypes.func,
2223
onSwitchView: PropTypes.func,
2324
removableToggle: PropTypes.bool,
2425
/** Defaults to the standard set as defined in constants. */
@@ -56,6 +57,7 @@ const defaultStrings = {
5657
const defaultProps = {
5758
fields: [],
5859
filters: [],
60+
onUpdate: filter => filter,
5961
onChange: () => {},
6062
addCTA: 'Add filter',
6163
onSwitchView: () => {},
@@ -195,7 +197,14 @@ class Filters extends React.Component {
195197
}
196198

197199
renderForm() {
198-
const { removableToggle, fields, operators, strings, filters } = this.props;
200+
const {
201+
removableToggle,
202+
fields,
203+
operators,
204+
strings,
205+
filters,
206+
onUpdate,
207+
} = this.props;
199208
const { filter } = this.state;
200209
let cancellable = true;
201210

@@ -210,6 +219,7 @@ class Filters extends React.Component {
210219
fields={fields}
211220
filter={filter}
212221
operators={operators}
222+
onUpdate={onUpdate}
213223
onCancel={this.onCancel}
214224
onSubmit={this.onSubmitFilter}
215225
strings={strings}

0 commit comments

Comments
 (0)