Skip to content

Commit 9df70d4

Browse files
committed
feat(inbox): keep selected cases selected after action
1 parent 9d6d641 commit 9df70d4

2 files changed

Lines changed: 5 additions & 11 deletions

File tree

packages/app-builder/src/components/Cases/Inbox/BatchActions.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { User } from '@app-builder/models';
22
import { Case } from '@app-builder/models/cases';
33
import { Inbox } from '@app-builder/models/inbox';
4+
import { useState } from 'react';
45
import { useTranslation } from 'react-i18next';
56
import * as R from 'remeda';
67
import { Avatar, Button, MenuCommand } from 'ui-design-system';
@@ -26,12 +27,13 @@ export const BatchActions = ({
2627
inboxes,
2728
selectedCases,
2829
}: BatchActionsProps) => {
30+
const [open, setOpen] = useState(false);
2931
const { t } = useTranslation(['common', 'cases']);
3032
const canReopen = selectedCases.some(({ status }) => status === 'closed');
3133
const canClose = selectedCases.some(({ status }) => status !== 'closed');
3234

3335
return (
34-
<MenuCommand.Menu>
36+
<MenuCommand.Menu open={open} onOpenChange={setOpen}>
3537
<MenuCommand.Trigger>
3638
<Button variant="secondary">
3739
<Icon icon="checked" className="size-4" />

packages/app-builder/src/components/Cases/InboxPage.tsx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import { getRoute } from '@app-builder/utils/routes';
2323
import { fromUUIDtoSUUID } from '@app-builder/utils/short-uuid';
2424
import { useEffect, useMemo, useRef } from 'react';
2525
import { useTranslation } from 'react-i18next';
26-
import * as R from 'remeda';
2726
import { omit } from 'remeda';
2827
import shortUUID from 'short-uuid';
2928
import { Button, cn } from 'ui-design-system';
@@ -62,14 +61,8 @@ export const InboxPage = ({
6261
const { orgUsers } = useOrganizationUsers();
6362

6463
const excludedFilters = !inboxId ? ['excludeAssigned'] : undefined;
65-
const {
66-
hasSelectedRows,
67-
rowSelection,
68-
getSelectedRows,
69-
selectionProps,
70-
tableProps,
71-
setRowSelection,
72-
} = useListSelection<Case>(cases, (row) => row.id);
64+
const { hasSelectedRows, rowSelection, getSelectedRows, selectionProps, tableProps } =
65+
useListSelection<Case>(cases, (row) => row.id);
7366
const massUpdateCasesMutation = useMassUpdateCasesMutation();
7467

7568
const paginationSentinelRef = useRef<HTMLDivElement>(null);
@@ -87,7 +80,6 @@ export const InboxPage = ({
8780
const onMassUpdateCases: MassUpdateCasesFn = (params) => {
8881
const selectedCaseIds = getSelectedRows().map((row) => row.id);
8982
massUpdateCasesMutation.mutateAsync({ caseIds: selectedCaseIds, ...params }).then((res) => {
90-
setRowSelection((rows) => R.omit(rows, selectedCaseIds));
9183
revalidate();
9284
});
9385
};

0 commit comments

Comments
 (0)