raonkupload-react
Version:
React component for RAON K Upload
47 lines (38 loc) • 973 B
JSX
/* eslint-disable react/prop-types */
import * as React from 'react';
import { useRaonkUpload } from 'raonkupload-react';
const { useEffect, useState } = React;
/**
* Custom `RaonkUpload` component built on top of `useRaonkUpload` hook.
*/
function RaonkUpload( { config, debug, mode, runtimes, componentUrl, id } ) {
const [ element, setElement ] = useState();
/**
* Sets initial value of `mode`.
*/
if ( config && mode ) {
config.Mode = mode;
}
const { component, status } = useRaonkUpload( {
debug,
element,
config,
componentUrl,
runtimes
} );
/**
* Toggles `mode` on runtime.
*/
useEffect( () => {
if ( component && status === 'ready' ) {
( RAONKUPLOAD.IsLoadedUploadEx(component.object.ID) ) && ( RAONKUPLOAD.SetUploadMode(mode, component.object.ID) );
}
}, [ component, mode ] );
return (
<div
id={id}
ref={setElement}
></div>
);
}
export default RaonkUpload;