|
1 |
| -const appendCardsToLane = (state, {laneId, newCards}) => { |
2 |
| - const lanes = state.lanes.map((lane) => { |
3 |
| - if (lane.id === laneId) { |
4 |
| - lane.cards = [...lane.cards, ...newCards] |
5 |
| - } |
6 |
| - return lane |
7 |
| - }) |
8 |
| - return {...state, ...lanes} |
9 |
| -} |
10 |
| - |
11 |
| -const appendCardToLane = (state, {laneId, card}) => { |
12 |
| - return appendCardsToLane(state, {laneId: laneId, newCards: [card]}) |
13 |
| -} |
14 |
| - |
15 |
| -const removeCardFromLane = (state, {laneId, cardId}) => { |
16 |
| - const lanes = state.lanes.map((lane) => { |
17 |
| - if (lane.id === laneId) { |
18 |
| - lane.cards = lane.cards.filter((card) => card.id !== cardId) |
19 |
| - } |
20 |
| - return lane |
21 |
| - }) |
22 |
| - return {...state, ...lanes} |
23 |
| -} |
24 |
| - |
25 |
| -const moveCardAcrossLanes = (state, {fromLaneId, toLaneId, cardId}) => { |
26 |
| - let cardToMove = null |
27 |
| - const interimLanes = state.lanes.map((lane) => { |
28 |
| - if (lane.id === fromLaneId) { |
29 |
| - cardToMove = lane.cards.find((card) => card.id === cardId) |
30 |
| - lane.cards = lane.cards.filter((card) => card.id !== cardId) |
31 |
| - } |
32 |
| - return lane |
33 |
| - }) |
34 |
| - return appendCardToLane({lanes: interimLanes}, {laneId: toLaneId, card: cardToMove}) |
35 |
| -} |
| 1 | +import Lh from '../helpers/lane_helper' |
36 | 2 |
|
37 | 3 | const boardReducer = (state = {lanes: []}, action) => {
|
38 | 4 | switch (action.type) {
|
39 | 5 | case 'LOAD_BOARD':
|
40 | 6 | return action.payload
|
41 | 7 | case 'UPDATE_LANE':
|
42 |
| - return appendCardsToLane(state, action.payload) |
| 8 | + return Lh.appendCardsToLane(state, action.payload) |
43 | 9 | case 'ADD_CARD':
|
44 |
| - return appendCardToLane(state, action.payload) |
| 10 | + return Lh.appendCardToLane(state, action.payload) |
45 | 11 | case 'REMOVE_CARD':
|
46 |
| - return removeCardFromLane(state, action.payload) |
| 12 | + return Lh.removeCardFromLane(state, action.payload) |
47 | 13 | case 'MOVE_CARD':
|
48 |
| - return moveCardAcrossLanes(state, action.payload) |
| 14 | + return Lh.moveCardAcrossLanes(state, action.payload) |
49 | 15 | default:
|
50 | 16 | return state
|
51 | 17 | }
|
|
0 commit comments