Files
frontend-app-authoring/src/editors/data/redux/app/reducer.js
connorhaugh 33b2c6a660 feat: image context toolbar (#55)
Note: this removes the crop and rotate functionality from the toolbar, as it requires an image_proxy server or tinymce cloud. https://www.tiny.cloud/docs-4x/plugins/imagetools/#imagetools_proxy. We also need to create a follow up ticket to handle right click behavior.
This is that follow up ticket
2022-04-08 13:23:42 -04:00

55 lines
1.4 KiB
JavaScript

import { createSlice } from '@reduxjs/toolkit';
import { StrictDict } from '../../../utils';
const initialState = {
blockValue: null,
unitUrl: null,
blockContent: null,
saveResponse: null,
blockId: null,
blockTitle: null,
blockType: null,
courseId: null,
editorInitialized: false,
studioEndpointUrl: null,
lmsEndpointUrl: null,
};
// eslint-disable-next-line no-unused-vars
const app = createSlice({
name: 'app',
initialState,
reducers: {
initialize: (state, { payload }) => ({
...state,
studioEndpointUrl: payload.studioEndpointUrl,
lmsEndpointUrl: payload.lmsEndpointUrl,
blockId: payload.blockId,
courseId: payload.courseId,
blockType: payload.blockType,
}),
setUnitUrl: (state, { payload }) => ({ ...state, unitUrl: payload }),
setBlockValue: (state, { payload }) => ({
...state,
blockValue: payload,
blockTitle: payload.data.display_name,
}),
setBlockContent: (state, { payload }) => ({ ...state, blockContent: payload }),
setBlockTitle: (state, { payload }) => ({ ...state, blockTitle: payload }),
setSaveResponse: (state, { payload }) => ({ ...state, saveResponse: payload }),
initializeEditor: (state) => ({ ...state, editorInitialized: true }),
},
});
const actions = StrictDict(app.actions);
const { reducer } = app;
export {
actions,
initialState,
reducer,
};