@@ -17,6 +17,7 @@ import {
1717 Row ,
1818 getSortedRowModel ,
1919} from '@tanstack/react-table' ;
20+ import DeletePopUp from '../../DeletePopUp/DeletePopUp' ;
2021export default function DeletePopUpForOrphanNodes ( {
2122 deleteHandler,
2223 loading,
@@ -30,6 +31,7 @@ export default function DeletePopUpForOrphanNodes({
3031 const { userCredentials } = useCredentials ( ) ;
3132 const [ rowSelection , setRowSelection ] = useState < Record < string , boolean > > ( { } ) ;
3233 const tableRef = useRef ( null ) ;
34+ const [ showDeletePopUp , setshowDeletePopUp ] = useState < boolean > ( false ) ;
3335
3436 const fetchOrphanNodes = useCallback ( async ( ) => {
3537 try {
@@ -64,7 +66,7 @@ export default function DeletePopUpForOrphanNodes({
6466 const columns = useMemo (
6567 ( ) => [
6668 {
67- id : 'select ' ,
69+ id : 'Check to Delete All Files ' ,
6870 header : ( { table } : { table : Table < orphanNodeProps > } ) => {
6971 return (
7072 < Checkbox
@@ -80,7 +82,7 @@ export default function DeletePopUpForOrphanNodes({
8082 < Checkbox
8183 aria-label = 'row-checkbox'
8284 onChange = { row . getToggleSelectedHandler ( ) }
83- title = 'select row for deletion '
85+ title = 'Select the Row for Deletion '
8486 checked = { row . getIsSelected ( ) }
8587 />
8688 </ div >
@@ -118,7 +120,7 @@ export default function DeletePopUpForOrphanNodes({
118120 id : 'Connnected Documents' ,
119121 cell : ( info ) => {
120122 return (
121- < Flex >
123+ < Flex className = 'textellipsis' >
122124 { Array . from ( new Set ( [ ...info . getValue ( ) ] ) ) . map ( ( d , index ) => (
123125 < Flex key = { `d${ index } ` } flexDirection = 'row' >
124126 < span >
@@ -168,16 +170,41 @@ export default function DeletePopUpForOrphanNodes({
168170 } ,
169171 } ) ;
170172
173+ const selectedFilesCheck = table . getSelectedRowModel ( ) . rows . length
174+ ? `Delete Selected Nodes (${ table . getSelectedRowModel ( ) . rows . length } )`
175+ : 'Select Node(s) to delete' ;
176+
177+ const onDeleteHandler = async ( ) => {
178+ await deleteHandler ( table . getSelectedRowModel ( ) . rows . map ( ( r ) => r . id ) ) ;
179+ const selectedRows = table . getSelectedRowModel ( ) . rows . map ( ( r ) => r . id ) ;
180+ setTotalOrphanNodes ( ( prev ) => prev - selectedRows . length ) ;
181+ selectedRows . forEach ( ( eid : string ) => {
182+ setOrphanNodes ( ( prev ) => prev . filter ( ( node ) => node . e . elementId != eid ) ) ;
183+ } ) ;
184+ setshowDeletePopUp ( false ) ;
185+ if ( totalOrphanNodes ) {
186+ await fetchOrphanNodes ( ) ;
187+ }
188+ } ;
189+
171190 return (
172191 < div >
192+ { showDeletePopUp && (
193+ < DeletePopUp
194+ open = { showDeletePopUp }
195+ no_of_files = { table . getSelectedRowModel ( ) . rows . length ?? 0 }
196+ deleteHandler = { onDeleteHandler }
197+ deleteCloseHandler = { ( ) => setshowDeletePopUp ( false ) }
198+ loading = { loading }
199+ view = 'settingsView'
200+ />
201+ ) }
173202 < div >
174203 < Flex flexDirection = 'column' >
175204 < Flex justifyContent = 'space-between' flexDirection = 'row' >
176205 < Typography variant = 'subheading-large' > Orphan Nodes Deletion (100 nodes per batch)</ Typography >
177- { totalOrphanNodes > 0 ? (
206+ { totalOrphanNodes > 0 && (
178207 < Typography variant = 'subheading-large' > Total Nodes: { totalOrphanNodes } </ Typography >
179- ) : (
180- < > </ >
181208 ) }
182209 </ Flex >
183210 < Flex justifyContent = 'space-between' flexDirection = 'row' >
@@ -221,19 +248,9 @@ export default function DeletePopUpForOrphanNodes({
221248 } ,
222249 } }
223250 />
224- < Flex className = 'mt-1 ' flexDirection = 'row' justifyContent = 'flex-end' >
251+ < Flex className = 'mt-3 ' flexDirection = 'row' justifyContent = 'flex-end' >
225252 < ButtonWithToolTip
226- onClick = { async ( ) => {
227- await deleteHandler ( table . getSelectedRowModel ( ) . rows . map ( ( r ) => r . id ) ) ;
228- const selectedRows = table . getSelectedRowModel ( ) . rows . map ( ( r ) => r . id ) ;
229- setTotalOrphanNodes ( ( prev ) => prev - selectedRows . length ) ;
230- selectedRows . forEach ( ( eid : string ) => {
231- setOrphanNodes ( ( prev ) => prev . filter ( ( node ) => node . e . elementId != eid ) ) ;
232- } ) ;
233- if ( totalOrphanNodes ) {
234- await fetchOrphanNodes ( ) ;
235- }
236- } }
253+ onClick = { ( ) => setshowDeletePopUp ( true ) }
237254 size = 'large'
238255 loading = { loading }
239256 text = {
@@ -249,9 +266,7 @@ export default function DeletePopUpForOrphanNodes({
249266 disabled = { ! table . getSelectedRowModel ( ) . rows . length }
250267 placement = 'top'
251268 >
252- { table . getSelectedRowModel ( ) . rows . length
253- ? `Delete Selected Nodes (${ table . getSelectedRowModel ( ) . rows . length } )`
254- : 'Select Node(s) to delete' }
269+ { selectedFilesCheck }
255270 </ ButtonWithToolTip >
256271 </ Flex >
257272 </ div >
0 commit comments