dext5editor-react
Version:
React component for DEXT5 Editor
40 lines (32 loc) • 869 B
JSX
/* eslint-disable react/prop-types */
import * as React from 'react';
import { useDEXT5Editor } from 'dext5editor-react';
const { useEffect, useState } = React;
/**
* Custom `DEXT5Editor` component built on top of `useDEXT5Editor` hook.
*/
function DEXT5Editor( { config, debug, readOnly, componentUrl, id } ) {
const [ element, setElement ] = useState();
const { component, status } = useDEXT5Editor( {
debug,
element,
config,
componentUrl
} );
/**
* Toggles `readOnly` on runtime.
*/
useEffect( () => {
if ( component && status === 'ready' ) {
debugger;
( DEXT5.IsLoadedEditorEx( component.object.ID ) ) && ( DEXT5.SetReadOnly( readOnly, '', component.object.ID ) );
}
}, [ component, readOnly ] );
return (
<div
id={id}
ref={setElement}
></div>
);
}
export default DEXT5Editor;