From 2dcced8556cc40a81cc504b77427add3dfc74c6c Mon Sep 17 00:00:00 2001 From: siddhant-nawale-egov <162107530+siddhant-nawale-egov@users.noreply.github.com> Date: Mon, 3 Jun 2024 12:37:17 +0530 Subject: [PATCH 1/7] HLM-6172 template download and save and highlight the data after data is adjusted in microplan generation page. --- .../src/components/Hypothesis.js | 8 +-- .../src/components/MicroplanPreview.js | 27 +++++++-- .../src/components/RuleEngine.js | 56 ++++++++++++------- .../src/components/Upload.js | 7 ++- .../src/pages/employee/CreateMicroplan.js | 6 +- .../src/utils/createTemplate.js | 1 - .../hcm-microplanning/src/utils/index.js | 15 +++-- 7 files changed, 79 insertions(+), 41 deletions(-) diff --git a/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/Hypothesis.js b/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/Hypothesis.js index 419dc84524f..12e9bd352ea 100644 --- a/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/Hypothesis.js +++ b/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/Hypothesis.js @@ -107,7 +107,7 @@ const Hypothesis = ({ campaignType = "SMC", microplanData, setMicroplanData, che if (check) { setMicroplanData((previous) => ({ ...previous, hypothesis: assumptions })); let checkValid = validateAssumptions(assumptions); - checkValid = checkValid && assumptions.length !== 0; + checkValid = checkValid && assumptions.filter(subItem => subItem.active).length !== 0; if (checkValid) setCheckDataCompletion("valid"); else setCheckDataCompletion("invalid"); } else { @@ -121,8 +121,8 @@ const Hypothesis = ({ campaignType = "SMC", microplanData, setMicroplanData, che ); const validateAssumptions = useCallback((assumptions) => { - return assumptions.every((item) => Object.values(item).every((data) => data !== "")) && assumptions.length !== 0; - }, []); + return assumptions.filter(subItem => subItem.active).every((item) => Object.values(item).every((data) => data !== "")) && assumptions.length !== 0; + }, [assumptions]); const cancelUpdateData = useCallback(() => { setCheckDataCompletion("false"); @@ -487,7 +487,7 @@ const Select = React.memo(({ item, assumptions, setAssumptions, disabled = false }); setOptions((previous) => { - let newOptions = previous.filter((item) => item !== e?.code); + let newOptions = previous.filter((item) => item.active && item !== e?.code); if (selected && !newOptions.includes(selected)) newOptions.unshift(selected); return newOptions; }); diff --git a/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/MicroplanPreview.js b/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/MicroplanPreview.js index 4283e9a216a..bfcea7614f8 100644 --- a/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/MicroplanPreview.js +++ b/micro-ui/web/micro-ui-internals/packages/modules/hcm-microplanning/src/components/MicroplanPreview.js @@ -141,7 +141,13 @@ const MicroplanPreview = ({ // check if data has changed or not const updateData = useCallback(() => { if (!dataToShow || !setMicroplanData) return; - setMicroplanData((previous) => ({ ...previous, microplanPreview: { previewData: dataToShow } })); + setMicroplanData((previous) => ({ + ...previous, + microplanPreview: { + previewData: dataToShow, + userEditedResources, + }, + })); setCheckDataCompletion("perform-action"); }, [dataToShow, setMicroplanData, setCheckDataCompletion]); @@ -472,6 +478,9 @@ const DataPreview = memo( if (!previewData) return; const [tempResourceChanges, setTempResourceChanges] = useState(userEditedResources); const [selectedRow, setSelectedRow] = useState(); + const conmmonColumnIndex = useMemo(() => { + return previewData?.[0]?.indexOf(commonColumn); + }, [previewData]); if (isCampaignLoading || ishierarchyLoading) { return (