1
1
/* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Divider } from '../../base' ;
2
3
import { Modal , ModalBody , ModalButtonPrimary , ModalButtonSecondary , ModalFooter } from '../Modal' ;
3
4
import { TransferList } from '../TransferModal/TransferList' ;
4
5
import { ModalActionDiv } from './styles' ;
@@ -22,6 +23,21 @@ interface AssignmentModalProps {
22
23
isAssignAllowed : boolean ;
23
24
isRemoveAllowed : boolean ;
24
25
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 ;
25
41
}
26
42
27
43
const AssignmentModal : React . FC < AssignmentModalProps > = ( {
@@ -42,7 +58,19 @@ const AssignmentModal: React.FC<AssignmentModalProps> = ({
42
58
disableTransfer,
43
59
isAssignAllowed,
44
60
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
46
74
} ) => {
47
75
return (
48
76
< Modal
@@ -71,6 +99,33 @@ const AssignmentModal: React.FC<AssignmentModalProps> = ({
71
99
rightPermission = { isRemoveAllowed }
72
100
transferComponentType = { '' }
73
101
/>
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
+ ) }
74
129
</ ModalBody >
75
130
< ModalFooter variant = "filled" helpText = { helpText } >
76
131
< ModalActionDiv >
0 commit comments