Skip to content

Commit 2a6592b

Browse files
committed
Rewrite unit info reducer to update current Unit model
1 parent b08a248 commit 2a6592b

File tree

2 files changed

+22
-23
lines changed

2 files changed

+22
-23
lines changed

src/app/reducers/rootReducer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import editingFeatureReducer from "features/editing/editingReducer";
1818
const combinedReducer = combineReducers({
1919
entities : entitiesReducer,
2020
editingEntities : editingEntitiesReducer,
21-
unitInfo : unitInfoReducer,
2221
pilots : pilotsReducer,
2322
mechs : mechsReducer,
2423
tabs : tabReducer,
@@ -31,6 +30,7 @@ const rootReducer = reduceReducers(
3130
combinedReducer,
3231
entityCrudReducer,
3332
editingFeatureReducer,
33+
unitInfoReducer,
3434
);
3535

3636
export default rootReducer;
Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,40 @@
1-
import {createReducer} from "common/utils/reducerUtils";
1+
import orm from "app/schema";
2+
import {createConditionalSliceReducer} from "common/utils/reducerUtils";
23

3-
import {DATA_LOADED} from "features/tools/toolConstants";
44
import {
55
UNIT_INFO_UPDATE,
66
UNIT_INFO_SET_COLOR,
77
} from "./unitInfoConstants";
88

9-
const initialState = {
10-
name : "N/A",
11-
affiliation : "",
12-
color : "blue"
13-
};
149

15-
function dataLoaded(state, payload) {
16-
const {unit} = payload;
10+
function updateUnitInfo(state, payload) {
11+
const session = orm.session(state);
12+
const {Unit} = session;
1713

18-
return unit;
19-
}
14+
const currentUnit = Unit.all().first();
2015

21-
function updateUnitInfo(state, payload) {
22-
return {
23-
...state,
24-
...payload,
25-
};
16+
if(currentUnit) {
17+
currentUnit.update(payload);
18+
}
19+
20+
return session.state;
2621
}
2722

2823
function setUnitColor(state, payload) {
2924
const {color} = payload;
25+
const session = orm.session(state);
26+
const {Unit} = session;
27+
28+
const currentUnit = Unit.all().first();
29+
30+
if(currentUnit) {
31+
currentUnit.color = color;
32+
}
3033

31-
return {
32-
...state,
33-
color
34-
};
34+
return session.state;
3535
}
3636

37-
export default createReducer(initialState, {
38-
[DATA_LOADED] : dataLoaded,
37+
export default createConditionalSliceReducer("entities", {
3938
[UNIT_INFO_UPDATE] : updateUnitInfo,
4039
[UNIT_INFO_SET_COLOR] : setUnitColor,
4140
});

0 commit comments

Comments
 (0)