@@ -478,6 +478,59 @@ class SubmissionsComponent extends React.Component {
478478 ) : null
479479 }
480480 < div styleName = { `${ viewAsTable ? 'view-as-table' : '' } ` } >
481+ {
482+ ( ( numWinners > 0 || challenge . status === CHALLENGE_STATUS . COMPLETED )
483+ && ( isMM || isRDM ) && isLoggedIn ) && (
484+ < div styleName = "block-download-all" >
485+ < button
486+ disabled = { downloadingAll }
487+ styleName = "download MM"
488+ onClick = { ( ) => {
489+ // download submission
490+ this . setState ( {
491+ downloadingAll : true ,
492+ } ) ;
493+ const submissionsService = getService ( auth . m2mToken ) ;
494+ const allFiles = [ ] ;
495+ let downloadedFile = 0 ;
496+ const checkToCompressFiles = ( ) => {
497+ if ( downloadedFile === sortedSubmissions . length ) {
498+ if ( downloadedFile > 0 ) {
499+ compressFiles ( allFiles , 'all-submissions.zip' , ( ) => {
500+ this . setState ( {
501+ downloadingAll : false ,
502+ } ) ;
503+ } ) ;
504+ } else {
505+ this . setState ( {
506+ downloadingAll : false ,
507+ } ) ;
508+ }
509+ }
510+ } ;
511+ checkToCompressFiles ( ) ;
512+ _ . forEach ( sortedSubmissions , ( submission ) => {
513+ const mmSubmissionId = submission . submissions
514+ ? getSubmissionId ( submission . submissions ) : submission . id ;
515+ submissionsService . downloadSubmission ( mmSubmissionId )
516+ . then ( ( blob ) => {
517+ const file = new File ( [ blob ] , `submission-${ mmSubmissionId } .zip` ) ;
518+ allFiles . push ( file ) ;
519+ downloadedFile += 1 ;
520+ checkToCompressFiles ( ) ;
521+ } ) . catch ( ( ) => {
522+ downloadedFile += 1 ;
523+ checkToCompressFiles ( ) ;
524+ } ) ;
525+ } ) ;
526+ } }
527+ type = "button"
528+ >
529+ Download All
530+ </ button >
531+ </ div >
532+ )
533+ }
481534 {
482535 ! isMM && (
483536 < div styleName = "head" >
@@ -603,58 +656,6 @@ class SubmissionsComponent extends React.Component {
603656 </ div >
604657 )
605658 }
606- {
607- ( ( numWinners > 0 || challenge . status === CHALLENGE_STATUS . COMPLETED )
608- && ( isMM || isRDM ) && isLoggedIn ) && (
609- < div styleName = "block-download-all" >
610- < button
611- disabled = { downloadingAll }
612- styleName = "download MM"
613- onClick = { ( ) => {
614- // download submission
615- this . setState ( {
616- downloadingAll : true ,
617- } ) ;
618- const submissionsService = getService ( auth . m2mToken ) ;
619- const allFiles = [ ] ;
620- let downloadedFile = 0 ;
621- const checkToCompressFiles = ( ) => {
622- if ( downloadedFile === sortedSubmissions . length ) {
623- if ( downloadedFile > 0 ) {
624- compressFiles ( allFiles , 'all-winners-submissions.zip' , ( ) => {
625- this . setState ( {
626- downloadingAll : false ,
627- } ) ;
628- } ) ;
629- } else {
630- this . setState ( {
631- downloadingAll : false ,
632- } ) ;
633- }
634- }
635- } ;
636- checkToCompressFiles ( ) ;
637- _ . forEach ( sortedSubmissions , ( submission ) => {
638- const mmSubmissionId = isMM && getSubmissionId ( submission . submissions ) ;
639- submissionsService . downloadSubmission ( mmSubmissionId )
640- . then ( ( blob ) => {
641- const file = new File ( [ blob ] , `submission-${ mmSubmissionId } .zip` ) ;
642- allFiles . push ( file ) ;
643- downloadedFile += 1 ;
644- checkToCompressFiles ( ) ;
645- } ) . catch ( ( ) => {
646- downloadedFile += 1 ;
647- checkToCompressFiles ( ) ;
648- } ) ;
649- } ) ;
650- } }
651- type = "button"
652- >
653- Download All
654- </ button >
655- </ div >
656- )
657- }
658659 {
659660 isMM && (
660661 < div styleName = { `sub-head ${ viewAsTable ? 'sub-head-table' : '' } ` } >
0 commit comments