UNPKG

dynamic-modal

Version:

The dynamic-modal is a solution of creation different modals into project using a json configuration file

37 lines (36 loc) 1.34 kB
'use client'; import { useState } from 'react'; import { liveDataHandler } from '../util/general/general.util'; const useRenderIf = ({ elementRenderIf }) => { const [render, setRender] = useState(() => { return elementRenderIf === undefined; }); const checkRender = async (formData, { name }) => { const targetFieldData = formData[name]; // if ( // targetFieldData === undefined || // targetFieldData === '' || // targetFieldData === null // ) // return false; const renderIfConfig = elementRenderIf; const isLiveRender = !!renderIfConfig?.action && !!renderIfConfig?.condition; if (isLiveRender && renderIfConfig.condition.includes(name)) { const renderStatus = await liveDataHandler(targetFieldData, formData, renderIfConfig.action); return renderStatus; } else { const renderConditionList = Object.keys(elementRenderIf); if (renderConditionList.includes(name)) { const renderStatus = renderIfConfig[name].includes(targetFieldData) || renderIfConfig[name].includes('*'); return renderStatus; } } }; return { render, checkRender, setRender, }; }; export default useRenderIf;