Skip to content

Commit 690f053

Browse files
fix: cleanup from comments on PR #3025
1 parent e3b446b commit 690f053

6 files changed

Lines changed: 15 additions & 20 deletions

File tree

src/taxonomy/tag-list/TagListTable.test.jsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -982,11 +982,6 @@ describe('<TagListTable />', () => {
982982
});
983983

984984
it('should disable delete action if tag includes `can_delete: false`', async () => {
985-
axiosMock.reset();
986-
axiosMock
987-
.onGet(rootTagsListUrl)
988-
.reply(200, mockTagResponseDisallowingEdits);
989-
axiosMock.onGet(subTagsUrl).reply(200, subTagsResponse);
990985
cleanup();
991986
({ axiosMock } = initializeMocks({ user: adminUser }));
992987
axiosMock

src/taxonomy/tag-list/TagListTable.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ const TagListTable = ({ taxonomyId, maxDepth }: TagListTableProps) => {
4646
const [toast, setToast] = useState({ show: false, message: '', variant: 'success' });
4747
const [tagTree, setTagTree] = useState<TagTree | null>(null);
4848
const [isCreatingTopTag, setIsCreatingTopTag] = useState(false);
49-
const [, setActiveActionMenuRowId] = useState<RowId | null>(null);
49+
const [_, setActiveActionMenuRowId] = useState<RowId | null>(null);
5050
const [draftError, setDraftError] = useState('');
5151
const treeData = (tagTree?.getAllAsDeepCopy() || []) as unknown as TreeRowData[];
5252
const hasOpenDraft = isCreatingTopTag || creatingParentId !== null || editingRowId !== null;
@@ -154,7 +154,7 @@ const TagListTable = ({ taxonomyId, maxDepth }: TagListTableProps) => {
154154

155155
return (
156156
<TreeTableContext.Provider value={contextValue}>
157-
<TableView hasAdditionalError={deleteTagMutation.isError} />
157+
<TableView hasDeleteError={deleteTagMutation.isError} />
158158
</TreeTableContext.Provider>
159159
);
160160
};

src/taxonomy/tag-list/hooks.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,9 @@ const useEditActions = ({
291291
const handleDeleteTag = async (row: Row<TreeRowData>) => {
292292
const rowData = getTagListRowData(row);
293293
const count = getTagWithDescendantsCount(rowData);
294-
// If the tag in the frontend state does not have subtags,
295-
// don't allow the backend to delete subtags.
296-
// That prevents problems in case of stale frontend state.
294+
// Only request recursive deletion when the frontend has loaded descendants.
295+
// If this state is stale and the backend finds subtags while with_subtags is false,
296+
// the backend rejects the request instead of deleting the parent alone.
297297
const shouldDeleteSubtags = count > 1;
298298
try {
299299
// In view mode, the table reloads on change, reflecting the deletion

src/taxonomy/tree-table/SaveErrorAlert.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@ interface SaveErrorAlertProps {
1313
draftError: string | undefined;
1414
isError: boolean | undefined;
1515
isUpdateError: boolean | undefined;
16-
isAdditionalError?: boolean;
16+
isDeleteError?: boolean;
1717
}
1818
const SaveErrorAlert = ({
1919
draftError,
2020
isError,
2121
isUpdateError,
22-
isAdditionalError = false,
22+
isDeleteError = false,
2323
}: SaveErrorAlertProps) => {
2424
const intl = useIntl();
25-
const hasError: boolean = Boolean((isError || isUpdateError || isAdditionalError) && !!draftError);
25+
const hasError: boolean = Boolean((isError || isUpdateError || isDeleteError) && !!draftError);
2626
const [alertOpen, setAlertOpen] = React.useState(hasError);
2727

2828
useEffect(() => {
2929
setAlertOpen(hasError);
30-
}, [hasError, isError, isUpdateError, isAdditionalError, draftError]);
30+
}, [hasError, isError, isUpdateError, isDeleteError, draftError]);
3131

3232
if (!alertOpen) { return null; }
3333

src/taxonomy/tree-table/TableView.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ describe('TableView', () => {
113113
const contextValue = baseContextValue();
114114
contextValue.draftError = 'Delete request failed';
115115

116-
renderTableView(contextValue, { hasAdditionalError: true });
116+
renderTableView(contextValue, { hasDeleteError: true });
117117

118118
expect(screen.getByText('Error saving changes')).toBeInTheDocument();
119119
expect(screen.getByText('Delete request failed. Please try again.')).toBeInTheDocument();
@@ -123,7 +123,7 @@ describe('TableView', () => {
123123
const contextValue = baseContextValue();
124124
contextValue.draftError = 'First delete failure';
125125

126-
const { rerender } = renderTableView(contextValue, { hasAdditionalError: true });
126+
const { rerender } = renderTableView(contextValue, { hasDeleteError: true });
127127

128128
fireEvent.click(screen.getByRole('button', { name: /dismiss/i }));
129129
expect(screen.queryByText('Error saving changes')).not.toBeInTheDocument();
@@ -133,7 +133,7 @@ describe('TableView', () => {
133133

134134
rerender(
135135
<TreeTableContext.Provider value={nextContextValue}>
136-
<TableView hasAdditionalError />
136+
<TableView hasDeleteError />
137137
</TreeTableContext.Provider>,
138138
);
139139

src/taxonomy/tree-table/TableView.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ import { TreeTable } from './types';
2727

2828
interface TableViewProps {
2929
enablePagination?: boolean;
30-
hasAdditionalError?: boolean;
30+
hasDeleteError?: boolean;
3131
}
3232

3333
const TableView = ({
3434
enablePagination = false,
35-
hasAdditionalError = false,
35+
hasDeleteError = false,
3636
}: TableViewProps) => {
3737
const intl = useIntl();
3838

@@ -84,7 +84,7 @@ const TableView = ({
8484
draftError={draftError}
8585
isError={isError}
8686
isUpdateError={isUpdateError}
87-
isAdditionalError={hasAdditionalError}
87+
isDeleteError={hasDeleteError}
8888
/>
8989
<Card className="tag-list-card">
9090
<Card.Section className="p-0">

0 commit comments

Comments
 (0)