2016-12-15 16:10:36 +02:00
|
|
|
const React = require('react');
|
|
|
|
const ReactRedux = require('react-redux');
|
2017-01-23 16:00:10 +02:00
|
|
|
const PeopleSection = require('@components/people-list');
|
2017-01-18 19:00:59 +02:00
|
|
|
const selectors = require('@state/selectors');
|
2016-12-20 21:06:02 +02:00
|
|
|
const Section = require('./section');
|
2017-01-23 16:00:10 +02:00
|
|
|
const actions = require('@state/actions');
|
2016-12-15 16:10:36 +02:00
|
|
|
|
|
|
|
const {
|
|
|
|
connect
|
|
|
|
} = ReactRedux;
|
|
|
|
|
2017-01-18 19:00:59 +02:00
|
|
|
const {
|
2017-01-23 16:00:10 +02:00
|
|
|
peopleByOrgIdSelector,
|
2017-01-23 17:47:45 +02:00
|
|
|
orgUISelector,
|
2017-01-25 15:50:27 +02:00
|
|
|
orgIndexSelector,
|
|
|
|
membersSelector,
|
2017-01-18 19:00:59 +02:00
|
|
|
} = selectors;
|
|
|
|
|
2017-01-23 16:00:10 +02:00
|
|
|
const {
|
2017-01-31 13:34:15 +02:00
|
|
|
addMemberToOrg,
|
2017-01-30 16:15:13 +02:00
|
|
|
orgHandleInviteToggle,
|
|
|
|
orgHandlePeopleRoleTooltip,
|
|
|
|
orgHandlePeopleStatusTooltip,
|
|
|
|
orgHandleMemberUpdate,
|
|
|
|
orgRemoveMember,
|
2017-01-23 16:00:10 +02:00
|
|
|
} = actions;
|
2016-12-15 16:10:36 +02:00
|
|
|
|
2016-12-20 21:06:02 +02:00
|
|
|
const People = (props) => {
|
2017-01-18 19:00:59 +02:00
|
|
|
|
2016-12-20 21:06:02 +02:00
|
|
|
return (
|
|
|
|
<Section {...props}>
|
2017-01-23 16:00:10 +02:00
|
|
|
<PeopleSection {...props} />
|
2016-12-20 21:06:02 +02:00
|
|
|
</Section>
|
|
|
|
);
|
2016-12-15 16:10:36 +02:00
|
|
|
};
|
|
|
|
|
2017-01-18 19:00:59 +02:00
|
|
|
const mapStateToProps = (state, {
|
2017-02-07 11:55:18 +02:00
|
|
|
match = {
|
|
|
|
params: {}
|
|
|
|
}
|
2017-01-18 19:00:59 +02:00
|
|
|
}) => ({
|
2017-02-06 20:27:10 +02:00
|
|
|
people: peopleByOrgIdSelector(match.params.org)(state),
|
2017-01-26 16:34:06 +02:00
|
|
|
UI: orgUISelector(state),
|
2017-02-06 20:27:10 +02:00
|
|
|
parentIndex: orgIndexSelector(match.params.org)(state),
|
2017-01-23 17:47:45 +02:00
|
|
|
platformMembers: membersSelector(state)
|
2017-01-18 19:00:59 +02:00
|
|
|
});
|
2016-12-15 16:10:36 +02:00
|
|
|
|
2017-01-23 16:00:10 +02:00
|
|
|
const mapDispatchToProps = (dispatch) => ({
|
2017-01-31 13:50:37 +02:00
|
|
|
addMemember: (member, callback) =>
|
|
|
|
dispatch(addMemberToOrg(member, callback)),
|
2017-02-20 18:15:36 +02:00
|
|
|
handleToggle: () =>
|
|
|
|
dispatch(orgHandleInviteToggle()),
|
|
|
|
handleStatusTooltip: (id) =>
|
|
|
|
dispatch(orgHandlePeopleStatusTooltip(id)),
|
|
|
|
handleRoleTooltip: (id) =>
|
|
|
|
dispatch(orgHandlePeopleRoleTooltip(id)),
|
2017-01-25 18:15:06 +02:00
|
|
|
handleMemberUpdate: (updatedMember) =>
|
2017-02-20 18:15:36 +02:00
|
|
|
dispatch(orgHandleMemberUpdate(updatedMember)),
|
2017-01-25 18:37:26 +02:00
|
|
|
removeMember: (removeData) =>
|
2017-02-20 18:15:36 +02:00
|
|
|
dispatch(orgRemoveMember(removeData))
|
2017-01-23 16:00:10 +02:00
|
|
|
});
|
2016-12-15 16:10:36 +02:00
|
|
|
|
2017-01-18 19:00:59 +02:00
|
|
|
module.exports = connect(
|
|
|
|
mapStateToProps,
|
|
|
|
mapDispatchToProps
|
|
|
|
)(People);
|