Skip to content

Commit 7af91ee

Browse files
authored
Merge pull request #443 from Jlu18/course-settings
Modify lesson so each lesson will load the settings from backend
2 parents 0f47a5a + db3887b commit 7af91ee

4 files changed

Lines changed: 19 additions & 5 deletions

File tree

src/actions/courseActions.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export function fetchCourse(courseId) {
6363
}
6464

6565
dispatch(loadLesson(json.lessons[0] || ""));
66+
dispatch(sceneActions.loadSettings(json.lessons[0].settings || {}));
6667
dispatch(render(json.lessons[0].code || ""));
6768
dispatch(updateSavedText(json.lessons[0].code || ""));
6869
dispatch(sceneActions.setNameDesc(
@@ -96,6 +97,8 @@ export function loadCourse(course) {
9697
export function fetchLesson(json) {
9798
return (dispatch) => {
9899
dispatch(loadLesson(json));
100+
dispatch(sceneActions.resetSettings());
101+
dispatch(sceneActions.loadSettings(json.settings || {}));
99102
dispatch(render(json.code || ""));
100103
dispatch(updateSavedText(json.code || ""));
101104
dispatch(sceneActions.nameScene(json.name));

src/actions/sceneActions.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,12 @@ export function loadSettings(payload) {
7272
return { type: types.LOAD_SETTINGS, payload };
7373
}
7474

75-
export function changeSetting(payload) {
76-
return { type: types.LOAD_SETTINGS, payload };
75+
export function changeSettings(payload) {
76+
return { type: types.CHANGE_SETTINGS, payload };
77+
}
78+
79+
export function resetSettings() {
80+
return { type: types.RESET_SETTINGS };
7781
}
7882

7983
export function addCollectionID(payload) {
@@ -105,7 +109,8 @@ export default {
105109
toggleFly,
106110
toggleFloor,
107111
loadSettings,
108-
changeSetting,
112+
changeSettings,
113+
resetSettings,
109114
addCollectionID,
110115
setDesc,
111116
setNameDesc,

src/constants/ActionTypes.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ export const CHANGE_VIEW = "CHANGE_VIEW";
3636
export const TOGGLE_FLY = "TOGGLE_FLY";
3737
export const TOGGLE_FLOOR = "TOGGLE_FLOOR";
3838
export const LOAD_SETTINGS = "LOAD_SETTINGS";
39-
export const CHANGE_SETTING = "CHANGE_SETTING";
39+
export const CHANGE_SETTINGS = "CHANGE_SETTINGS";
40+
export const RESET_SETTINGS = "RESET_SETTINGS";
4041
export const ADD_CLASSROOM = "ADD_CLASSROOM";
4142
export const REMOVE_CLASSROOM = "REMOVE_CLASSROOM";
4243
export const SET_DESC = "SET_DESC";

src/reducers/scene.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export default function scene(state = initial_state, action) {
135135
name: action.payload.name,
136136
desc: action.payload.desc
137137
};
138-
case types.CHANGE_SETTING:
138+
case types.CHANGE_SETTINGS:
139139
const { param, val } = action.payload;
140140
return {
141141
...state,
@@ -144,6 +144,11 @@ export default function scene(state = initial_state, action) {
144144
[param]: val
145145
}
146146
};
147+
case types.RESET_SETTINGS:
148+
return {
149+
...state,
150+
settings: DEF_SETTINGS
151+
};
147152
case types.TOGGLE_DEFAULT_LIGHT:
148153
return {
149154
...state,

0 commit comments

Comments
 (0)