Files
frontend-app-authoring/src/editors/Editor.jsx
Raymond Zhou f135bd2b4a feat: align files with commit 5d52a28 and f9dff0 (#210)
This PR aims to fix the commit mistakes I made when trying to merge with a refactored fork. This will keep the changes I made in the refactor.
2023-01-24 09:43:01 -05:00

64 lines
1.4 KiB
JavaScript

import React from 'react';
import { useDispatch } from 'react-redux';
import PropTypes from 'prop-types';
import { FormattedMessage } from '@edx/frontend-platform/i18n';
import messages from './messages';
import * as hooks from './hooks';
import supportedEditors from './supportedEditors';
export const Editor = ({
learningContextId,
blockType,
blockId,
lmsEndpointUrl,
studioEndpointUrl,
onClose,
}) => {
const dispatch = useDispatch();
hooks.initializeApp({
dispatch,
data: {
blockId,
blockType,
learningContextId,
lmsEndpointUrl,
studioEndpointUrl,
},
});
const EditorComponent = supportedEditors[blockType];
return (
<div className="d-flex flex-column">
<div
className="pgn__modal-fullscreen"
role="dialog"
aria-label={blockType}
>
{(EditorComponent !== undefined)
? <EditorComponent onClose={onClose} />
: <FormattedMessage {...messages.couldNotFindEditor} />}
</div>
</div>
);
};
Editor.defaultProps = {
blockId: null,
learningContextId: null,
lmsEndpointUrl: null,
onClose: null,
studioEndpointUrl: null,
};
Editor.propTypes = {
blockId: PropTypes.string,
blockType: PropTypes.string.isRequired,
learningContextId: PropTypes.string,
lmsEndpointUrl: PropTypes.string,
onClose: PropTypes.func,
studioEndpointUrl: PropTypes.string,
};
export default Editor;