11/* eslint-disable @typescript-eslint/no-explicit-any */
2+ import { Divider } from '../../base' ;
23import { Modal , ModalBody , ModalButtonPrimary , ModalButtonSecondary , ModalFooter } from '../Modal' ;
34import { TransferList } from '../TransferModal/TransferList' ;
45import { 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
2743const 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 >
0 commit comments