UNPKG

dynamic-modal

Version:

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

39 lines (38 loc) 1.45 kB
'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = require("react"); const general_util_1 = require("../util/general/general.util"); const useEnableIf = ({ elementEnableIf }) => { const [enable, setEnable] = (0, react_1.useState)(() => { return elementEnableIf === undefined; }); const checkEnable = async (formData, { name }) => { const targetFieldData = formData[name]; // if ( // targetFieldData === undefined || // targetFieldData === '' || // targetFieldData === null // ) // return false; const enableIfConfig = elementEnableIf; const isLiveEnable = !!enableIfConfig?.action && !!enableIfConfig.condition; if (isLiveEnable && enableIfConfig.condition.includes(name)) { const enableStatus = await (0, general_util_1.liveDataHandler)(targetFieldData, formData, enableIfConfig.action); return enableStatus; } else { const enableConditionList = Object.keys(elementEnableIf); if (enableConditionList.includes(name)) { const enableStatus = enableIfConfig[name].includes(targetFieldData) || enableIfConfig[name].includes('*'); return enableStatus; } } }; return { enable, checkEnable, setEnable, }; }; exports.default = useEnableIf;