@@ -478,6 +478,59 @@ class SubmissionsComponent extends React.Component {
478
478
) : null
479
479
}
480
480
< 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
+ }
481
534
{
482
535
! isMM && (
483
536
< div styleName = "head" >
@@ -603,58 +656,6 @@ class SubmissionsComponent extends React.Component {
603
656
</ div >
604
657
)
605
658
}
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
- }
658
659
{
659
660
isMM && (
660
661
< div styleName = { `sub-head ${ viewAsTable ? 'sub-head-table' : '' } ` } >
0 commit comments