Skip to content

Commit abf397d

Browse files
authored
fix(custom-views): Fix unsaved changes not triggering correctly (#76869)
This PR fixes an issue with unsaved changes where manually changing a view's search query from unsaved changes back to the original query would result in the unsaved changes indicator still appearing. If the query matches the views existing query, it should always show up as not having unsaved changes.
1 parent 5b40e6e commit abf397d

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

static/app/views/issueList/customViewsHeader.tsx

+18-22
Original file line numberDiff line numberDiff line change
@@ -181,30 +181,26 @@ function CustomViewsIssueListHeaderTabsContent({
181181
if (viewId) {
182182
const selectedTab = draggableTabs.find(tab => tab.id === viewId);
183183
if (selectedTab && query && sort) {
184-
// if a viewId exists but the query and sort are not what we expected, set them as unsaved changes
185-
const isCurrentQuerySortDifferentFromExistingUnsavedChanges =
186-
selectedTab.unsavedChanges &&
187-
(selectedTab.unsavedChanges[0] !== query ||
188-
selectedTab.unsavedChanges[1] !== sort);
184+
const issueSortOption = Object.values(IssueSortOptions).includes(sort)
185+
? sort
186+
: IssueSortOptions.DATE;
189187

190-
const isCurrentQuerySortDifferentFromSelectedTabQuerySort =
191-
query !== selectedTab.query || sort !== selectedTab.querySort;
188+
const unsavedChanges: [string, IssueSortOptions] | undefined =
189+
query === selectedTab.query && sort === selectedTab.querySort
190+
? undefined
191+
: [query as string, issueSortOption];
192+
193+
setDraggableTabs(
194+
draggableTabs.map(tab =>
195+
tab.key === selectedTab!.key
196+
? {
197+
...tab,
198+
unsavedChanges,
199+
}
200+
: tab
201+
)
202+
);
192203

193-
if (
194-
isCurrentQuerySortDifferentFromExistingUnsavedChanges ||
195-
isCurrentQuerySortDifferentFromSelectedTabQuerySort
196-
) {
197-
setDraggableTabs(
198-
draggableTabs.map(tab =>
199-
tab.key === selectedTab!.key
200-
? {
201-
...tab,
202-
unsavedChanges: [query, sort],
203-
}
204-
: tab
205-
)
206-
);
207-
}
208204
tabListState?.setSelectedKey(selectedTab.key);
209205
return;
210206
}

0 commit comments

Comments
 (0)