@@ -356,13 +356,6 @@ export default function ReviewFilesPage({
356356 }
357357 } , [ showLearnMore ] )
358358
359-
360- const isDialogOpen = ( ) => {
361- const dialog = document . getElementById ( dialogId )
362- return dialog && dialog . open
363- }
364-
365-
366359 const openDialog = ( dialogId ) => {
367360 setWidgetState ( WIDGET_STATE . FIXIT )
368361
@@ -387,12 +380,17 @@ export default function ReviewFilesPage({
387380 return
388381 }
389382
390- setDeleteFileQueue ( ( oldQueue ) => {
391- if ( oldQueue . includes ( fileId ) ) {
392- return oldQueue . filter ( ( id ) => id !== fileId )
393- }
394- return [ ...oldQueue , fileId ]
395- } )
383+ url = `file/${ fileId } `
384+
385+ const tempQueue = JSON . parse ( JSON . stringify ( deleteFileQueue ) )
386+ if ( tempQueue . includes ( url ) ) {
387+ tempQueue . filter ( ( q_url ) => q_url !== url )
388+ }
389+ else {
390+ tempQueue . push ( url )
391+ }
392+
393+ setDeleteFileQueue ( tempQueue )
396394 }
397395
398396 const updateSelectAllUnusedFilesToggle = ( newValue ) => {
@@ -401,7 +399,7 @@ export default function ReviewFilesPage({
401399 return
402400 }
403401
404- setDeleteFileQueue ( unusedFiles . map ( ( file ) => file . id ) )
402+ setDeleteFileQueue ( unusedFiles . map ( ( file ) => `files/ ${ file . lmsFileId } ` ) )
405403 }
406404
407405 const getFileTypeDisplay = ( fileType ) => {
@@ -856,8 +854,61 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
856854 }
857855 }
858856
859- const deleteSelectedFiles = ( ) => {
860- console . log ( deleteFileQueue )
857+ const removeFileFromReport = ( fileIds ) => {
858+ const tempReport = Object . assign ( { } , report )
859+
860+ if ( ! Array . isArray ( tempReport . files ) ) {
861+ tempReport . files = Object . values ( tempReport . files )
862+ }
863+
864+ if ( ! tempReport || ! tempReport . files || tempReport . files . length == 0 ) {
865+ return tempReport
866+ }
867+
868+ for ( const id of fileIds ) {
869+ tempReport . files = tempReport . files . filter ( ( file ) => parseInt ( file . lmsFileI ) != id )
870+ }
871+
872+ return tempReport
873+ }
874+
875+ const deleteSelectedFiles = async ( payload ) => {
876+ if ( ! deleteFileQueue || deleteFileQueue ?. length == 0 ) {
877+ return
878+ }
879+
880+ const reomovedFileId = [ ]
881+ const tempQueue = JSON . parse ( JSON . stringify ( deleteFileQueue ) )
882+ console . log ( tempQueue )
883+ try {
884+ const api = new Api ( settings )
885+ while ( tempQueue . length > 0 ) {
886+ let payloadTracker = 0
887+ let paths = [ ]
888+ while ( tempQueue . length > 0 && payloadTracker < payload ) {
889+ paths . push ( tempQueue . pop ( ) )
890+ payloadTracker ++
891+ }
892+ const respone_str = await api . batchDelete ( paths )
893+ const response = await respone_str . json ( )
894+ console . log ( response )
895+ for ( const r of response ) {
896+ reomovedFileId . push ( r . id )
897+ }
898+ }
899+ }
900+ catch ( e ) {
901+ console . error ( e )
902+ }
903+
904+ const newReport = removeFileFromReport ( reomovedFileId )
905+ processNewReport ( newReport )
906+
907+ }
908+
909+ const deleteSelectedFilesWrapper = ( ) => {
910+ const payload = 10
911+ deleteSelectedFiles ( payload )
861912 }
862913
863914 // Wrapper to pass to file form for unreviewing
@@ -1135,7 +1186,7 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
11351186 </ div >
11361187 ) : (
11371188 unusedFiles . map ( ( unusedFile ) => {
1138- const isSelected = deleteFileQueue . includes ( unusedFile . id )
1189+ const isSelected = deleteFileQueue . includes ( `files/ ${ unusedFile . lmsFileId } ` )
11391190 return (
11401191 < label key = { unusedFile . id } htmlFor = { `unused-file-${ unusedFile . id } ` } className = "unused-file-list-item" >
11411192 < input
@@ -1161,7 +1212,7 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
11611212 className = 'btn btn-small btn-icon-left review-files-delete-button'
11621213 tabIndex = '0'
11631214 disabled = { deleteFileQueue . length === 0 }
1164- onClick = { deleteSelectedFiles }
1215+ onClick = { deleteSelectedFilesWrapper }
11651216 >
11661217 < DeleteIcon className = "icon-sm" />
11671218 < div className = "flex-column justify-content-center" > { t ( 'files.button.delete_selected' ) } </ div >
0 commit comments