Skip to content
This repository has been archived by the owner on Dec 13, 2020. It is now read-only.

Commit

Permalink
#447 Update document save status after row update
Browse files Browse the repository at this point in the history
  • Loading branch information
damianprzygodzki committed Mar 9, 2017
1 parent 6e588e1 commit 4401599
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 1 deletion.
25 changes: 24 additions & 1 deletion src/actions/WindowActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,22 @@ export function updateDataSuccess(item, scope, saveStatus, validStatus) {
}
}

export function updateDataSaveStatus(scope, saveStatus) {
return {
type: types.UPDATE_DATA_SAVE_STATUS,
scope,
saveStatus
}
}

export function updateDataValidStatus(scope, validStatus) {
return {
type: types.UPDATE_DATA_VALID_STATUS,
scope,
validStatus
}
}

export function updateRowSuccess(item, tabid, rowid, scope) {
return {
type: types.UPDATE_ROW_SUCCESS,
Expand Down Expand Up @@ -378,9 +394,16 @@ function mapDataToState(data, isModal, rowId, id, windowType) {
if (rowId === 'NEW') {
dispatch(addNewRow(item, item.tabid, item.rowId, 'master'))
} else {

if(item.rowId){
dispatch(updateRowStatus(getScope(isModal), item.tabid, item.rowId, item.saveStatus));
}else{
item.validStatus && dispatch(updateDataValidStatus(getScope(isModal), item.validStatus));
item.saveStatus && dispatch(updateDataSaveStatus(getScope(isModal), item.saveStatus));
}

item.fields.map(field => {
if (rowId && !isModal) {
dispatch(updateRowStatus(getScope(isModal), item.tabid, item.rowId, item.saveStatus));
dispatch(updateRowSuccess(field, item.tabid, item.rowId, getScope(isModal)));
} else {
if (rowId) {
Expand Down
3 changes: 3 additions & 0 deletions src/constants/ActionTypes.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ export const UPDATE_DATA_SUCCESS = 'UPDATE_DATA_SUCCESS';
export const UPDATE_DATA_PROPERTY = 'UPDATE_DATA_PROPERTY';
export const UPDATE_ROW_PROPERTY = 'UPDATE_ROW_PROPERTY';
export const UPDATE_ROW_STATUS = 'UPDATE_ROW_STATUS';

export const UPDATE_DATA_VALID_STATUS = 'UPDATE_DATA_VALID_STATUS';
export const UPDATE_DATA_SAVE_STATUS = 'UPDATE_DATA_SAVE_STATUS';
// END OF SCOPED ACTIONS

// INDICATOR ACTIONS
Expand Down
14 changes: 14 additions & 0 deletions src/reducers/windowHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,20 @@ export default function windowHandler(state = initialState, action) {
}
})

case types.UPDATE_DATA_VALID_STATUS:
return Object.assign({}, state, {
[action.scope]: Object.assign({}, state[action.scope], {
validStatus: action.validStatus
})
})

case types.UPDATE_DATA_SAVE_STATUS:
return Object.assign({}, state, {
[action.scope]: Object.assign({}, state[action.scope], {
saveStatus: action.saveStatus
})
})

case types.UPDATE_DATA_SUCCESS:
return Object.assign({}, state, {
[action.scope]: Object.assign({}, state[action.scope], {
Expand Down

0 comments on commit 4401599

Please sign in to comment.