mirror of
https://github.com/plankanban/planka.git
synced 2025-07-19 13:19:44 +02:00
Initial commit
This commit is contained in:
commit
36fe34e8e1
583 changed files with 91539 additions and 0 deletions
81
client/src/containers/CardContainer.js
Executable file
81
client/src/containers/CardContainer.js
Executable file
|
@ -0,0 +1,81 @@
|
|||
import { bindActionCreators } from 'redux';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import {
|
||||
labelsForCurrentBoardSelector,
|
||||
makeCardByIdSelector,
|
||||
makeLabelsByCardIdSelector,
|
||||
makeNotificationsTotalByCardIdSelector,
|
||||
makeTasksByCardIdSelector,
|
||||
makeUsersByCardIdSelector,
|
||||
membershipsForCurrentProjectSelector,
|
||||
} from '../selectors';
|
||||
import {
|
||||
addLabelToCard,
|
||||
addUserToCard,
|
||||
createLabelInCurrentBoard,
|
||||
deleteCard,
|
||||
deleteLabel,
|
||||
removeLabelFromCard,
|
||||
removeUserFromCard,
|
||||
updateLabel,
|
||||
updateCard,
|
||||
} from '../actions/entry';
|
||||
import Card from '../components/Card';
|
||||
|
||||
const makeMapStateToProps = () => {
|
||||
const cardByIdSelector = makeCardByIdSelector();
|
||||
const usersByCardIdSelector = makeUsersByCardIdSelector();
|
||||
const labelsByCardIdSelector = makeLabelsByCardIdSelector();
|
||||
const tasksByCardIdSelector = makeTasksByCardIdSelector();
|
||||
const notificationsTotalByCardIdSelector = makeNotificationsTotalByCardIdSelector();
|
||||
|
||||
return (state, { id, index }) => {
|
||||
const allProjectMemberships = membershipsForCurrentProjectSelector(state);
|
||||
const allLabels = labelsForCurrentBoardSelector(state);
|
||||
|
||||
const {
|
||||
name, deadline, timer, isPersisted,
|
||||
} = cardByIdSelector(state, id);
|
||||
|
||||
const users = usersByCardIdSelector(state, id);
|
||||
const labels = labelsByCardIdSelector(state, id);
|
||||
const tasks = tasksByCardIdSelector(state, id);
|
||||
const notificationsTotal = notificationsTotalByCardIdSelector(state, id);
|
||||
|
||||
return {
|
||||
id,
|
||||
index,
|
||||
name,
|
||||
deadline,
|
||||
timer,
|
||||
isPersisted,
|
||||
notificationsTotal,
|
||||
users,
|
||||
labels,
|
||||
tasks,
|
||||
allProjectMemberships,
|
||||
allLabels,
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
const mapDispatchToProps = (dispatch, { id }) => bindActionCreators(
|
||||
{
|
||||
onUpdate: (data) => updateCard(id, data),
|
||||
onDelete: () => deleteCard(id),
|
||||
onUserAdd: (userId) => addUserToCard(userId, id),
|
||||
onUserRemove: (userId) => removeUserFromCard(userId, id),
|
||||
onLabelAdd: (labelId) => addLabelToCard(labelId, id),
|
||||
onLabelRemove: (labelId) => removeLabelFromCard(labelId, id),
|
||||
onLabelCreate: (data) => createLabelInCurrentBoard(data),
|
||||
onLabelUpdate: (labelId, data) => updateLabel(labelId, data),
|
||||
onLabelDelete: (labelId) => deleteLabel(labelId),
|
||||
},
|
||||
dispatch,
|
||||
);
|
||||
|
||||
export default connect(
|
||||
makeMapStateToProps,
|
||||
mapDispatchToProps,
|
||||
)(Card);
|
Loading…
Add table
Add a link
Reference in a new issue