diff --git a/src/editors/AdvancedEditor.tsx b/src/editors/AdvancedEditor.tsx new file mode 100644 index 0000000000..e081a443d4 --- /dev/null +++ b/src/editors/AdvancedEditor.tsx @@ -0,0 +1,18 @@ +import { LibraryBlock } from '../library-authoring/LibraryBlock'; +import { EditorModalWrapper } from './containers/EditorContainer'; + +interface AdvancedEditorProps { + usageKey: string, + onClose: Function | null, +} + +const AdvancedEditor = ({ usageKey, onClose }: AdvancedEditorProps) => ( + void}> + + +); + +export default AdvancedEditor; diff --git a/src/editors/Editor.tsx b/src/editors/Editor.tsx index 8e52448242..33f24c9f39 100644 --- a/src/editors/Editor.tsx +++ b/src/editors/Editor.tsx @@ -2,14 +2,13 @@ // as its parent, so they are tested together in EditorPage.test.tsx import React from 'react'; import { useDispatch } from 'react-redux'; -import { FormattedMessage } from '@edx/frontend-platform/i18n'; -import messages from './messages'; import * as hooks from './hooks'; import supportedEditors from './supportedEditors'; import type { EditorComponent } from './EditorComponent'; import { useEditorContext } from './EditorContext'; +import AdvancedEditor from './AdvancedEditor'; export interface Props extends EditorComponent { blockType: string; @@ -43,9 +42,17 @@ const Editor: React.FC = ({ const { fullScreen } = useEditorContext(); const EditorComponent = supportedEditors[blockType]; - const innerEditor = (EditorComponent !== undefined) - ? - : ; + + if (EditorComponent === undefined && blockId) { + return ( + + ); + } + + const innerEditor = ; if (fullScreen) { return ( diff --git a/src/editors/messages.ts b/src/editors/messages.ts index 4b1134a270..1ac257514e 100644 --- a/src/editors/messages.ts +++ b/src/editors/messages.ts @@ -2,11 +2,6 @@ import { defineMessages } from '@edx/frontend-platform/i18n'; const messages = defineMessages({ - couldNotFindEditor: { - id: 'authoring.editorpage.selecteditor.error', - defaultMessage: 'Error: Could Not find Editor', - description: 'Error Message Dispayed When An unsopported Editor is desired in V2', - }, dropVideoFileHere: { defaultMessage: 'Drag and drop video here or click to upload', id: 'VideoUploadEditor.dropVideoFileHere', diff --git a/src/library-authoring/LibraryBlock/LibraryBlock.tsx b/src/library-authoring/LibraryBlock/LibraryBlock.tsx index 4397090edd..e635f1f8ba 100644 --- a/src/library-authoring/LibraryBlock/LibraryBlock.tsx +++ b/src/library-authoring/LibraryBlock/LibraryBlock.tsx @@ -10,6 +10,7 @@ interface LibraryBlockProps { onBlockNotification?: (event: { eventType: string; [key: string]: any }) => void; usageKey: string; version?: VersionSpec; + view?: string; } /** * React component that displays an XBlock in a sandboxed IFrame. @@ -20,7 +21,12 @@ interface LibraryBlockProps { * cannot access things like the user's cookies, nor can it make GET/POST * requests as the user. However, it is allowed to call any XBlock handlers. */ -export const LibraryBlock = ({ onBlockNotification, usageKey, version }: LibraryBlockProps) => { +export const LibraryBlock = ({ + onBlockNotification, + usageKey, + version, + view, +}: LibraryBlockProps) => { const iframeRef = useRef(null); const [iFrameHeight, setIFrameHeight] = useState(50); const studioBaseUrl = getConfig().STUDIO_BASE_URL; @@ -71,6 +77,8 @@ export const LibraryBlock = ({ onBlockNotification, usageKey, version }: Library const queryStr = version ? `?version=${version}` : ''; + const xblockView = view ?? 'student_view'; + return (
> = () => {