diff --git a/src/components/BrowserFilter/BrowserFilter.react.js b/src/components/BrowserFilter/BrowserFilter.react.js index cf5bfe6b8..2ba414f62 100644 --- a/src/components/BrowserFilter/BrowserFilter.react.js +++ b/src/components/BrowserFilter/BrowserFilter.react.js @@ -41,6 +41,7 @@ export default class BrowserFilter extends React.Component { originalFilterName: '', confirmDelete: false, originalFilters: new List(), // Track original filters when entering edit mode + originalRelativeDates: false, // Track original relative dates setting when entering edit mode }; this.toggle = this.toggle.bind(this); this.wrapRef = React.createRef(); @@ -223,6 +224,7 @@ export default class BrowserFilter extends React.Component { relativeDates: currentFilter.hasRelativeDates, filters: filtersToUse, originalFilters: originalFiltersToStore, + originalRelativeDates: currentFilter.hasRelativeDates, // Track original relative dates setting }; }); } @@ -284,6 +286,11 @@ export default class BrowserFilter extends React.Component { return false; } + // Check if relative dates setting has changed + if (this.state.relativeDates !== this.state.originalRelativeDates) { + return true; + } + // Compare current state filters with the original filters stored when entering edit mode const currentFilters = this.normalizeFiltersForComparison(this.state.filters); const originalFilters = this.normalizeFiltersForComparison(this.state.originalFilters); @@ -447,6 +454,7 @@ export default class BrowserFilter extends React.Component { editMode: this.props.filters.size === 0, relativeDates: false, // Reset relative dates state when opening/closing showMore: false, // Reset showMore state when opening/closing + originalRelativeDates: false, // Reset original relative dates state when opening/closing })); this.props.setCurrent(null); } @@ -564,6 +572,8 @@ export default class BrowserFilter extends React.Component { this.setState({ originalFilterName: this.state.name, filters: uiFilters, // Ensure UI stays with JavaScript Date objects + originalFilters: uiFilters, // Update original filters to reflect the saved state + originalRelativeDates: this.state.relativeDates, // Update original relative dates to reflect the saved state }); } }