Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/components/BrowserFilter/BrowserFilter.react.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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
};
});
}
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
}
Expand Down Expand Up @@ -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
});
}
}
Expand Down
Loading