Skip to content

Commit a54c20d

Browse files
authored
Merge pull request #896 from amitamrutiya/support-views
Add support for views in transferList
2 parents 93cf965 + a64543e commit a54c20d

File tree

8 files changed

+540
-3
lines changed

8 files changed

+540
-3
lines changed

src/custom/TransferModal/TransferList/TransferList.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export function getFallbackImageBasedOnKind(kind: string | undefined): JSX.Eleme
2929
}
3030

3131
export interface TransferListProps {
32-
name: string;
32+
name?: string;
3333
assignableData: ListItemType[];
3434
assignedData: (data: ListItemType[]) => void;
3535
originalAssignedData: ListItemType[];

src/custom/Workspaces/AssignmentModal.tsx

+56-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/* eslint-disable @typescript-eslint/no-explicit-any */
2+
import { Divider } from '../../base';
23
import { Modal, ModalBody, ModalButtonPrimary, ModalButtonSecondary, ModalFooter } from '../Modal';
34
import { TransferList } from '../TransferModal/TransferList';
45
import { ModalActionDiv } from './styles';
@@ -22,6 +23,21 @@ interface AssignmentModalProps {
2223
isAssignAllowed: boolean;
2324
isRemoveAllowed: boolean;
2425
helpText: string;
26+
showViews?: boolean;
27+
nameViews?: string;
28+
assignableViewsData?: any[];
29+
handleAssignedViewsData?: (data: any) => void;
30+
originalAssignedViewsData?: any[];
31+
32+
emptyStateViewsIcon?: JSX.Element;
33+
handleAssignableViewsPage?: () => void;
34+
handleAssignedViewsPage?: () => void;
35+
originalLeftViewsCount?: number;
36+
originalRightViewsCount?: number;
37+
onAssignViews?: () => void;
38+
disableTransferViews?: boolean;
39+
isAssignAllowedViews?: boolean;
40+
isRemoveAllowedViews?: boolean;
2541
}
2642

2743
const AssignmentModal: React.FC<AssignmentModalProps> = ({
@@ -42,7 +58,19 @@ const AssignmentModal: React.FC<AssignmentModalProps> = ({
4258
disableTransfer,
4359
isAssignAllowed,
4460
isRemoveAllowed,
45-
helpText
61+
helpText,
62+
showViews,
63+
nameViews,
64+
assignableViewsData,
65+
handleAssignedViewsData,
66+
originalAssignedViewsData,
67+
emptyStateViewsIcon,
68+
handleAssignableViewsPage,
69+
handleAssignedViewsPage,
70+
originalLeftViewsCount,
71+
originalRightViewsCount,
72+
isAssignAllowedViews = false,
73+
isRemoveAllowedViews = false
4674
}) => {
4775
return (
4876
<Modal
@@ -71,6 +99,33 @@ const AssignmentModal: React.FC<AssignmentModalProps> = ({
7199
rightPermission={isRemoveAllowed}
72100
transferComponentType={''}
73101
/>
102+
<Divider
103+
style={{
104+
margin: 'auto',
105+
width: '80%',
106+
marginTop: '22px',
107+
marginBottom: '22px'
108+
}}
109+
/>
110+
{showViews && (
111+
<TransferList
112+
name={nameViews}
113+
assignableData={assignableViewsData || []}
114+
assignedData={handleAssignedViewsData || (() => {})}
115+
originalAssignedData={originalAssignedViewsData || []}
116+
emptyStateIconLeft={emptyStateViewsIcon || <></>}
117+
emtyStateMessageLeft={`No views available`}
118+
emptyStateIconRight={emptyStateViewsIcon || <></>}
119+
emtyStateMessageRight={`No views assigned`}
120+
assignablePage={handleAssignableViewsPage || (() => {})}
121+
assignedPage={handleAssignedViewsPage || (() => {})}
122+
originalLeftCount={originalLeftViewsCount ?? 0}
123+
originalRightCount={originalRightViewsCount ?? 0}
124+
leftPermission={isAssignAllowedViews}
125+
rightPermission={isRemoveAllowedViews}
126+
transferComponentType={''}
127+
/>
128+
)}
74129
</ModalBody>
75130
<ModalFooter variant="filled" helpText={helpText}>
76131
<ModalActionDiv>

src/custom/Workspaces/DesignTable.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ const DesignTable: React.FC<DesignTableProps> = ({
264264
helpText={`Assign Designs to ${workspaceName}`}
265265
isAssignAllowed={isAssignAllowed}
266266
isRemoveAllowed={isRemoveAllowed}
267+
showViews={false}
267268
/>
268269
<GenericRJSFModal
269270
open={publishModal.open}

0 commit comments

Comments
 (0)