web: People: Fixed mass re-render on group-buttons actions

This commit is contained in:
Alexey Safronov 2019-11-20 11:27:33 +03:00
parent df767e3849
commit 96a3a60c1c

View File

@ -14,6 +14,7 @@ import {
PAGE_COUNT, PAGE_COUNT,
EmployeeStatus EmployeeStatus
} from "../../helpers/constants"; } from "../../helpers/constants";
import unionBy from 'lodash/unionBy';
export const SET_GROUPS = "SET_GROUPS"; export const SET_GROUPS = "SET_GROUPS";
export const SET_USERS = "SET_USERS"; export const SET_USERS = "SET_USERS";
@ -190,11 +191,14 @@ function fetchPeopleByFilter(dispatch, filter) {
} }
export function updateUserStatus(status, userIds) { export function updateUserStatus(status, userIds) {
return dispatch => { return (dispatch, getState) => {
return api.updateUserStatus(status, userIds).then(users => { return api.updateUserStatus(status, userIds).then(users => {
users.forEach(user => { const { people } = getState();
dispatch(setUser(user)); const { users: currentUsers } = people;
});
const newUsers = unionBy(users, currentUsers, "id");
dispatch(setUsers(newUsers));
}); });
}; };
} }