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
JavaScript
'use client';
;
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const general_util_1 = require("../util/general/general.util");
const useRenderIf = ({ elementRenderIf }) => {
const [render, setRender] = (0, react_1.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 (0, general_util_1.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,
};
};
exports.default = useRenderIf;