diff --git a/src/components/FilterPlain/FilterPlain.js b/src/components/FilterPlain/FilterPlain.js index da36e9a4..30839e3d 100644 --- a/src/components/FilterPlain/FilterPlain.js +++ b/src/components/FilterPlain/FilterPlain.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { bool, func, node, string } from 'prop-types'; +import { bool, func, node, object, string } from 'prop-types'; import classNames from 'classnames'; import { injectIntl, intlShape, FormattedMessage } from 'react-intl'; @@ -45,6 +45,7 @@ class FilterPlainComponent extends Component { isSelected, children, initialValues, + keepDirtyOnReinitialize, contentPlacementOffset, } = this.props; const classes = classNames(rootClassName || css.root, className); @@ -74,6 +75,7 @@ class FilterPlainComponent extends Component { contentPlacementOffset={contentPlacementOffset} onChange={this.handleChange} initialValues={initialValues} + keepDirtyOnReinitialize={keepDirtyOnReinitialize} > {children} @@ -88,6 +90,7 @@ FilterPlainComponent.defaultProps = { className: null, plainClassName: null, initialValues: null, + keepDirtyOnReinitialize: false, }; FilterPlainComponent.propTypes = { @@ -99,6 +102,8 @@ FilterPlainComponent.propTypes = { label: node.isRequired, isSelected: bool.isRequired, children: node.isRequired, + initialValues: object, + keepDirtyOnReinitialize: bool, // form injectIntl intl: intlShape.isRequired, diff --git a/src/components/FilterPopup/FilterPopup.js b/src/components/FilterPopup/FilterPopup.js index dd076349..a3fa4669 100644 --- a/src/components/FilterPopup/FilterPopup.js +++ b/src/components/FilterPopup/FilterPopup.js @@ -106,6 +106,7 @@ class FilterPopup extends Component { isSelected, children, initialValues, + keepDirtyOnReinitialize, contentPlacementOffset, } = this.props; @@ -142,6 +143,7 @@ class FilterPopup extends Component { showAsPopup contentPlacementOffset={contentPlacementOffset} initialValues={initialValues} + keepDirtyOnReinitialize={keepDirtyOnReinitialize} onSubmit={this.handleSubmit} onCancel={this.handleCancel} onClear={this.handleClear} @@ -161,6 +163,7 @@ FilterPopup.defaultProps = { className: null, popupClassName: null, initialValues: null, + keepDirtyOnReinitialize: false, contentPlacementOffset: 0, liveEdit: false, label: null, @@ -174,6 +177,7 @@ FilterPopup.propTypes = { urlParam: string.isRequired, onSubmit: func.isRequired, initialValues: object, + keepDirtyOnReinitialize: bool, contentPlacementOffset: number, label: string.isRequired, isSelected: bool.isRequired, diff --git a/src/components/SelectMultipleFilter/SelectMultipleFilter.js b/src/components/SelectMultipleFilter/SelectMultipleFilter.js index 1bd4b658..d8429f76 100644 --- a/src/components/SelectMultipleFilter/SelectMultipleFilter.js +++ b/src/components/SelectMultipleFilter/SelectMultipleFilter.js @@ -120,6 +120,7 @@ class SelectMultipleFilter extends Component { onSubmit={handleSubmit} initialValues={namedInitialValues} urlParam={urlParam} + keepDirtyOnReinitialize {...rest} >