@@ -11,6 +11,7 @@ import LoadingIndicator from 'components/LoadingIndicator';
11
11
import SubmissionManagement from 'components/SubmissionManagement/SubmissionManagement' ;
12
12
import React from 'react' ;
13
13
import PT from 'prop-types' ;
14
+ import { safeForDownload } from 'utils/tc' ;
14
15
import { connect } from 'react-redux' ;
15
16
import { Modal , PrimaryButton } from 'topcoder-react-ui-kit' ;
16
17
import { config } from 'topcoder-react-utils' ;
@@ -28,6 +29,14 @@ const theme = {
28
29
29
30
// The container component
30
31
class SubmissionManagementPageContainer extends React . Component {
32
+ constructor ( props ) {
33
+ super ( props ) ;
34
+
35
+ this . state = {
36
+ needReload : false ,
37
+ } ;
38
+ }
39
+
31
40
componentDidMount ( ) {
32
41
const {
33
42
authTokens,
@@ -48,6 +57,23 @@ class SubmissionManagementPageContainer extends React.Component {
48
57
}
49
58
}
50
59
60
+ componentWillReceiveProps ( nextProps ) {
61
+ const {
62
+ loadMySubmissions, authTokens, challengeId, mySubmissions,
63
+ } = nextProps ;
64
+ const { needReload } = this . state ;
65
+
66
+ if ( needReload === false && mySubmissions ) {
67
+ if ( mySubmissions . find ( item => safeForDownload ( item . url ) !== true ) ) {
68
+ this . setState ( { needReload : true } ) ;
69
+ setTimeout ( ( ) => {
70
+ loadMySubmissions ( authTokens , challengeId ) ;
71
+ this . setState ( { needReload : false } ) ;
72
+ } , 2000 ) ;
73
+ }
74
+ }
75
+ }
76
+
51
77
componentDidUpdate ( prevProps ) {
52
78
const {
53
79
loadMySubmissions, authTokens, deletionSucceed, challengeId,
0 commit comments