diff --git a/health/micro-ui/web/micro-ui-internals/example/public/index.html b/health/micro-ui/web/micro-ui-internals/example/public/index.html
index 751d04de13..59cad0fdee 100644
--- a/health/micro-ui/web/micro-ui-internals/example/public/index.html
+++ b/health/micro-ui/web/micro-ui-internals/example/public/index.html
@@ -12,7 +12,8 @@
DIGIT
-
+
+
diff --git a/health/micro-ui/web/micro-ui-internals/packages/css/package.json b/health/micro-ui/web/micro-ui-internals/packages/css/package.json
index 18c0aa402c..d11c662dd2 100644
--- a/health/micro-ui/web/micro-ui-internals/packages/css/package.json
+++ b/health/micro-ui/web/micro-ui-internals/packages/css/package.json
@@ -1,6 +1,6 @@
{
"name": "@egovernments/digit-ui-health-css",
- "version": "0.2.41",
+ "version": "0.2.42",
"license": "MIT",
"main": "dist/index.css",
"author": "Jagankumar ",
@@ -66,4 +66,4 @@
"digit-ui",
"css"
]
-}
\ No newline at end of file
+}
diff --git a/health/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/campaign.scss b/health/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/campaign.scss
index 723e6f61b2..4cd4193959 100644
--- a/health/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/campaign.scss
+++ b/health/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/campaign.scss
@@ -269,7 +269,7 @@
}
.digit-popup-wrapper.custom-pop-up-mapping {
- width: fit-content !important;
+ max-width: 35rem;
.digit-popup-footer {
diff --git a/health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/AddOrEditMapping.js b/health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/AddOrEditMapping.js
index 1e59447401..4ef8e0fe84 100644
--- a/health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/AddOrEditMapping.js
+++ b/health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/AddOrEditMapping.js
@@ -62,7 +62,10 @@ const AddOrEditMapping = forwardRef(({ schema, dispatch, boundaryHierarchy, all
{
return (
-
+
+
+ *
+
-
+
+
+ *
+
{
updated: true,
};
case "EDIT_DATA":
- const editedData = state.data.map(item =>
+ const editedData = state.data.map(item =>
item.id === action.payload.id ? { ...item, ...action.payload } : item
);
return {
@@ -108,8 +108,8 @@ const reducer = (state, action) => {
// };
// }
// Check facility code first, if not present then check facility name
- if ((facilityCode && facilityCode === action?.payload?.row?.[action.t("HCM_ADMIN_CONSOLE_FACILITY_CODE")]) ||
- (!facilityCode && facilityName === action?.payload?.row?.[action.t(action?.schemas?.find((i) => i.description === "Facility Name")?.name)])) {
+ if ((facilityCode && facilityCode === action?.payload?.row?.[action.t("HCM_ADMIN_CONSOLE_FACILITY_CODE")]) ||
+ (!facilityCode && facilityName === action?.payload?.row?.[action.t(action?.schemas?.find((i) => i.description === "Facility Name")?.name)])) {
return {
...item,
[BoundaryLoc]: action?.payload?.selectedBoundary?.map((i) => i?.code)?.join(","),
@@ -158,8 +158,8 @@ const reducer = (state, action) => {
// };
// }
// return item;
- if ((facilityCode && facilityCode === action?.payload?.row?.[action.t("HCM_ADMIN_CONSOLE_FACILITY_CODE")]) ||
- (!facilityCode && facilityName === action?.payload?.row?.[action.t(action?.schemas?.find((i) => i.description === "Facility Name")?.name)])) {
+ if ((facilityCode && facilityCode === action?.payload?.row?.[action.t("HCM_ADMIN_CONSOLE_FACILITY_CODE")]) ||
+ (!facilityCode && facilityName === action?.payload?.row?.[action.t(action?.schemas?.find((i) => i.description === "Facility Name")?.name)])) {
return {
...item,
[ActiveLoc]: action?.payload?.selectedStatus?.code,
@@ -186,10 +186,10 @@ const reducer = (state, action) => {
case "FILTER_BY_ACTIVE":
const tempFilter = action.payload?.filter
? state.data?.filter((i) =>
- action?.currentCategories === "HCM_UPLOAD_USER_MAPPING"
- ? i?.[action.t(action?.schemas?.find((i) => i.description === "User Usage")?.name)] === "Active"
- : i?.[action.t(action?.schemas?.find((i) => i.description === "Facility usage")?.name)] === "Active"
- )
+ action?.currentCategories === "HCM_UPLOAD_USER_MAPPING"
+ ? i?.[action.t(action?.schemas?.find((i) => i.description === "User Usage")?.name)] === "Active"
+ : i?.[action.t(action?.schemas?.find((i) => i.description === "Facility usage")?.name)] === "Active"
+ )
: state.data;
const tempActive = getPageData(tempFilter, 1, state.rowsPerPage);
return {
@@ -539,23 +539,36 @@ function UploadDataMapping({ formData, onSelect, currentCategories }) {
setConvertedSchema(schema);
}
}, [SchemasAJV, type]);
-
+
const validateData = (data) => {
// Phone Number conversion
const phoneNumberKey = t(Schemas?.find((i) => i.description === "Phone Number")?.name);
if (data[phoneNumberKey] !== undefined) {
- data[phoneNumberKey] = Number(data[phoneNumberKey]);
+ data[phoneNumberKey] = Number(data[phoneNumberKey]);
}
// Capacity conversion
const capacityKey = t(Schemas?.find((i) => i.description === "Capacity")?.name);
if (data[capacityKey] !== undefined) {
- data[capacityKey] = Number(data[capacityKey]);
+ data[capacityKey] = Number(data[capacityKey]);
}
const ajv = new Ajv({ strict: false }); // Initialize Ajv
let validate = ajv.compile(translatedSchema[type]);
const errors = []; // Array to hold validation errors
-
+
+ const boundaryCodeFac = t(Schemas?.find((i) => i.description === "Boundary Code")?.name);
+ if (data[boundaryCodeFac]?.trim()?.length === 0) {
+ setShowToast({ label: t("HCM_MAPPING_NO_BOUNDARY_ERROR"), isError: "error" });
+ return
+ }
+
+ const boundaryCode = t(Schemas?.find((i) => i.description === "Boundary Code (Mandatory)")?.name);
+ if (data[boundaryCode]?.trim()?.length === 0) {
+ setShowToast({ label: t("HCM_MAPPING_NO_BOUNDARY_ERROR"), isError: "error" });
+ return
+ }
+
+
data = [data]
data.forEach((item, index) => {
if (!validate(item)) {
@@ -613,27 +626,26 @@ function UploadDataMapping({ formData, onSelect, currentCategories }) {
const childData = childRef.current.getData();
// Convert data types first
const validationResult = validateData(childData);
-
+
if (validationResult.isValid) {
- if(typeOfOperation === "add")
- {
- dispatch({
- type: "ADD_DATA",
- payload: childData,
- schemas: Schemas,
- t: t
+ if (typeOfOperation === "add") {
+ dispatch({
+ type: "ADD_DATA",
+ payload: childData,
+ schemas: Schemas,
+ t: t
});
}
- else{
- dispatch({
- type: "EDIT_DATA",
- payload: childData,
- schemas: Schemas,
- t: t
+ else {
+ dispatch({
+ type: "EDIT_DATA",
+ payload: childData,
+ schemas: Schemas,
+ t: t
});
}
-
+
setShowToast({ label: t("HCM_MAPPING_ADDED"), isError: "success" });
return true;
} else {
@@ -765,7 +777,7 @@ function UploadDataMapping({ formData, onSelect, currentCategories }) {
size={"small"}
isDisabled={row?.[t(Schemas?.find((i) => i.description === "User Usage")?.name)] === "Inactive" ? true : false}
variation={"teritiary"}
- label={listOfBoundaries?.length > 0 ? t("CHANGE_BOUNDARY") : t("ADD _BOUNDARY")}
+ label={Array.isArray(listOfBoundaries) && listOfBoundaries?.length > 0 ? t("CHANGE_BOUNDARY") : t("ADD _BOUNDARY")}
onClick={() => {
setShowPopUp(row);
}}
@@ -779,17 +791,17 @@ function UploadDataMapping({ formData, onSelect, currentCategories }) {
cell: (row) => {
return (