@@ -227,6 +227,10 @@ export const projectState = function (state=initialState, action) {
227227 project : {
228228 ...state . project ,
229229 members : action . payload
230+ } ,
231+ projectNonDirty : {
232+ ...state . projectNonDirty ,
233+ members : action . payload
230234 }
231235 } )
232236 }
@@ -236,20 +240,31 @@ export const projectState = function (state=initialState, action) {
236240 project : {
237241 ...state . project ,
238242 invites : action . payload
243+ } ,
244+ projectNonDirty : {
245+ ...state . projectNonDirty ,
246+ invites : action . payload
239247 }
240248 } )
241249 }
242250
243251 case LOAD_PROJECT_MEMBER_SUCCESS : {
244252 const member = action . payload
245253 const index = _ . findIndex ( state . project . members , ( o ) => o . userId === parseInt ( member . userId ) )
254+ const updatedMembers = (
255+ index >= 0 ? [ ...state . project . members . slice ( 0 , index ) ,
256+ member ,
257+ ...state . project . members . slice ( index + 1 )
258+ ] : state . project . members . concat ( [ action . payload ] )
259+ )
246260 return Object . assign ( { } , state , {
247261 project : {
248262 ...state . project ,
249- members : index >= 0 ? [ ...state . project . members . slice ( 0 , index ) ,
250- member ,
251- ...state . project . members . slice ( index + 1 )
252- ] : state . project . members . concat ( [ action . payload ] )
263+ members : updatedMembers
264+ } ,
265+ projectNonDirty : {
266+ ...state . projectNonDirty ,
267+ members : updatedMembers
253268 }
254269 } )
255270 }
@@ -260,6 +275,11 @@ export const projectState = function (state=initialState, action) {
260275 ...state . project ,
261276 members : action . payload . members ,
262277 invites : action . payload . invites ,
278+ } ,
279+ projectNonDirty : {
280+ ...state . projectNonDirty ,
281+ members : action . payload . members ,
282+ invites : action . payload . invites ,
263283 }
264284 } )
265285 }
0 commit comments